diff options
author | Michael Hirsch, Ph.D <scivision@users.noreply.github.com> | 2019-11-06 04:36:30 -0500 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-11-07 22:14:59 +0200 |
commit | d08091756191981f1bd3c7741b412b95f965fe0a (patch) | |
tree | 00406fafdc8b0311e02366963d217bae932c9a04 /mesonbuild | |
parent | a47c1374b96e49b5fe617baee3ea85a94cd96ae6 (diff) | |
download | meson-d08091756191981f1bd3c7741b412b95f965fe0a.zip meson-d08091756191981f1bd3c7741b412b95f965fe0a.tar.gz meson-d08091756191981f1bd3c7741b412b95f965fe0a.tar.bz2 |
wrap.py: catch connection error with WrapException
fixes #6130
wrap: more error verbosity
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/wrap/wrap.py | 16 | ||||
-rw-r--r-- | mesonbuild/wrap/wraptool.py | 4 |
2 files changed, 13 insertions, 7 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']) diff --git a/mesonbuild/wrap/wraptool.py b/mesonbuild/wrap/wraptool.py index a9d83fc..cd15cef 100644 --- a/mesonbuild/wrap/wraptool.py +++ b/mesonbuild/wrap/wraptool.py @@ -124,11 +124,11 @@ def update(options): raise SystemExit('Subprojects dir not found. Run this command in your source root directory.') wrapfile = os.path.join('subprojects', name + '.wrap') if not os.path.exists(wrapfile): - raise SystemExit('Project', name, 'is not in use.') + raise SystemExit('Project ' + name + ' is not in use.') (branch, revision, subdir, src_file, patch_file) = get_current_version(wrapfile) (new_branch, new_revision) = get_latest_version(name) if new_branch == branch and new_revision == revision: - print('Project', name, 'is already up to date.') + print('Project ' + name + ' is already up to date.') raise SystemExit update_wrap_file(wrapfile, name, new_branch, new_revision) shutil.rmtree(os.path.join('subprojects', subdir), ignore_errors=True) |