CSIT Trending: input files
[csit.git] / resources / tools / presentation / input_data_files.py
index 439c0d8..f763aa1 100644 (file)
@@ -23,13 +23,12 @@ from os import rename, remove
 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
@@ -81,12 +80,6 @@ def download_data_files(spec):
             try:
                 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(
@@ -98,7 +91,11 @@ def download_data_files(spec):
                         nexus_file_name = "{job}{sep}{build}{sep}{name}".\
                             format(job=job, sep=SEPARATOR, build=build["build"],
                                    name=file_name)
-                        url = "{url}/rls{release}/{dir}/{file}".\
+                        try:
+                            release = "rls".format(int(release))
+                        except ValueError:
+                            pass
+                        url = "{url}/{release}/{dir}/{file}".\
                             format(url=spec.environment["urls"]["URL[NEXUS]"],
                                    release=release,
                                    dir=spec.environment["urls"]["DIR[NEXUS]"],
@@ -146,10 +143,12 @@ def download_data_files(spec):
                         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, 'wb') 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]))