From 43c875ae74163f83b78bd589f1bfad3a9534d111 Mon Sep 17 00:00:00 2001 From: Giorgos Korfiatis <gkorf@grnet.gr> Date: Tue, 12 May 2015 14:51:41 +0300 Subject: [PATCH] fix some rename/link errors --- agkyra/agkyra/syncer/localfs_client.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/agkyra/agkyra/syncer/localfs_client.py b/agkyra/agkyra/syncer/localfs_client.py index 358e2d9..4a6cfa3 100644 --- a/agkyra/agkyra/syncer/localfs_client.py +++ b/agkyra/agkyra/syncer/localfs_client.py @@ -52,8 +52,11 @@ def link_file(src, dest): try: os.link(src, dest) except OSError as e: - if e.errno in [OS_FILE_EXISTS, OS_NOT_A_DIR]: + if e.errno == OS_FILE_EXISTS: raise common.ConflictError("Cannot link, '%s' exists." % dest) + if e.errno == OS_NOT_A_DIR: + raise common.ConflictError( + "Cannot link, missing path for '%s'." % dest) if e.errno == OS_NO_FILE_OR_DIR: raise DirMissing() @@ -143,7 +146,7 @@ def stat_file(path): try: return os.lstat(path) except OSError as e: - if e.errno == OS_NO_FILE_OR_DIR: + if e.errno in [OS_NO_FILE_OR_DIR, OS_NOT_A_DIR]: return None raise @@ -266,7 +269,7 @@ class LocalfsTargetHandle(object): logger.info("Hiding file '%s' to '%s'" % (fspath, hidden_path)) except OSError as e: - if e.errno == OS_NO_FILE_OR_DIR: + if e.errno in [OS_NO_FILE_OR_DIR, OS_NOT_A_DIR]: self.unregister_hidden_name(hidden_filename) logger.info("File '%s' does not exist" % fspath) return @@ -391,7 +394,7 @@ class LocalfsSourceHandle(object): try: os.rename(fspath, stage_path) except OSError as e: - if e.errno == OS_NO_FILE_OR_DIR: + if e.errno in [OS_NO_FILE_OR_DIR, OS_NOT_A_DIR]: logger.info("Source does not exist: '%s'" % fspath) self.unregister_stage_name(stage_filename) return -- GitLab