From 21bf4dac322e6c44729734c5090949f90a8cfabe Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 12 Aug 2017 16:22:32 +0300 Subject: Fix: allow a bag to be removed to not exist --- obnamlib/bag_store.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/obnamlib/bag_store.py b/obnamlib/bag_store.py index 8581f6a9..39c4795b 100644 --- a/obnamlib/bag_store.py +++ b/obnamlib/bag_store.py @@ -17,9 +17,12 @@ import errno +import logging import os import random +import tracing + import obnamlib @@ -54,7 +57,9 @@ class BagStore(object): self._id_inventor.set_fs(fs) def reserve_bag_id(self): - return self._id_inventor.reserve_id() + reserved = self._id_inventor.reserve_id() + tracing.trace('id=%r', reserved) + return reserved def put_bag(self, bag): filename = self._make_bag_filename(bag.get_id()) @@ -88,7 +93,12 @@ class BagStore(object): def remove_bag(self, bag_id): filename = self._make_bag_filename(bag_id) - self._fs.remove(filename) + try: + self._fs.remove(filename) + except EnvironmentError as e: + logging.warning( + 'Tried to delete %s which does not exist:%d:%s', + filename, e.errno, str(e)) class IdInventor(object): -- cgit v1.2.1