changeset 1298:e3deb588cf14 beta

fixed http/s validation for clone_uri, and missing return value.
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 01 May 2011 22:21:19 +0200
parents d87997ed6ef1
children 8eda822931c9
files rhodecode/model/forms.py
diffstat 1 files changed, 9 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/model/forms.py	Sun May 01 22:03:01 2011 +0200
+++ b/rhodecode/model/forms.py	Sun May 01 22:21:19 2011 +0200
@@ -22,6 +22,7 @@
 import os
 import re
 import logging
+import traceback
 
 import formencode
 from formencode import All
@@ -227,25 +228,29 @@
     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