Atomic MOVE in multifilesystem

This commit is contained in:
Unrud 2016-08-06 04:47:49 +02:00
parent 23582c8208
commit 5f66d009d6

View File

@ -534,6 +534,15 @@ class Collection(BaseCollection):
return cls(sane_path, principal=principal) return cls(sane_path, principal=principal)
@classmethod
def move(cls, item, to_collection, to_href):
os.rename(
path_to_filesystem(item.collection._filesystem_path, item.href),
path_to_filesystem(to_collection._filesystem_path, to_href))
sync_directory(to_collection._filesystem_path)
if item.collection._filesystem_path != to_collection._filesystem_path:
sync_directory(item.collection._filesystem_path)
def list(self): def list(self):
try: try:
hrefs = os.listdir(self._filesystem_path) hrefs = os.listdir(self._filesystem_path)