1
0
Fork 0
mirror of https://github.com/Kozea/Radicale.git synced 2025-08-01 18:18:31 +00:00

Merge branch 'remupdate' of https://github.com/Unrud/Radicale into Unrud-remupdate

This commit is contained in:
Guillaume Ayoub 2016-08-26 22:50:26 +02:00
commit 9e78454da2
2 changed files with 2 additions and 28 deletions

View file

@ -320,19 +320,9 @@ class BaseCollection:
return self.get(href) is not None
def upload(self, href, vobject_item):
"""Upload a new item."""
"""Upload a new or replace an existing item."""
raise NotImplementedError
def update(self, href, vobject_item):
"""Update an item.
Functionally similar to ``delete`` plus ``upload``, but might bring
performance benefits on some storages when used cleverly.
"""
self.delete(href)
self.upload(href, vobject_item)
def delete(self, href=None):
"""Delete an item.
@ -654,19 +644,6 @@ class Collection(BaseCollection):
if not is_safe_filesystem_path_component(href):
raise UnsafePathError(href)
path = path_to_filesystem(self._filesystem_path, href)
if os.path.exists(path):
raise ComponentExistsError(href)
item = Item(self, vobject_item, href)
with self._atomic_write(path, newline="") as fd:
fd.write(item.serialize())
return item
def update(self, href, vobject_item):
if not is_safe_filesystem_path_component(href):
raise UnsafePathError(href)
path = path_to_filesystem(self._filesystem_path, href)
if not os.path.isfile(path):
raise ComponentNotFoundError(href)
item = Item(self, vobject_item, href)
with self._atomic_write(path, newline="") as fd:
fd.write(item.serialize())