from os.path import join, getsize
from shutil import move
from zipfile import ZipFile, is_zipfile, BadZipfile
-
from httplib import responses
from requests import get, codes, RequestException, Timeout, TooManyRedirects, \
HTTPError, ConnectionError
from errors import PresentationError
-
+from utils import execute_command
# Chunk size used for file download
CHUNK_SIZE = 512
response = get(url, stream=True)
code = response.status_code
- # temporary workaround, remove when output.log.xml is not needed
- if code != codes["OK"] and \
- spec.input["file-name"].endswith(".gz"):
- url = '.'.join(url.split('.')[:-1]) + ".log.gz"
- response = get(url, stream=True)
- code = response.status_code
-
if code != codes["OK"]:
logging.warning(
"Jenkins: {0}: {1}.".format(code, responses[code]))
format(job=job, sep=SEPARATOR, build=build["build"],
name=file_name)
try:
- release = "rls".format(int(release))
+ release = "rls{0}".format(int(release))
except ValueError:
pass
url = "{url}/{release}/{dir}/{file}".\
logging.info("{0}: {1}".format(code, responses[code]))
elif spec.input["file-name"].endswith(".gz"):
- rename(new_name, new_name[:-3])
- with open(new_name[:-3], 'r') as xml_file:
- with gzip.open(new_name, 'w') as gz_file:
- gz_file.write(xml_file.read())
+ if "docs.fd.io" in url:
+ execute_command("gzip --decompress --keep --force {0}".
+ format(new_name))
+ else:
+ rename(new_name, new_name[:-3])
+ execute_command("gzip --keep {0}".format(new_name[:-3]))
new_name = new_name[:-3]
status = "downloaded"
logging.info("{0}: {1}".format(code, responses[code]))