osclib/memoize: Fix memoize without session=True

shelf only supports str as key, so convert bytes to str.
This commit is contained in:
Fabian Vogt 2024-10-30 11:01:38 +01:00
parent a3417b2907
commit fc92697c3b

View File

@ -118,7 +118,8 @@ def memoize(ttl=None, session=False, add_invalidate=False):
# representation.
key = pickle.dumps(obj, protocol=-1)
key = pickle.dumps(pickle.loads(key), protocol=-1)
return key
# shelve only support str keys
return key if session else str(key)
def _invalidate(*args, **kwargs):
key = _key((args, kwargs))