File module cannot create relative paths

When trying to create a directory relative to the current working
directory, a directory is created at the root of the filesystem
instead.  This patch ensures that directories specified with relative
paths will be created in the current working directory.  Fully
qualified paths aren't affected

Signed-off-by: Major Hayden <major@mhtx.net>
pull/8642/head
Major Hayden 10 years ago
parent 91560c00a9
commit c9cdc9d6f9

@ -210,8 +210,15 @@ def main():
module.exit_json(changed=True) module.exit_json(changed=True)
changed = True changed = True
curpath = '' curpath = ''
for dirname in path.split('/'): # Split the path so we can apply filesystem attributes recursively
# from the root (/) directory for absolute paths or the base path
# of a relative path. We can then walk the appropriate directory
# path to apply attributes.
for dirname in path.strip('/').split('/'):
curpath = '/'.join([curpath, dirname]) curpath = '/'.join([curpath, dirname])
# Remove leading slash if we're creating a relative path
if not os.path.isabs(path):
curpath = curpath.lstrip('/')
if not os.path.exists(curpath): if not os.path.exists(curpath):
os.mkdir(curpath) os.mkdir(curpath)
tmp_file_args = file_args.copy() tmp_file_args = file_args.copy()

Loading…
Cancel
Save