canonicalwebteam.store-api 7.3.0__py3-none-any.whl → 7.3.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -89,12 +89,20 @@ class RedisCache:
89
89
  full_key = self._build_key(key)
90
90
  if self.redis_available:
91
91
  try:
92
- value = self.client.get(full_key)
93
- return self._deserialize(value, expected_type)
92
+ return self._deserialize(
93
+ self.client.get(full_key), expected_type
94
+ )
94
95
  except redis.RedisError as e:
95
96
  logger.error("Redis get error: %s", e)
96
- value = self.fallback.get(full_key)
97
- return value
97
+ else:
98
+ try:
99
+ return self._deserialize(
100
+ self.fallback[full_key], expected_type
101
+ )
102
+ except KeyError:
103
+ return None
104
+ except Exception as e:
105
+ logger.error("Fallback cache get error: %s", e)
98
106
 
99
107
  def set(
100
108
  self,
@@ -103,14 +111,18 @@ class RedisCache:
103
111
  ttl=300,
104
112
  ):
105
113
  full_key = self._build_key(key)
114
+ serialized = self._serialize(value)
106
115
  if self.redis_available:
107
116
  try:
108
- serialized = self._serialize(value)
109
117
  self.client.setex(full_key, ttl, serialized)
110
118
  return
111
119
  except redis.RedisError as e:
112
120
  logger.error("Redis set error: %s", e)
113
- self.fallback[full_key] = value
121
+ else:
122
+ try:
123
+ self.fallback[full_key] = serialized
124
+ except Exception as e:
125
+ logger.error("Fallback cache set error: %s", e)
114
126
 
115
127
  def delete(self, key: Union[str, tuple[str, Optional[dict[str, Any]]]]):
116
128
  full_key = self._build_key(key)
@@ -1,8 +1,9 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: canonicalwebteam.store-api
3
- Version: 7.3.0
3
+ Version: 7.3.1
4
4
  Summary:
5
5
  License: LGPL-3.0
6
+ License-File: LICENSE
6
7
  Author: Canonical Web Team
7
8
  Author-email: webteam@canonical.com
8
9
  Requires-Python: >=3.9,<4.0
@@ -13,6 +14,7 @@ Classifier: Programming Language :: Python :: 3.10
13
14
  Classifier: Programming Language :: Python :: 3.11
14
15
  Classifier: Programming Language :: Python :: 3.12
15
16
  Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Programming Language :: Python :: 3.14
16
18
  Requires-Dist: cachetools (>=6.2.0,<7.0.0)
17
19
  Requires-Dist: coverage (>=7.0,<8.0)
18
20
  Requires-Dist: mypy (>=1.14.1,<2.0.0)
@@ -7,8 +7,8 @@ canonicalwebteam/store_api/dashboard.py,sha256=M5JLjTTahN-bfiVz9SuP6ahLjqEvOalwm
7
7
  canonicalwebteam/store_api/devicegw.py,sha256=i42fnc29-CF3vM_tm7mwoOjQraDhu41EDkxILle1pQ4,10627
8
8
  canonicalwebteam/store_api/publishergw.py,sha256=u2D2Y76xC8ms16XTZcUe_KmRdcyzqOV2g0aN9HYZBrQ,29702
9
9
  canonicalwebteam/stores_web_redis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- canonicalwebteam/stores_web_redis/utility.py,sha256=W7tFZlPcuwnR8c9Jow2YTm4bwJmWf-iuOJEA0MyVT_4,3906
11
- canonicalwebteam_store_api-7.3.0.dist-info/LICENSE,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
12
- canonicalwebteam_store_api-7.3.0.dist-info/METADATA,sha256=Mr0N90yQziuvlkIsYh6WAZ_jxjOkSUcaMgbxgts37cU,2284
13
- canonicalwebteam_store_api-7.3.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
14
- canonicalwebteam_store_api-7.3.0.dist-info/RECORD,,
10
+ canonicalwebteam/stores_web_redis/utility.py,sha256=iT5Wb6tk53ywtDVWMcfzAT_Sljmvo0bdhaUg6uepT2o,4290
11
+ canonicalwebteam_store_api-7.3.1.dist-info/METADATA,sha256=0a78lqaDEwQNx7geY_EaMJHOw7WwJ2pUyoaS9ayWJXo,2357
12
+ canonicalwebteam_store_api-7.3.1.dist-info/WHEEL,sha256=M5asmiAlL6HEcOq52Yi5mmk9KmTVjY2RDPtO4p9DMrc,88
13
+ canonicalwebteam_store_api-7.3.1.dist-info/licenses/LICENSE,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
14
+ canonicalwebteam_store_api-7.3.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.3
2
+ Generator: poetry-core 2.2.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any