diff options
| author | Barry Warsaw | 2016-04-03 11:41:59 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2016-04-03 11:41:59 -0400 |
| commit | 5b0c0aba4a3778d7b358a7de9d17a07135965948 (patch) | |
| tree | 2243a7e2d66935962425c44f7c88c28d5b820e1c /src/mailman/rest/root.py | |
| parent | 5976a7980dd00e183bb764f87c2ffc6570d1bb96 (diff) | |
| download | mailman-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.py | 33 |
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): |
