# HG changeset patch # User domruf # Date 1344337529 -7200 # Node ID 24c5d90208957f40c73e288f269eec1073cb42c9 # Parent f4b20558ae16adbe0dd7106da2528d955bc6ff2e remove redundant logic diff -r f4b20558ae16 -r 24c5d9020895 rhodecode/model/validators.py --- a/rhodecode/model/validators.py Wed Aug 01 14:10:26 2012 +0200 +++ b/rhodecode/model/validators.py Tue Aug 07 13:05:29 2012 +0200 @@ -370,14 +370,15 @@ def ValidCloneUri(): from rhodecode.lib.utils import make_ui - def url_handler(repo_type, url, proto, ui=None): + def url_handler(repo_type, url, ui=None): if repo_type == 'hg': from mercurial.httprepo import httprepository, httpsrepository - if proto == 'https': + if url.startswith('https'): httpsrepository(make_ui('db'), url).capabilities - elif proto == 'http': + elif url.startswith('http'): httprepository(make_ui('db'), url).capabilities - elif proto == 'svn+http': + elif url.startswith('svn+http'): + from hgsubversion.svnrepo import svnremoterepo svnremoterepo(make_ui('db'), url).capabilities elif repo_type == 'git': #TODO: write a git url validator @@ -396,34 +397,15 @@ if not url: pass - elif url.startswith('https') or \ - url.startswith('http') or \ - url.startswith('svn+http'): - if url.startswith('https'): - _type = 'https' - elif url.startswith('http'): - _type = 'http' - elif url.startswith('svn+http'): - try: - from hgsubversion.svnrepo import svnremoterepo - global svnremoterepo - except ImportError: - raise formencode.Invalid(_('invalid clone url: hgsubversion ' - 'is not installed'), value, state) - _type = 'svn+http' + else: try: - url_handler(repo_type, url, _type, make_ui('db')) + url_handler(repo_type, url, make_ui('db')) except Exception: log.exception('Url validation failed') msg = M(self, 'clone_uri') raise formencode.Invalid(msg, value, state, error_dict=dict(clone_uri=msg) ) - else: - msg = M(self, 'invalid_clone_uri', state) - raise formencode.Invalid(msg, value, state, - error_dict=dict(clone_uri=msg) - ) return _validator