Use original_basename to set the dest path even if src is not set

This commit is contained in:
Toshio Kuratomi 2014-10-20 22:25:18 -04:00
parent fa6d74a970
commit 88b73afcbe

View file

@ -168,14 +168,6 @@ def main():
# or copy module, even if this module never uses it, it is needed to key off some things # or copy module, even if this module never uses it, it is needed to key off some things
if src is not None: if src is not None:
src = os.path.expanduser(src) src = os.path.expanduser(src)
# original_basename is used by other modules that depend on file.
if os.path.isdir(path) and state not in ["link", "absent"]:
if params['original_basename']:
basename = params['original_basename']
else:
basename = os.path.basename(src)
params['path'] = path = os.path.join(path, basename)
else: else:
if state in ['link','hard']: if state in ['link','hard']:
if follow: if follow:
@ -184,6 +176,16 @@ def main():
else: else:
module.fail_json(msg='src and dest are required for creating links') module.fail_json(msg='src and dest are required for creating links')
# original_basename is used by other modules that depend on file.
if os.path.isdir(path) and state not in ["link", "absent"]:
basename = None
if params['original_basename']:
basename = params['original_basename']
elif src is not None:
basename = os.path.basename(src)
if basename:
params['path'] = path = os.path.join(path, basename)
# make sure the target path is a directory when we're doing a recursive operation # make sure the target path is a directory when we're doing a recursive operation
recurse = params['recurse'] recurse = params['recurse']
if recurse and state != 'directory': if recurse and state != 'directory':