# HG changeset patch # User Thierry Florac # Date 1523364260 -7200 # Node ID f124b8ffaa504473f39341045f6ebbd36d449b74 # Parent 07d7bca9e2afd4e3237e539d46e3e4bce0a34cd3 Updated default cache key adapters diff -r 07d7bca9e2af -r f124b8ffaa50 src/pyams_utils/cache.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/pyams_utils/cache.py Tue Apr 10 14:44:20 2018 +0200 @@ -0,0 +1,38 @@ +# +# Copyright (c) 2008-2015 Thierry Florac +# All Rights Reserved. +# +# This software is subject to the provisions of the Zope Public License, +# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED +# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS +# FOR A PARTICULAR PURPOSE. +# + +__docformat__ = 'restructuredtext' + + +# import standard library + +# import interfaces +from persistent.interfaces import IPersistent +from pyams_utils.interfaces import ICacheKeyValue + +# import packages +from pyams_utils.adapter import adapter_config + + +@adapter_config(context=object, provides=ICacheKeyValue) +def object_cache_key_adapter(obj): + return str(id(obj)) + + +@adapter_config(context=str, provides=ICacheKeyValue) +def string_cache_key_adapter(obj): + return obj + + +@adapter_config(context=IPersistent, provides=ICacheKeyValue) +def persistent_cache_key_adapter(obj): + return str(int.from_bytes(obj._p_oid, byteorder='big')) diff -r 07d7bca9e2af -r f124b8ffaa50 src/pyams_utils/zodb.py --- a/src/pyams_utils/zodb.py Thu Apr 05 15:32:14 2018 +0200 +++ b/src/pyams_utils/zodb.py Tue Apr 10 14:44:20 2018 +0200 @@ -17,7 +17,6 @@ # import interfaces from persistent.interfaces import IPersistent -from pyams_utils.interfaces import ICacheKeyValue from pyams_utils.interfaces.site import IOptionalUtility from pyams_utils.interfaces.zeo import IZEOConnection from transaction.interfaces import ITransactionManager @@ -71,16 +70,6 @@ # recent spelling. -@adapter_config(context=object, provides=ICacheKeyValue) -def object_key_adapter(obj): - return str(id(obj)) - - -@adapter_config(context=str, provides=ICacheKeyValue) -def string_key_adapter(obj): - return obj - - # # ZEO connection management #