summaryrefslogtreecommitdiff
path: root/src/mailman/rest/validator.py
diff options
context:
space:
mode:
authorBarry Warsaw2011-08-30 19:11:19 -0400
committerBarry Warsaw2011-08-30 19:11:19 -0400
commit0664713d4f7e30b0b56b1ce00ccf3367f416c901 (patch)
tree7bc824930335b25aa5e13346992b4754f5ca1e64 /src/mailman/rest/validator.py
parent043562c695387a12e655997abf41cef77cb3d3a4 (diff)
parent5a38df15cd6ca0619e0e987624457e0453425dce (diff)
downloadmailman-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.py15
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."""