diff options
author | Marcin Kuzminski <marcin@python-works.com> | 2011-05-01 22:21:19 +0200 |
---|---|---|
committer | Marcin Kuzminski <marcin@python-works.com> | 2011-05-01 22:21:19 +0200 |
commit | 2c85f35955ffb9329cddef90b11d4221f1c02b26 (patch) | |
tree | ae2cea28322f1c1cb84b2d306720b3769516a0b8 /rhodecode/model/forms.py | |
parent | 19c63f34286cd21b672b75aee300d011966086e2 (diff) |
fixed http/s validation for clone_uri, and missing return value.
--HG--
branch : beta
Diffstat (limited to 'rhodecode/model/forms.py')
-rw-r--r-- | rhodecode/model/forms.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/rhodecode/model/forms.py b/rhodecode/model/forms.py index 1bfb63ba..10d251cc 100644 --- a/rhodecode/model/forms.py +++ b/rhodecode/model/forms.py @@ -22,6 +22,7 @@ for SELECT use formencode.All(OneOf(list), Int()) import os import re import logging +import traceback import formencode from formencode import All @@ -227,25 +228,29 @@ def ValidCloneUri(): from rhodecode.lib.utils import make_ui class _ValidCloneUri(formencode.validators.FancyValidator): + def to_python(self, value, state): if not value: pass elif value.startswith('https'): try: - httpsrepository(make_ui('db'), value).capabilities() - except: + httpsrepository(make_ui('db'), value).capabilities + except Exception, e: + log.error(traceback.format_exc()) raise formencode.Invalid(_('invalid clone url'), value, state) elif value.startswith('http'): try: - httprepository(make_ui('db'), value).capabilities() - except: + httprepository(make_ui('db'), value).capabilities + except Exception, e: + log.error(traceback.format_exc()) raise formencode.Invalid(_('invalid clone url'), value, state) else: raise formencode.Invalid(_('Invalid clone url, provide a ' 'valid clone http\s url'), value, state) + return value return _ValidCloneUri |