comparison env/lib/python3.7/site-packages/cachecontrol/cache.py @ 2:6af9afd405e9 draft

"planemo upload commit 0a63dd5f4d38a1f6944587f52a8cd79874177fc1"
author shellac
date Thu, 14 May 2020 14:56:58 -0400
parents 26e78fe6e8c4
children
comparison
equal deleted inserted replaced
1:75ca89e9b81c 2:6af9afd405e9
1 """
2 The cache object API for implementing caches. The default is a thread
3 safe in-memory dictionary.
4 """
5 from threading import Lock
6
7
8 class BaseCache(object):
9
10 def get(self, key):
11 raise NotImplemented()
12
13 def set(self, key, value):
14 raise NotImplemented()
15
16 def delete(self, key):
17 raise NotImplemented()
18
19 def close(self):
20 pass
21
22
23 class DictCache(BaseCache):
24
25 def __init__(self, init_dict=None):
26 self.lock = Lock()
27 self.data = init_dict or {}
28
29 def get(self, key):
30 return self.data.get(key, None)
31
32 def set(self, key, value):
33 with self.lock:
34 self.data.update({key: value})
35
36 def delete(self, key):
37 with self.lock:
38 if key in self.data:
39 self.data.pop(key)