Skip to content

Commit 37f8425

Browse files
committed
moved some code to the base class
1 parent 5224c11 commit 37f8425

File tree

1 file changed

+1
-161
lines changed

1 file changed

+1
-161
lines changed

django_valkey/cache.py

Lines changed: 1 addition & 161 deletions
Original file line numberDiff line numberDiff line change
@@ -4,48 +4,13 @@
44

55
from valkey import Valkey
66

7-
from django_valkey.base import BaseValkeyCache
7+
from django_valkey.base import BaseValkeyCache, omit_exception
88
from django_valkey.client import DefaultClient
99
from django_valkey.exceptions import ConnectionInterrupted
1010

1111
CONNECTION_INTERRUPTED = object()
1212

1313

14-
def omit_exception(method: Callable | None = None, return_value: Any | None = None):
15-
"""
16-
Simple decorator that intercepts connection
17-
errors and ignores these if settings specify this.
18-
"""
19-
20-
if method is None:
21-
return functools.partial(omit_exception, return_value=return_value)
22-
23-
@functools.wraps(method)
24-
def _decorator(self, *args, **kwargs):
25-
try:
26-
return method(self, *args, **kwargs)
27-
except ConnectionInterrupted as e:
28-
if self._ignore_exceptions:
29-
if self._log_ignored_exceptions:
30-
self.logger.exception("Exception ignored")
31-
32-
return return_value
33-
raise e.__cause__ # noqa: B904
34-
35-
@functools.wraps(method)
36-
async def _async_decorator(self, *args, **kwargs):
37-
try:
38-
return await method(self, *args, **kwargs)
39-
except ConnectionInterrupted as e:
40-
if self._ignore_exceptions:
41-
if self._log_ignored_exceptions:
42-
self.logger.exception("Exception ignored")
43-
return return_value
44-
raise e.__cause__
45-
46-
return _async_decorator if iscoroutinefunction(method) else _decorator
47-
48-
4914
class ValkeyCache(BaseValkeyCache[DefaultClient, Valkey]):
5015
DEFAULT_CLIENT_CLASS = "django_valkey.client.DefaultClient"
5116

@@ -76,11 +41,6 @@ def delete(self, *args, **kwargs):
7641
result = self.client.delete(*args, **kwargs)
7742
return bool(result)
7843

79-
@omit_exception
80-
def delete_pattern(self, *args, **kwargs):
81-
kwargs.setdefault("itersize", self._default_scan_itersize)
82-
return self.client.delete_pattern(*args, **kwargs)
83-
8444
@omit_exception
8545
def delete_many(self, *args, **kwargs):
8646
return self.client.delete_many(*args, **kwargs)
@@ -117,130 +77,10 @@ def keys(self, *args, **kwargs):
11777
def iter_keys(self, *args, **kwargs):
11878
return self.client.iter_keys(*args, **kwargs)
11979

120-
@omit_exception
121-
def ttl(self, *args, **kwargs):
122-
return self.client.ttl(*args, **kwargs)
123-
124-
@omit_exception
125-
def pttl(self, *args, **kwargs):
126-
return self.client.pttl(*args, **kwargs)
127-
128-
@omit_exception
129-
def persist(self, *args, **kwargs):
130-
return self.client.persist(*args, **kwargs)
131-
132-
@omit_exception
133-
def expire(self, *args, **kwargs):
134-
return self.client.expire(*args, **kwargs)
135-
136-
@omit_exception
137-
def expire_at(self, *args, **kwargs):
138-
return self.client.expire_at(*args, **kwargs)
139-
140-
@omit_exception
141-
def pexpire(self, *args, **kwargs):
142-
return self.client.pexpire(*args, **kwargs)
143-
144-
@omit_exception
145-
def pexpire_at(self, *args, **kwargs):
146-
return self.client.pexpire_at(*args, **kwargs)
147-
148-
@omit_exception
149-
def lock(self, *args, **kwargs):
150-
return self.client.lock(*args, **kwargs)
151-
15280
@omit_exception
15381
def close(self):
15482
self.client.close()
15583

15684
@omit_exception
15785
def touch(self, *args, **kwargs):
15886
return self.client.touch(*args, **kwargs)
159-
160-
@omit_exception
161-
def sadd(self, *args, **kwargs):
162-
return self.client.sadd(*args, **kwargs)
163-
164-
@omit_exception
165-
def scard(self, *args, **kwargs):
166-
return self.client.scard(*args, **kwargs)
167-
168-
@omit_exception
169-
def sdiff(self, *args, **kwargs):
170-
return self.client.sdiff(*args, **kwargs)
171-
172-
@omit_exception
173-
def sdiffstore(self, *args, **kwargs):
174-
return self.client.sdiffstore(*args, **kwargs)
175-
176-
@omit_exception
177-
def sinter(self, *args, **kwargs):
178-
return self.client.sinter(*args, **kwargs)
179-
180-
@omit_exception
181-
def sinterstore(self, *args, **kwargs):
182-
return self.client.sinterstore(*args, **kwargs)
183-
184-
@omit_exception
185-
def sismember(self, *args, **kwargs):
186-
return self.client.sismember(*args, **kwargs)
187-
188-
@omit_exception
189-
def smembers(self, *args, **kwargs):
190-
return self.client.smembers(*args, **kwargs)
191-
192-
@omit_exception
193-
def smove(self, *args, **kwargs):
194-
return self.client.smove(*args, **kwargs)
195-
196-
@omit_exception
197-
def spop(self, *args, **kwargs):
198-
return self.client.spop(*args, **kwargs)
199-
200-
@omit_exception
201-
def srandmember(self, *args, **kwargs):
202-
return self.client.srandmember(*args, **kwargs)
203-
204-
@omit_exception
205-
def srem(self, *args, **kwargs):
206-
return self.client.srem(*args, **kwargs)
207-
208-
@omit_exception
209-
def sscan(self, *args, **kwargs):
210-
return self.client.sscan(*args, **kwargs)
211-
212-
@omit_exception
213-
def sscan_iter(self, *args, **kwargs):
214-
return self.client.sscan_iter(*args, **kwargs)
215-
216-
@omit_exception
217-
def smismember(self, *args, **kwargs):
218-
return self.client.smismember(*args, **kwargs)
219-
220-
@omit_exception
221-
def sunion(self, *args, **kwargs):
222-
return self.client.sunion(*args, **kwargs)
223-
224-
@omit_exception
225-
def sunionstore(self, *args, **kwargs):
226-
return self.client.sunionstore(*args, **kwargs)
227-
228-
@omit_exception
229-
def hset(self, *args, **kwargs):
230-
return self.client.hset(*args, **kwargs)
231-
232-
@omit_exception
233-
def hdel(self, *args, **kwargs):
234-
return self.client.hdel(*args, **kwargs)
235-
236-
@omit_exception
237-
def hlen(self, *args, **kwargs):
238-
return self.client.hlen(*args, **kwargs)
239-
240-
@omit_exception
241-
def hkeys(self, *args, **kwargs):
242-
return self.client.hkeys(*args, **kwargs)
243-
244-
@omit_exception
245-
def hexists(self, *args, **kwargs):
246-
return self.client.hexists(*args, **kwargs)

0 commit comments

Comments
 (0)