summaryrefslogtreecommitdiff
path: root/src/mailman/rest/validator.py
diff options
context:
space:
mode:
authorBarry Warsaw2016-01-13 00:14:08 -0500
committerBarry Warsaw2016-01-13 00:17:49 -0500
commitd75a7ebb46279f341b498bf517d07e9ae4c27f0a (patch)
treebaaea8a2dc102887b057f9da5184bbe61ba22aef /src/mailman/rest/validator.py
parent03bb57c8c2a47a08e19b20975622ebb2ef2b81c6 (diff)
downloadmailman-d75a7ebb46279f341b498bf517d07e9ae4c27f0a.tar.gz
mailman-d75a7ebb46279f341b498bf517d07e9ae4c27f0a.tar.zst
mailman-d75a7ebb46279f341b498bf517d07e9ae4c27f0a.zip
Diffstat (limited to 'src/mailman/rest/validator.py')
-rw-r--r--src/mailman/rest/validator.py12
1 files changed, 2 insertions, 10 deletions
diff --git a/src/mailman/rest/validator.py b/src/mailman/rest/validator.py
index a20ec0ce5..35be36be4 100644
--- a/src/mailman/rest/validator.py
+++ b/src/mailman/rest/validator.py
@@ -31,7 +31,6 @@ from mailman.core.errors import (
ReadOnlyPATCHRequestError, UnknownPATCHRequestError)
from mailman.interfaces.address import IEmailValidator
from mailman.interfaces.languages import ILanguageManager
-from uuid import UUID
from zope.component import getUtility
@@ -55,18 +54,11 @@ class enum_validator:
raise ValueError(exception.args[0])
-def subscriber_validator(api_version):
+def subscriber_validator(api):
"""Convert an email-or-(int|hex) to an email-or-UUID."""
def _inner(subscriber):
- # In API 3.0, the uuid is represented by an int, so if we can int
- # convert the value, we know it's a UUID-as-int. In API 3.1 though,
- # uuids are represented by the hex version, which of course cannot
- # include an @ sign.
try:
- if api_version == '3.0':
- return UUID(int=int(subscriber))
- else:
- return UUID(hex=subscriber)
+ return api.to_uuid(subscriber)
except ValueError:
# It must be an email address.
if getUtility(IEmailValidator).is_valid(subscriber):