mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
allow plugins to override fragments
This commit is contained in:
parent
25019fe70c
commit
eb78da68dd
1 changed files with 6 additions and 6 deletions
|
@ -77,17 +77,17 @@ def add_fragments(doc, filename):
|
|||
raise Exception("missing options in fragment (%s), possibly misformatted?: %s" % (fragment_name, filename))
|
||||
|
||||
for key, value in fragment.items():
|
||||
if key not in doc:
|
||||
doc[key] = value
|
||||
else:
|
||||
if key in doc:
|
||||
# assumes both structures have same type
|
||||
if isinstance(doc[key], MutableMapping):
|
||||
doc[key].update(value)
|
||||
value.update(doc[key])
|
||||
elif isinstance(doc[key], MutableSet):
|
||||
doc[key].add(value)
|
||||
value.add(doc[key])
|
||||
elif isinstance(doc[key], MutableSequence):
|
||||
doc[key] = sorted(frozenset(doc[key] + value))
|
||||
value = sorted(frozenset(value + doc[key]))
|
||||
else:
|
||||
raise Exception("Attempt to extend a documentation fragement (%s) of unknown type: %s" % (fragment_name, filename))
|
||||
doc[key] = value
|
||||
|
||||
|
||||
def get_docstring(filename, verbose=False):
|
||||
|
|
Loading…
Reference in a new issue