# HG changeset patch # User Sylvain Thénault # Date 1269521215 -3600 # Node ID 57c4c6399b44b338b279426b52183d9f3a9b0445 # Parent b2c5aee8ca3f2d52ec65c3cad0bd17757f786c8c [source storage] on deletion, entity has no edited_attributes diff -r b2c5aee8ca3f -r 57c4c6399b44 server/sources/native.py --- a/server/sources/native.py Thu Mar 25 13:44:24 2010 +0100 +++ b/server/sources/native.py Thu Mar 25 13:46:55 2010 +0100 @@ -428,10 +428,14 @@ orig_values = {} etype = entity.__regid__ for attr, storage in self._storages.get(etype, {}).items(): - if attr in entity.edited_attributes: - orig_values[attr] = entity[attr] - handler = getattr(storage, 'entity_%s' % event) - handler(entity, attr) + try: + if attr in entity.edited_attributes: + orig_values[attr] = entity[attr] + handler = getattr(storage, 'entity_%s' % event) + handler(entity, attr) + except AttributeError: + assert event == 'deleted' + getattr(storage, 'entity_deleted')(entity, attr) yield # 2/ execute the source's instructions # 3/ restore original values for attr, value in orig_values.items():