From fc92697c3bde25dd89ba92f47bdb8e268fd6424c Mon Sep 17 00:00:00 2001 From: Fabian Vogt Date: Wed, 30 Oct 2024 11:01:38 +0100 Subject: [PATCH] osclib/memoize: Fix memoize without session=True shelf only supports str as key, so convert bytes to str. --- osclib/memoize.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/osclib/memoize.py b/osclib/memoize.py index 2c6f75ee..ed89be4e 100644 --- a/osclib/memoize.py +++ b/osclib/memoize.py @@ -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))