aboutsummaryrefslogtreecommitdiff
path: root/rhodecode/model/forms.py
diff options
context:
space:
mode:
authorMarcin Kuzminski <marcin@python-works.com>2011-05-01 22:21:19 +0200
committerMarcin Kuzminski <marcin@python-works.com>2011-05-01 22:21:19 +0200
commit2c85f35955ffb9329cddef90b11d4221f1c02b26 (patch)
treeae2cea28322f1c1cb84b2d306720b3769516a0b8 /rhodecode/model/forms.py
parent19c63f34286cd21b672b75aee300d011966086e2 (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.py13
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