diff options
author | Joe Gordon <jogo@pinterest.com> | 2021-09-22 12:59:17 -0700 |
---|---|---|
committer | Jon Parise <jon@pinterest.com> | 2022-02-20 12:03:14 -0800 |
commit | a5b349567920b4f4ad852e63911a3f71349949c7 (patch) | |
tree | 4f73cf41a9d690a54be8fffc390fad1832d10978 /pymemcache | |
parent | 4669da32b25b3de5f8eaaa542c1747b1f2707f0e (diff) | |
download | pymemcache-a5b349567920b4f4ad852e63911a3f71349949c7.tar.gz |
Use default for get ignore_exc
ignore_exc should treat an error as a cache miss and default specifies
what should be returned on a miss.
Fixes issue #350
Diffstat (limited to 'pymemcache')
-rw-r--r-- | pymemcache/client/base.py | 2 | ||||
-rw-r--r-- | pymemcache/test/test_client.py | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/pymemcache/client/base.py b/pymemcache/client/base.py index 438ffe7..2fde2fa 100644 --- a/pymemcache/client/base.py +++ b/pymemcache/client/base.py @@ -1287,7 +1287,7 @@ class PooledClient(object): return client.get(key, default) except Exception: if self.ignore_exc: - return None + return default else: raise diff --git a/pymemcache/test/test_client.py b/pymemcache/test/test_client.py index 9938404..94c1251 100644 --- a/pymemcache/test/test_client.py +++ b/pymemcache/test/test_client.py @@ -381,6 +381,16 @@ class ClientTestMixin(object): result = client.get(b'key', default='foobar') assert result == 'foobar' + def test_get_ignore_exc_default(self): + client = self.make_client([b'INVALID DATA\r\n'], ignore_exc=True) + result = client.get(b'key', default='foobar') + assert result == 'foobar' + + # Unit test for customized client (override _extract_value) + client = self.make_client([b'INVALID DATA\r\n'], ignore_exc=True) + result = client.get(b'key', default='foobar') + assert result == 'foobar' + def test_get_found(self): client = self.make_client([ b'STORED\r\n', |