Mercurial > kallithea
changeset 8285:eb795f7a7a18
utils: let is_valid_repo_uri report URLError from ._check_url as InvalidCloneUriException
Better encapsulation of internals.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Fri, 06 Mar 2020 19:20:36 +0100 |
parents | b595758f0792 |
children | 4aa6a17afc49 |
files | kallithea/lib/utils.py |
diffstat | 1 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/lib/utils.py Fri Mar 06 19:06:09 2020 +0100 +++ b/kallithea/lib/utils.py Fri Mar 06 19:20:36 2020 +0100 @@ -31,6 +31,7 @@ import re import sys import traceback +import urllib.error from distutils.version import StrictVersion import beaker.cache @@ -230,7 +231,10 @@ if url.startswith('http') or url.startswith('ssh'): # initially check if it's at least the proper URL # or does it pass basic auth - MercurialRepository._check_url(url, ui) + try: + MercurialRepository._check_url(url, ui) + except urllib.error.URLError as e: + raise InvalidCloneUriException('URI %s URLError: %s' % (url, e)) elif url.startswith('svn+http'): try: from hgsubversion.svnrepo import svnremoterepo @@ -246,7 +250,10 @@ if url.startswith('http') or url.startswith('git'): # initially check if it's at least the proper URL # or does it pass basic auth - GitRepository._check_url(url) + try: + GitRepository._check_url(url) + except urllib.error.URLError as e: + raise InvalidCloneUriException('URI %s URLError: %s' % (url, e)) elif url.startswith('svn+http'): raise InvalidCloneUriException('URI type %s not implemented' % (url,)) elif url.startswith('hg+http'):