1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

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>
This commit is contained in:
Major Hayden 2014-08-15 14:50:00 -05:00
parent 91560c00a9
commit c9cdc9d6f9

View file

@ -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()