Get timeout for web requests with urllib from spack config, same as for curl (#30468)
This commit is contained in:
parent
9bcf496f21
commit
c49508648a
@ -49,9 +49,6 @@
|
|||||||
class HTMLParseError(Exception):
|
class HTMLParseError(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
# Timeout in seconds for web requests
|
|
||||||
_timeout = 10
|
|
||||||
|
|
||||||
|
|
||||||
class LinkParser(HTMLParser):
|
class LinkParser(HTMLParser):
|
||||||
"""This parser just takes an HTML page and strips out the hrefs on the
|
"""This parser just takes an HTML page and strips out the hrefs on the
|
||||||
@ -100,6 +97,9 @@ def read_from_url(url, accept_content_type=None):
|
|||||||
|
|
||||||
verify_ssl = spack.config.get('config:verify_ssl')
|
verify_ssl = spack.config.get('config:verify_ssl')
|
||||||
|
|
||||||
|
# Timeout in seconds for web requests
|
||||||
|
timeout = spack.config.get('config:connect_timeout', 10)
|
||||||
|
|
||||||
# Don't even bother with a context unless the URL scheme is one that uses
|
# Don't even bother with a context unless the URL scheme is one that uses
|
||||||
# SSL certs.
|
# SSL certs.
|
||||||
if uses_ssl(url):
|
if uses_ssl(url):
|
||||||
@ -131,7 +131,7 @@ def read_from_url(url, accept_content_type=None):
|
|||||||
# one round-trip. However, most servers seem to ignore the header
|
# one round-trip. However, most servers seem to ignore the header
|
||||||
# if you ask for a tarball with Accept: text/html.
|
# if you ask for a tarball with Accept: text/html.
|
||||||
req.get_method = lambda: "HEAD"
|
req.get_method = lambda: "HEAD"
|
||||||
resp = _urlopen(req, timeout=_timeout, context=context)
|
resp = _urlopen(req, timeout=timeout, context=context)
|
||||||
|
|
||||||
content_type = get_header(resp.headers, 'Content-type')
|
content_type = get_header(resp.headers, 'Content-type')
|
||||||
|
|
||||||
@ -139,7 +139,7 @@ def read_from_url(url, accept_content_type=None):
|
|||||||
req.get_method = lambda: "GET"
|
req.get_method = lambda: "GET"
|
||||||
|
|
||||||
try:
|
try:
|
||||||
response = _urlopen(req, timeout=_timeout, context=context)
|
response = _urlopen(req, timeout=timeout, context=context)
|
||||||
except URLError as err:
|
except URLError as err:
|
||||||
raise SpackWebError('Download failed: {ERROR}'.format(
|
raise SpackWebError('Download failed: {ERROR}'.format(
|
||||||
ERROR=str(err)))
|
ERROR=str(err)))
|
||||||
|
Loading…
Reference in New Issue
Block a user