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:
parent
91560c00a9
commit
c9cdc9d6f9
1 changed files with 8 additions and 1 deletions
|
@ -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…
Reference in a new issue