summaryrefslogtreecommitdiff
path: root/src/mailman/rest/root.py
diff options
context:
space:
mode:
authorBarry Warsaw2011-09-23 15:31:49 -0400
committerBarry Warsaw2011-09-23 15:31:49 -0400
commit416db276612ac6338524ce350e3b87216ffaffb7 (patch)
treeb29605f97447d5a4daf32f392b9c8f9d41981bd2 /src/mailman/rest/root.py
parente4b34fefabd2ae3f14db83e96076fe741aa7c5b8 (diff)
downloadmailman-416db276612ac6338524ce350e3b87216ffaffb7.tar.gz
mailman-416db276612ac6338524ce350e3b87216ffaffb7.tar.zst
mailman-416db276612ac6338524ce350e3b87216ffaffb7.zip
Diffstat (limited to 'src/mailman/rest/root.py')
-rw-r--r--src/mailman/rest/root.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/mailman/rest/root.py b/src/mailman/rest/root.py
index dc9717de4..9ba6ad20d 100644
--- a/src/mailman/rest/root.py
+++ b/src/mailman/rest/root.py
@@ -29,12 +29,14 @@ from base64 import b64decode
from restish import guard, http, resource
from mailman.config import config
+from mailman.core.constants import system_preferences
from mailman.core.system import system
from mailman.rest.addresses import AllAddresses, AnAddress
from mailman.rest.domains import ADomain, AllDomains
from mailman.rest.helpers import etag, path_to
from mailman.rest.lists import AList, AllLists
from mailman.rest.members import AMember, AllMembers, FindMembers
+from mailman.rest.preferences import ReadOnlyPreferences
from mailman.rest.users import AUser, AllUsers
@@ -73,11 +75,18 @@ class TopLevel(resource.Resource):
@resource.child()
def system(self, request, segments):
"""/<api>/system"""
- resource = dict(
- mailman_version=system.mailman_version,
- python_version=system.python_version,
- self_link=path_to('system'),
- )
+ if len(segments) == 0:
+ resource = dict(
+ mailman_version=system.mailman_version,
+ python_version=system.python_version,
+ self_link=path_to('system'),
+ )
+ elif len(segments) > 1:
+ return http.bad_request()
+ elif segments[0] == 'preferences':
+ return ReadOnlyPreferences(system_preferences, 'system'), []
+ else:
+ return http.bad_request()
return http.ok([], etag(resource))
@resource.child()