wic: Integrated plugin docstrings into 'wic help plugins' output
PATCH 1/1 wic: Integrated plugin docstrings into 'wic help plugins' output
Added mechanism to show docstrings of plugin classes as a part of plugins help page.
For missing plugins the following warning message is shown:
<class '<plugin class spec>'> is missing docstring.
[YOCTO #7118]
Signed-off-by Ed Bartosh <[email protected]>
--- scripts/lib/image/help.py | 18 ++++++++++++++++++ scripts/wic | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-)
scripts/lib/image/help.py +18 -0
@@ -28,6 +28,7 @@ import subprocess import logging +from wic.plugin import pluginmgr, PLUGIN_TYPES def subcommand_error(args): logging.info("invalid subcommand %s" % args[0])
@@ -55,6 +56,23 @@ def wic_help(args, usage_str, subcommands): print(usage_str) +def get_wic_plugins_help(): + """ + Combine wic_plugins_help with the help for every known + source plugin. + """ + result = wic_plugins_help + for plugin_type in PLUGIN_TYPES: + result += '\n\n%s PLUGINS\n\n' % plugin_type.upper() + for name, plugin in pluginmgr.get_plugins(plugin_type).iteritems(): + result += "\n %s plugin:\n" % name + if plugin.__doc__: + result += plugin.__doc__ + else: + result += "\n %s is missing docstring\n" % plugin + return result + + def invoke_subcommand(args, parser, main_command_usage, subcommands): """ Dispatch to subcommand handler borrowed from combo-layer.
scripts/wic +1 -1
@@ -277,7 +277,7 @@ subcommands = { hlp.wic_list_help], "plugins": [wic_help_topic_subcommand, wic_help_topic_usage, - hlp.wic_plugins_help], + hlp.get_wic_plugins_help()], "overview": [wic_help_topic_subcommand, wic_help_topic_usage, hlp.wic_overview_help],
Signature · 1 line
2.1.4