From 087ba94e6ba731423eb36a5eefc520d468730394 Mon Sep 17 00:00:00 2001 From: Evan Kaufman Date: Mon, 24 Oct 2016 07:42:01 -0700 Subject: Exposed backup file path, simplified result args (#5364) Fixes #245 --- files/replace.py | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'files') diff --git a/files/replace.py b/files/replace.py index b89e8139..ef66c223 100644 --- a/files/replace.py +++ b/files/replace.py @@ -131,7 +131,7 @@ def main(): params = module.params dest = os.path.expanduser(params['dest']) - diff = dict() + res_args = dict() if os.path.isdir(dest): module.fail_json(rc=256, msg='Destination %s is a directory !' % dest) @@ -143,12 +143,6 @@ def main(): contents = f.read() f.close() - if module._diff: - diff = { - 'before_header': dest, - 'before': contents, - } - mre = re.compile(params['regexp'], re.MULTILINE) result = re.subn(mre, params['replace'], contents, 0) @@ -156,22 +150,25 @@ def main(): msg = '%s replacements made' % result[1] changed = True if module._diff: - diff['after_header'] = dest - diff['after'] = result[0] + res_args['diff'] = { + 'before_header': dest, + 'before': contents, + 'after_header': dest, + 'after': result[0], + } else: msg = '' changed = False - diff = dict() if changed and not module.check_mode: if params['backup'] and os.path.exists(dest): - module.backup_local(dest) + res_args['backup_file'] = module.backup_local(dest) if params['follow'] and os.path.islink(dest): dest = os.path.realpath(dest) write_changes(module, result[0], dest) - msg, changed = check_file_attrs(module, changed, msg) - module.exit_json(changed=changed, msg=msg, diff=diff) + res_args['msg'], res_args['changed'] = check_file_attrs(module, changed, msg) + module.exit_json(**res_args) # this is magic, see lib/ansible/module_common.py from ansible.module_utils.basic import * -- cgit v1.2.1