summaryrefslogtreecommitdiff
path: root/src/mailman/rest/root.py
diff options
context:
space:
mode:
authorJ08nY2017-06-01 20:53:53 +0200
committerJ08nY2017-08-07 17:39:07 +0200
commita665dccf9404d6f95d8a4587f05d748b504e1f9d (patch)
treea2bc4f3e4cbb443224d66a5cae4b78131b4e4213 /src/mailman/rest/root.py
parent1f1a35e7ccde1cfe239286a9a6333ebe8882d8f3 (diff)
downloadmailman-a665dccf9404d6f95d8a4587f05d748b504e1f9d.tar.gz
mailman-a665dccf9404d6f95d8a4587f05d748b504e1f9d.tar.zst
mailman-a665dccf9404d6f95d8a4587f05d748b504e1f9d.zip
Diffstat (limited to 'src/mailman/rest/root.py')
-rw-r--r--src/mailman/rest/root.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mailman/rest/root.py b/src/mailman/rest/root.py
index 76289078b..46116aba6 100644
--- a/src/mailman/rest/root.py
+++ b/src/mailman/rest/root.py
@@ -30,6 +30,7 @@ from mailman.rest.helpers import (
BadRequest, NotFound, child, etag, no_content, not_found, okay)
from mailman.rest.lists import AList, AllLists, Styles
from mailman.rest.members import AMember, AllMembers, FindMembers
+from mailman.rest.plugins import APlugin, AllPlugins
from mailman.rest.preferences import ReadOnlyPreferences
from mailman.rest.queues import AQueue, AQueueFile, AllQueues
from mailman.rest.templates import TemplateFinder
@@ -308,6 +309,20 @@ class TopLevel:
return BadRequest(), []
@child()
+ def plugins(self, context, segments):
+ """/<api>/plugins
+ /<api>/plugins/<plugin_name>
+ /<api>/plugins/<plugin_name>/...
+ """
+ if self.api.version_info < (3, 1):
+ return NotFound(), []
+ if len(segments) == 0:
+ return AllPlugins(), []
+ else:
+ plugin_name = segments.pop(0)
+ return APlugin(plugin_name), segments
+
+ @child()
def bans(self, context, segments):
"""/<api>/bans
/<api>/bans/<email>