* ansible-doc: export has_action when --json is used.
* Remove docuri and now_data, which were not used resp. ignored in format_plugin_doc and the functions it calls anyway.
* Add function _combine_plugin_doc.
(cherry picked from commit 4fb336cef1
)
This commit is contained in:
parent
27f547b4d3
commit
42da480721
2 changed files with 17 additions and 14 deletions
2
changelogs/fragments/ansible-doc-has_action.yml
Normal file
2
changelogs/fragments/ansible-doc-has_action.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
minor_changes:
|
||||
- "ansible-doc - provide ``has_action`` field in JSON output for modules. That information is currently only available in the text view (https://github.com/ansible/ansible/pull/72359)."
|
|
@ -259,7 +259,7 @@ class DocCLI(CLI):
|
|||
# The doc section existed but was empty
|
||||
continue
|
||||
|
||||
plugin_docs[plugin] = {'doc': doc, 'examples': plainexamples, 'return': returndocs, 'metadata': metadata}
|
||||
plugin_docs[plugin] = DocCLI._combine_plugin_doc(plugin, plugin_type, doc, plainexamples, returndocs, metadata)
|
||||
|
||||
if do_json:
|
||||
jdump(plugin_docs)
|
||||
|
@ -354,6 +354,19 @@ class DocCLI(CLI):
|
|||
doc['collection'] = collection_name
|
||||
return doc, plainexamples, returndocs, metadata
|
||||
|
||||
@staticmethod
|
||||
def _combine_plugin_doc(plugin, plugin_type, doc, plainexamples, returndocs, metadata):
|
||||
# generate extra data
|
||||
if plugin_type == 'module':
|
||||
# is there corresponding action plugin?
|
||||
if plugin in action_loader:
|
||||
doc['has_action'] = True
|
||||
else:
|
||||
doc['has_action'] = False
|
||||
|
||||
# return everything as one dictionary
|
||||
return {'doc': doc, 'examples': plainexamples, 'return': returndocs, 'metadata': metadata}
|
||||
|
||||
@staticmethod
|
||||
def format_plugin_doc(plugin, plugin_type, doc, plainexamples, returndocs, metadata):
|
||||
collection_name = doc['collection']
|
||||
|
@ -369,18 +382,6 @@ class DocCLI(CLI):
|
|||
doc['returndocs'] = returndocs
|
||||
doc['metadata'] = metadata
|
||||
|
||||
# generate extra data
|
||||
if plugin_type == 'module':
|
||||
# is there corresponding action plugin?
|
||||
if plugin in action_loader:
|
||||
doc['action'] = True
|
||||
else:
|
||||
doc['action'] = False
|
||||
|
||||
doc['now_date'] = datetime.date.today().strftime('%Y-%m-%d')
|
||||
if 'docuri' in doc:
|
||||
doc['docuri'] = doc[plugin_type].replace('_', '-')
|
||||
|
||||
if context.CLIARGS['show_snippet'] and plugin_type == 'module':
|
||||
text = DocCLI.get_snippet_text(doc)
|
||||
else:
|
||||
|
@ -658,7 +659,7 @@ class DocCLI(CLI):
|
|||
text.append("%s" % doc.pop('deprecated'))
|
||||
text.append("\n")
|
||||
|
||||
if doc.pop('action', False):
|
||||
if doc.pop('has_action', False):
|
||||
text.append(" * note: %s\n" % "This module has a corresponding action plugin.")
|
||||
|
||||
if doc.get('options', False):
|
||||
|
|
Loading…
Reference in a new issue