# HG changeset patch # User Sylvain Thénault # Date 1268128268 -3600 # Node ID d4187a08ccdf96d20b2ebd22a0f163c7f4e624b7 # Parent 54969eec48eb9ef5fe9bdaee81ffffecae31f517 [hook] entity_oldnew_value may cause bug on attributes explicitly set to None diff -r 54969eec48eb -r d4187a08ccdf server/hook.py --- a/server/hook.py Tue Mar 09 10:49:57 2010 +0100 +++ b/server/hook.py Tue Mar 09 10:51:08 2010 +0100 @@ -86,16 +86,16 @@ VRegistry.REGISTRY_FACTORY['hooks'] = HooksRegistry - +_MARKER = object() def entity_oldnewvalue(entity, attr): """returns the couple (old attr value, new attr value) NOTE: will only work in a before_update_entity hook """ # get new value and remove from local dict to force a db query to # fetch old value - newvalue = entity.pop(attr, None) + newvalue = entity.pop(attr, _MARKER) oldvalue = getattr(entity, attr) - if newvalue is not None: + if newvalue is not _MARKER: entity[attr] = newvalue return oldvalue, newvalue