From d69e70db01716b54e61f30f9b1df510e41723dce Mon Sep 17 00:00:00 2001 From: Michael DeHaan Date: Wed, 18 Jul 2012 00:14:14 -0400 Subject: [PATCH] By defining a main function here, and including it ahead of the boilerplate insertion symbol, tracebacks are now accurate with respect to the main function, but may include lines not in the original file. A lot better than before, where they were offset. --- library/slurp | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/library/slurp b/library/slurp index 8bd16007686..bc9f643d016 100755 --- a/library/slurp +++ b/library/slurp @@ -19,22 +19,25 @@ import base64 +def main(): + module = AnsibleModule( + argument_spec = dict( + src = dict(required=True), + ) + ) + source = module.params['src'] + + if not os.path.exists(source): + module.fail_json(msg="file not found: %s" % source) + if not os.access(source, os.R_OK): + module.fail_json(msg="file is not readable: %s" % source) + + data = base64.b64encode(file(source).read()) + + module.exit_json(content=data, encoding='base64') + # this is magic, see lib/ansible/module_common.py #<> -module = AnsibleModule( - argument_spec = dict( - src = dict(required=True), - ) -) -source = module.params['src'] - -if not os.path.exists(source): - module.fail_json(msg="file not found: %s" % source) -if not os.access(source, os.R_OK): - module.fail_json(msg="file is not readable: %s" % source) - -data = base64.b64encode(file(source).read()) - -module.exit_json(content=data, encoding='base64') +main()