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)
|
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.extend(list(differ))
|
||||||
ret.append('\n')
|
ret.append('\n')
|
||||||
|
if 'prepared' in diff:
|
||||||
|
ret.append(to_unicode(diff['prepared']))
|
||||||
return u"".join(ret)
|
return u"".join(ret)
|
||||||
except UnicodeDecodeError:
|
except UnicodeDecodeError:
|
||||||
ret.append(">> the files are different, but the diff library cannot compare unicode strings\n\n")
|
ret.append(">> the files are different, but the diff library cannot compare unicode strings\n\n")
|
||||||
|
|
Loading…
Reference in a new issue