Switch to unified view

a/Allura/allura/lib/validators.py b/Allura/allura/lib/validators.py
1
import json
1
import json
2
from bson import ObjectId
2
from bson import ObjectId
3
import formencode as fe
3
import formencode as fe
4
from formencode import validators as fev
4
from formencode import validators as fev
5
from . import helpers as h
5
from . import helpers as h
6
import pysvn
6
7
7
class Ming(fev.FancyValidator):
8
class Ming(fev.FancyValidator):
8
9
9
    def __init__(self, cls, **kw):
10
    def __init__(self, cls, **kw):
10
        self.cls = cls
11
        self.cls = cls
...
...
59
        try:
60
        try:
60
            json.loads(value)
61
            json.loads(value)
61
        except ValueError, e:
62
        except ValueError, e:
62
            raise fe.Invalid('Invalid JSON: ' + str(e), value, state)
63
            raise fe.Invalid('Invalid JSON: ' + str(e), value, state)
63
        return value
64
        return value
65
66
67
class CheckoutUrlValidator(fev.FancyValidator):
68
    def _to_python(self, value, state):
69
        svn = pysvn.Client()
70
        try:
71
            svn.info2(value)
72
        except pysvn.ClientError, e:
73
            raise  fe.Invalid(str(e), value, state)
74
        return value