From ae0042a90220119414f61aeb20c6b58bfacb8af2 Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Tue, 29 Aug 2017 14:07:54 +0000 Subject: PR288 vetted --- src/mailman/rest/root.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/mailman/rest/root.py') 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 @@ -307,6 +308,20 @@ class TopLevel: else: return BadRequest(), [] + @child() + def plugins(self, context, segments): + """//plugins + //plugins/ + //plugins//... + """ + 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): """//bans -- cgit v1.2.3-70-g09d2