- nexus_file_name = "{job}{sep}{build}{sep}{name}". \
- format(job=job, sep=SEPARATOR, build=build["build"], name=file_name)
- try:
- release = "rls{0}".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]"],
- file=nexus_file_name)
- success = _download_file(url, new_name)
+ for idx, rls in enumerate((release, u"master", )):
+ try:
+ rls = f"rls{int(rls)}"
+ except ValueError:
+ # It is master
+ pass
+ url = (
+ f"{spec.environment[u'urls'][u'URL[NEXUS,DOC]']}/"
+ f"{rls}/"
+ f"{spec.environment[u'urls'][u'DIR[NEXUS,DOC]']}/"
+ f"{job}{SEPARATOR}{build[u'build']}{SEPARATOR}{file_name[idx]}"
+ )
+
+ logging.info(f"Downloading {url}")
+
+ new_name = join(
+ spec.environment[u"paths"][u"DIR[WORKING,DATA]"],
+ f"{job}{SEPARATOR}{build[u'build']}{SEPARATOR}{file_name[idx]}"
+ )
+ success, downloaded_name = _download_file(url, new_name, arch=arch)
+ if success:
+ file_name = file_name[idx]
+ if file_name.endswith(u".gz"):
+ with gzip.open(downloaded_name[:-3], u"rb") as gzip_file:
+ file_content = gzip_file.read()
+ with open(downloaded_name[:-3], u"wb") as xml_file:
+ xml_file.write(file_content)
+ break
+
+ # if not success:
+ # # Try to download .zip from jenkins.fd.io
+ # file_name = spec.input[u"zip-file-name"]
+ # download_path = spec.input[u"zip-download-path"]
+ # if job.startswith(u"csit-"):
+ # url = spec.environment[u"urls"][u"URL[JENKINS,CSIT]"]
+ # else:
+ # raise PresentationError(f"No url defined for the job {job}.")
+ #
+ # full_name = download_path.format(
+ # job=job, build=build[u"build"], filename=file_name
+ # )
+ # url = u"{0}/{1}".format(url, full_name)
+ # new_name = join(
+ # spec.environment[u"paths"][u"DIR[WORKING,DATA]"],
+ # f"{job}{SEPARATOR}{build[u'build']}{SEPARATOR}{file_name}"
+ # )
+ # logging.info(f"Downloading {url}")
+ # success, downloaded_name = _download_file(url, new_name)
+
+ if success and downloaded_name.endswith(u".zip"):
+ if not is_zipfile(downloaded_name):
+ logging.error(f"Zip file {new_name} is corrupted.")
+ success = False