Copy module: Extended error handling and fixed error messages

This commit is contained in:
Ingo Gottwald 2012-06-25 20:45:05 +02:00
parent c2d20c8a3f
commit be894fbb9b

14
copy
View file

@ -66,11 +66,15 @@ if dest:
if not os.path.exists(src): if not os.path.exists(src):
exit_kv(rc=1, failed=1, msg="Source %s failed to transfer" % (src)) exit_kv(rc=1, failed=1, msg="Source %s failed to transfer" % (src))
# raise an error if copy has no permission on dest if os.path.exists(dest):
if not os.access(dest, os.W_OK): # raise an error if copy has no permission on dest
exit_kv(rc=1, failed=1, msg="Destination %s seems not writable" % (dest)) if not os.access(dest, os.W_OK):
elif not os.access(dest, os.R_OK): exit_kv(rc=1, failed=1, msg="Destination %s not writable" % (dest))
exit_kv(rc=1, failed=1, msg="Destination %s seems not readable" % (dest)) elif not os.access(dest, os.R_OK):
exit_kv(rc=1, failed=1, msg="Destination %s not readable" % (dest))
else:
if not os.access(os.path.dirname(dest), os.W_OK):
exit_kv(rc=1, failed=1, msg="Destination %s not writable" % (dest))
md5sum = None md5sum = None
changed = False changed = False