summaryrefslogtreecommitdiff
path: root/files
diff options
context:
space:
mode:
authorWill Thames <will@thames.id.au>2014-08-05 10:41:26 +1000
committerWill Thames <will@thames.id.au>2014-08-07 16:11:02 +1000
commitde16785b8ce961c5eb152854032c8a9306131e87 (patch)
tree7212e524251d32ba4b26350ae1ca5246ef900cac /files
parentf0ae6204e4485472413072c23e2b5bb7a50bc55b (diff)
downloadansible-modules-extras-de16785b8ce961c5eb152854032c8a9306131e87.tar.gz
Unarchive should work when parent directory is not writable
Correct unarchive so that the checks for writeability are sensible. Added a test for when parent directory is not writable
Diffstat (limited to 'files')
-rw-r--r--files/unarchive10
1 files changed, 4 insertions, 6 deletions
diff --git a/files/unarchive b/files/unarchive
index 460353a6..096f0355 100644
--- a/files/unarchive
+++ b/files/unarchive
@@ -115,8 +115,6 @@ class TgzFile(object):
self.zipflag = 'z'
def is_unarchived(self):
- dirof = os.path.dirname(self.dest)
- destbase = os.path.basename(self.dest)
cmd = '%s -v -C "%s" --diff -%sf "%s"' % (self.cmd_path, self.dest, self.zipflag, self.src)
rc, out, err = self.module.run_command(cmd)
unarchived = (rc == 0)
@@ -220,10 +218,10 @@ def main():
)
# is dest OK to receive tar file?
- if not os.path.exists(os.path.dirname(dest)):
- module.fail_json(msg="Destination directory '%s' does not exist" % (os.path.dirname(dest)))
- if not os.access(os.path.dirname(dest), os.W_OK):
- module.fail_json(msg="Destination '%s' not writable" % (os.path.dirname(dest)))
+ if not os.path.isdir(dest):
+ module.fail_json(msg="Destination '%s' is not a directory" % dest)
+ if not os.access(dest, os.W_OK):
+ module.fail_json(msg="Destination '%s' not writable" % dest)
handler = pick_handler(src, dest, module)