aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/wrap/wrap.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/wrap/wrap.py')
-rw-r--r--mesonbuild/wrap/wrap.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/mesonbuild/wrap/wrap.py b/mesonbuild/wrap/wrap.py
index 8ad3418..c8c42e7 100644
--- a/mesonbuild/wrap/wrap.py
+++ b/mesonbuild/wrap/wrap.py
@@ -68,17 +68,20 @@ def open_wrapdburl(urlstring: str) -> 'http.client.HTTPResponse':
return urllib.request.urlopen(urlstring, timeout=req_timeout)# , context=build_ssl_context())
except urllib.error.URLError:
if not ssl_warning_printed:
- print('SSL connection failed. Falling back to unencrypted connections.')
+ print('SSL connection failed. Falling back to unencrypted connections.', file=sys.stderr)
ssl_warning_printed = True
if not ssl_warning_printed:
- print('Warning: SSL not available, traffic not authenticated.',
- file=sys.stderr)
+ print('Warning: SSL not available, traffic not authenticated.', file=sys.stderr)
ssl_warning_printed = True
# Trying to open SSL connection to wrapdb fails because the
# certificate is not known.
if urlstring.startswith('https'):
urlstring = 'http' + urlstring[5:]
- return urllib.request.urlopen(urlstring, timeout=req_timeout)
+ try:
+ return urllib.request.urlopen(urlstring, timeout=req_timeout)
+ except urllib.error.URLError:
+ raise WrapException('failed to get {} is the internet available?'.format(urlstring))
+
class WrapException(MesonException):
pass
@@ -306,7 +309,10 @@ class Resolver:
if url.startswith('https://wrapdb.mesonbuild.com'):
resp = open_wrapdburl(url)
else:
- resp = urllib.request.urlopen(url, timeout=req_timeout)
+ try:
+ resp = urllib.request.urlopen(url, timeout=req_timeout)
+ except urllib.error.URLError:
+ raise WrapException('could not get {} is the internet available?'.format(url))
with contextlib.closing(resp) as resp:
try:
dlsize = int(resp.info()['Content-Length'])