- log.append(("INFO", " {0}: {1}".format(code, responses[code])))
- if code != codes["OK"]:
- return False, file_name
- file_name = file_name.replace("_info", "")
-
- log.append(("INFO", " Downloading the file '{0}' to '{1}' ...".
- format(url, file_name)))
-
- with open(file_name, "wb") as file_handle:
- for chunk in response.iter_content(chunk_size=CHUNK_SIZE):
- if chunk:
- file_handle.write(chunk)
- success = True
- except ConnectionError as err:
- log.append(("ERROR", "Not possible to connect to '{0}'.".format(url)))
- log.append(("DEBUG", repr(err)))
- except HTTPError as err:
- log.append(("ERROR", "Invalid HTTP response from '{0}'.".format(url)))
- log.append(("DEBUG", repr(err)))
- except TooManyRedirects as err:
- log.append(("ERROR", "Request exceeded the configured number "
- "of maximum re-directions."))
- log.append(("DEBUG", repr(err)))
- except Timeout as err:
- log.append(("ERROR", "Request timed out."))
- log.append(("DEBUG", repr(err)))
- except RequestException as err:
- log.append(("ERROR", "Unexpected HTTP request exception."))
- log.append(("DEBUG", repr(err)))
- except (IOError, ValueError, KeyError) as err:
- log.append(("ERROR", "Download failed."))
- log.append(("DEBUG", repr(err)))
-
- log.append(("INFO", " Download finished."))
+ logging.info(f" {code}: {responses[code]}")
+
+ if code != codes[u"OK"]:
+ if session:
+ session.close()
+ url = url.replace(u"_info", u"")
+ logging.info(f" Connecting to {url} ...")
+ session = requests_retry_session()
+ response = session.get(url, stream=True, verify=verify)
+ code = response.status_code
+ logging.info(f" {code}: {responses[code]}")
+ if code != codes[u"OK"]:
+ return False, file_name
+ file_name = file_name.replace(u"_info", u"")
+
+ dst_file_name = file_name.replace(u".gz", u"")
+ logging.info(f" Downloading the file {url} to {dst_file_name}")
+ with open(dst_file_name, u"wb") as file_handle:
+ for chunk in response.iter_content(chunk_size=CHUNK_SIZE):
+ if chunk:
+ file_handle.write(chunk)
+
+ if arch and u".gz" in file_name:
+ if session:
+ session.close()
+ logging.info(f" Downloading the file {url} to {file_name}")
+ session = requests_retry_session()
+ response = session.get(url, stream=True, verify=verify)
+ if response.status_code == codes[u"OK"]:
+ with open(file_name, u"wb") as file_handle:
+ file_handle.write(response.raw.read())
+ else:
+ logging.error(
+ f"Not possible to download the file "
+ f"{url} to {file_name}"
+ )
+
+ success = True
+ repeat = 0
+ except IncompleteRead as err:
+ logging.error(f"Connection broken:\n{repr(err)}")
+ except RequestException as err:
+ logging.error(f"HTTP Request exception:\n{repr(err)}")
+ except (IOError, ValueError, KeyError) as err:
+ logging.error(f"Download failed.\n{repr(err)}")
+ finally:
+ if session:
+ session.close()
+
+ logging.info(u" Download finished.")