mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Handle the key 'prepared' in the 'diff' result from modules
So far, when a 'diff' dict is returned with module results, it is checked for 'before' and 'after' texts, which are processed in _get_diff() by python difflib. This generates the changes to display when CLI users specify --diff. However, some modules will generate changes that cannot easily be expressed in a conventional diff. One example is the output of the synchronize module, which presents changed files in a common log format as in `rsync --itemize-changes`. Add a check for a diff['prepared'] key, which can contain prepared diff text from modules.
This commit is contained in:
parent
c44110bc81
commit
5b293b56d6
1 changed files with 2 additions and 0 deletions
|
@ -131,6 +131,8 @@ class CallbackBase:
|
|||
differ = difflib.unified_diff(to_unicode(diff['before']).splitlines(True), to_unicode(diff['after']).splitlines(True), before_header, after_header, '', '', 10)
|
||||
ret.extend(list(differ))
|
||||
ret.append('\n')
|
||||
if 'prepared' in diff:
|
||||
ret.append(to_unicode(diff['prepared']))
|
||||
return u"".join(ret)
|
||||
except UnicodeDecodeError:
|
||||
ret.append(">> the files are different, but the diff library cannot compare unicode strings\n\n")
|
||||
|
|
Loading…
Reference in a new issue