diff --git a/files/lineinfile.py b/files/lineinfile.py index 282feab70cf..d8b50c13cec 100644 --- a/files/lineinfile.py +++ b/files/lineinfile.py @@ -19,9 +19,10 @@ # You should have received a copy of the GNU General Public License # along with Ansible. If not, see . -import pipes import re import os +import pipes +import codecs import tempfile DOCUMENTATION = """ @@ -369,25 +370,13 @@ def main(): line = params['line'] - # The safe_eval call will remove some quoting, but not others, - # so we need to know if we should specifically unquote it. - should_unquote = not is_quoted(line) - - # always add one layer of quotes - line = "'%s'" % line - # Replace escape sequences like '\n' while being sure # not to replace octal escape sequences (\ooo) since they # match the backref syntax. if backrefs: line = re.sub(r'(\\[0-9]{1,3})', r'\\\1', line) - line = module.safe_eval(line) - # Now remove quotes around the string, if needed after - # removing the layer we added above - line = unquote(line) - if should_unquote: - line = unquote(line) + line = codecs.escape_decode(line) present(module, dest, params['regexp'], line, ins_aft, ins_bef, create, backup, backrefs) @@ -400,5 +389,5 @@ def main(): # import module snippets from ansible.module_utils.basic import * from ansible.module_utils.splitter import * - -main() +if __name__ == '__main__': + main()