Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
Notes
-----
The defaults for the `'total'` and `'sock_read'` timeouts can be
overridden by two environment variables ``PARFIVE_TOTAL_TIMEOUT`` and
``PARFIVE_SOCK_READ_TIMEOUT``.
"""
timeouts = timeouts or {"total": os.environ.get("PARFIVE_TOTAL_TIMEOUT", 5 * 60),
"sock_read": os.environ.get("PARFIVE_SOCK_READ_TIMEOUT", 90)}
try:
future = self.run_until_complete(self._run_download(timeouts))
finally:
self.loop.stop()
dlresults = future.result()
results = Results()
# Iterate through the results and store any failed download errors in
# the errors list of the results object.
for res in dlresults:
if isinstance(res, FailedDownload):
results.add_error(res.filepath_partial, res.url, res.exception)
elif isinstance(res, Exception):
raise res
else:
results.append(res)
return results