-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcache.py
59 lines (45 loc) · 1.13 KB
/
cache.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import os
import json
def empty():
pass
class Cache():
def __init__(self):
pass
def exists(self):
pass
def add(self):
pass
def get(self):
pass
def flush(self):
pass
class FileCache(Cache):
cache = {}
filename = ""
get_value_by_key = empty
def __init__(self, filename, ):
self.filename = filename
if(os.path.exists(filename)):
with open(filename, 'r', encoding='utf-8') as f:
self.cache = json.load(f)
else:
self.cache = {}
def exists(self, key):
if key in self.cache:
return True
else:
return False
def add(self, key, value):
self.cache[key] = value
# if self.exists(key):
# return
# else:
# self.cache[key] = value
def get(self, key):
if key in self.cache:
return(self.cache[key])
else:
return None
def flush(self):
with open(self.filename, 'w', encoding='utf-8') as f:
json.dump(self.cache, f, ensure_ascii=False, indent=4)