summaryrefslogtreecommitdiff
path: root/src/mailman/rest/root.py
diff options
context:
space:
mode:
authorBarry Warsaw2016-04-03 11:41:59 -0400
committerBarry Warsaw2016-04-03 11:41:59 -0400
commit5b0c0aba4a3778d7b358a7de9d17a07135965948 (patch)
tree2243a7e2d66935962425c44f7c88c28d5b820e1c /src/mailman/rest/root.py
parent5976a7980dd00e183bb764f87c2ffc6570d1bb96 (diff)
downloadmailman-5b0c0aba4a3778d7b358a7de9d17a07135965948.tar.gz
mailman-5b0c0aba4a3778d7b358a7de9d17a07135965948.tar.zst
mailman-5b0c0aba4a3778d7b358a7de9d17a07135965948.zip
Diffstat (limited to 'src/mailman/rest/root.py')
-rw-r--r--src/mailman/rest/root.py33
1 files changed, 12 insertions, 21 deletions
diff --git a/src/mailman/rest/root.py b/src/mailman/rest/root.py
index 289b714dd..6fad5bc7c 100644
--- a/src/mailman/rest/root.py
+++ b/src/mailman/rest/root.py
@@ -175,14 +175,10 @@ class TopLevel:
/<api>/addresses/<email>
"""
if len(segments) == 0:
- resource = AllAddresses()
- resource.api = context['api']
- return resource
+ return AllAddresses()
else:
email = segments.pop(0)
- resource = AnAddress(email)
- resource.api = context['api']
- return resource, segments
+ return AnAddress(email), segments
@child()
def domains(self, context, segments):
@@ -215,32 +211,29 @@ class TopLevel:
@child()
def members(self, context, segments):
"""/<api>/members"""
- api = context['api']
if len(segments) == 0:
- resource = AllMembers()
- resource.api = api
- return resource
+ return AllMembers()
# Either the next segment is the string "find" or a member id. They
# cannot collide.
segment = segments.pop(0)
if segment == 'find':
resource = FindMembers()
- resource.api = api
else:
- resource = AMember(api, segment)
+ try:
+ member_id = context['api'].to_uuid(segment)
+ except ValueError:
+ member_id = None
+ resource = AMember(member_id)
return resource, segments
@child()
def users(self, context, segments):
"""/<api>/users"""
- api = context['api']
if len(segments) == 0:
- resource = AllUsers()
- resource.api = api
- return resource
+ return AllUsers()
else:
- user_id = segments.pop(0)
- return AUser(api, user_id), segments
+ user_identifier = segments.pop(0)
+ return AUser(context['api'], user_identifier), segments
@child()
def owners(self, context, segments):
@@ -248,9 +241,7 @@ class TopLevel:
if len(segments) != 0:
return BadRequest(), []
else:
- resource = ServerOwners()
- resource.api = context['api']
- return resource, segments
+ return ServerOwners(), segments
@child()
def templates(self, context, segments):