diff options
| author | Barry Warsaw | 2011-08-30 19:11:19 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2011-08-30 19:11:19 -0400 |
| commit | 0664713d4f7e30b0b56b1ce00ccf3367f416c901 (patch) | |
| tree | 7bc824930335b25aa5e13346992b4754f5ca1e64 /src/mailman/rest/validator.py | |
| parent | 043562c695387a12e655997abf41cef77cb3d3a4 (diff) | |
| parent | 5a38df15cd6ca0619e0e987624457e0453425dce (diff) | |
| download | mailman-0664713d4f7e30b0b56b1ce00ccf3367f416c901.tar.gz mailman-0664713d4f7e30b0b56b1ce00ccf3367f416c901.tar.zst mailman-0664713d4f7e30b0b56b1ce00ccf3367f416c901.zip | |
Diffstat (limited to 'src/mailman/rest/validator.py')
| -rw-r--r-- | src/mailman/rest/validator.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mailman/rest/validator.py b/src/mailman/rest/validator.py index d8297e519..cf32ca838 100644 --- a/src/mailman/rest/validator.py +++ b/src/mailman/rest/validator.py @@ -23,9 +23,13 @@ __metaclass__ = type __all__ = [ 'Validator', 'enum_validator', + 'subscriber_validator', ] +from uuid import UUID + + COMMASPACE = ', ' @@ -42,6 +46,17 @@ class enum_validator: return self._enum_class[enum_value] + + +def subscriber_validator(subscriber): + """Convert an email-or-int to an email-or-UUID.""" + try: + return UUID(int=int(subscriber)) + except ValueError: + return subscriber + + + class Validator: """A validator of parameter input.""" |
