From 96f1c3ce2e5ec4498dee9315034b5c7ad2ab35de Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Wed, 26 Feb 2014 12:33:17 -0600 Subject: [PATCH] Move where the expanduser call is made, to avoid issues with None --- lib/ansible/runner/action_plugins/copy.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/ansible/runner/action_plugins/copy.py b/lib/ansible/runner/action_plugins/copy.py index 8a489666e44..a24b0ae67fe 100644 --- a/lib/ansible/runner/action_plugins/copy.py +++ b/lib/ansible/runner/action_plugins/copy.py @@ -48,9 +48,9 @@ class ActionModule(object): if complex_args: options.update(complex_args) options.update(utils.parse_kv(module_args)) - source = os.path.expanduser(options.get('src', None)) + source = options.get('src', None) content = options.get('content', None) - dest = os.path.expanduser(options.get('dest', None)) + dest = options.get('dest', None) raw = utils.boolean(options.get('raw', 'no')) force = utils.boolean(options.get('force', 'yes')) @@ -61,10 +61,15 @@ class ActionModule(object): result=dict(failed=True, msg="src and content are mutually exclusive") return ReturnData(conn=conn, result=result) - # Check if the source ends with a "/" + # Check if the source ends with a "/" and + # expand any tildes that may be in the path source_trailing_slash = False if source: source_trailing_slash = source.endswith("/") + source = os.path.expanduser(source) + # And expand the path for the destination + if dest: + dest = os.path.expanduser(dest) # Define content_tempfile in case we set it after finding content populated. content_tempfile = None