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

Remove BaseCollection.update

I don't think that this can be used for optimizations.

It's useless in the filesystem backend, SQL has REPLACE and I doubt that there is much use in any other storage mechanism.
This commit is contained in:
Unrud 2016-08-25 06:28:20 +02:00
parent 79bfa9c1d3
commit c5342d36d5
2 changed files with 2 additions and 28 deletions

View file

@ -318,7 +318,7 @@ 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 upload_all(self, vobject_items):
@ -334,16 +334,6 @@ class BaseCollection:
for href, vobject_item in vobject_items.items()
]
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.
@ -644,19 +634,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())