--- a/Allura/allura/lib/validators.py
+++ b/Allura/allura/lib/validators.py
@@ -3,6 +3,7 @@
import formencode as fe
from formencode import validators as fev
from . import helpers as h
+import pysvn
class Ming(fev.FancyValidator):
@@ -61,3 +62,13 @@
except ValueError, e:
raise fe.Invalid('Invalid JSON: ' + str(e), value, state)
return value
+
+
+class CheckoutUrlValidator(fev.FancyValidator):
+ def _to_python(self, value, state):
+ svn = pysvn.Client()
+ try:
+ svn.info2(value)
+ except pysvn.ClientError, e:
+ raise fe.Invalid(str(e), value, state)
+ return value