diff options
author | Will Thames <will@thames.id.au> | 2014-08-05 10:41:26 +1000 |
---|---|---|
committer | Will Thames <will@thames.id.au> | 2014-08-07 16:11:02 +1000 |
commit | de16785b8ce961c5eb152854032c8a9306131e87 (patch) | |
tree | 7212e524251d32ba4b26350ae1ca5246ef900cac /files | |
parent | f0ae6204e4485472413072c23e2b5bb7a50bc55b (diff) | |
download | ansible-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/unarchive | 10 |
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) |