Example #1
0
 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)
Example #2
0
 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