server/sources/native.py
branchstable
changeset 5128 e5d300d75519
parent 5107 3694bd379513
child 5131 88b5ca8da928
equal deleted inserted replaced
5127:3c2dda44e2f6 5128:e5d300d75519
   480                     handler = getattr(storage, 'entity_%s' % event)
   480                     handler = getattr(storage, 'entity_%s' % event)
   481                     handler(entity, attr)
   481                     handler(entity, attr)
   482             except AttributeError:
   482             except AttributeError:
   483                 assert event == 'deleted'
   483                 assert event == 'deleted'
   484                 getattr(storage, 'entity_deleted')(entity, attr)
   484                 getattr(storage, 'entity_deleted')(entity, attr)
   485         yield # 2/ execute the source's instructions
   485         try:
   486         # 3/ restore original values
   486             yield # 2/ execute the source's instructions
   487         for attr, value in orig_values.items():
   487         finally:
   488             entity[attr] = value
   488             # 3/ restore original values
       
   489             for attr, value in orig_values.items():
       
   490                 entity[attr] = value
   489 
   491 
   490     def add_entity(self, session, entity):
   492     def add_entity(self, session, entity):
   491         """add a new entity to the source"""
   493         """add a new entity to the source"""
   492         with self._storage_handler(entity, 'added'):
   494         with self._storage_handler(entity, 'added'):
   493             attrs = self.preprocess_entity(entity)
   495             attrs = self.preprocess_entity(entity)