def delete(self, href, etag): try: entry = self._journal.collection.get(href) old_item = Item(entry.content) if old_item.hash != etag: raise exceptions.WrongEtagError(etag, old_item.hash) entry.delete() except etesync.exceptions.DoesNotExist as e: raise exceptions.NotFoundError(e)
def update(self, href, item, etag): try: entry = self._journal.collection.get(href) except etesync.exceptions.DoesNotExist as e: raise exceptions.NotFoundError(e) old_item = Item(entry.content) if old_item.hash != etag: raise exceptions.WrongEtagError(etag, old_item.hash) entry.content = item.raw entry.save() return item.hash