From 5863323eb05c34ef9ddfe2cf0a88c2943da3ede6 Mon Sep 17 00:00:00 2001 From: Jakub Warmuz Date: Mon, 4 May 2015 14:30:02 +0000 Subject: [PATCH] PluginEntryPoint.description, show in CLI --- letsencrypt/client/cli.py | 3 ++- letsencrypt/client/plugins/disco.py | 7 ++++++- letsencrypt/client/plugins/disco_test.py | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/letsencrypt/client/cli.py b/letsencrypt/client/cli.py index bf9a9ed19..f874f4d7d 100644 --- a/letsencrypt/client/cli.py +++ b/letsencrypt/client/cli.py @@ -302,7 +302,8 @@ def create_parser(plugins): # TODO: plugin_parser should be called for every detected plugin for name, plugin_ep in plugins.iteritems(): plugin_ep.plugin_cls.inject_parser_options( - parser.add_argument_group(name), name) + parser.add_argument_group( + name, description=plugin_ep.description), name) return parser diff --git a/letsencrypt/client/plugins/disco.py b/letsencrypt/client/plugins/disco.py index b2ceeb767..f4a9faecf 100644 --- a/letsencrypt/client/plugins/disco.py +++ b/letsencrypt/client/plugins/disco.py @@ -30,10 +30,15 @@ class PluginEntryPoint(object): return entry_point.name return entry_point.dist.key + ":" + entry_point.name + @property + def description(self): + """Description of the plugin.""" + return self.plugin_cls.description + @property def name_with_description(self): """Name with description. Handy for UI.""" - return "{0} ({1})".format(self.name, self.plugin_cls.description) + return "{0} ({1})".format(self.name, self.description) def ifaces(self, *ifaces_groups): """Does plugin implements specified interface groups?""" diff --git a/letsencrypt/client/plugins/disco_test.py b/letsencrypt/client/plugins/disco_test.py index ac80fae71..945f72d6b 100644 --- a/letsencrypt/client/plugins/disco_test.py +++ b/letsencrypt/client/plugins/disco_test.py @@ -49,6 +49,9 @@ class PluginEntryPointTest(unittest.TestCase): self.assertEqual( name, PluginEntryPoint.entry_point_to_plugin_name(entry_point)) + def test_description(self): + self.assertEqual("Standalone Authenticator", self.plugin_ep.description) + def test_name_with_description(self): self.assertTrue( self.plugin_ep.name_with_description.startswith("sa ("))