parent
c6ea71901d
commit
6575b8059e
@ -0,0 +1,37 @@
|
||||
# mock implementation using binary file
|
||||
|
||||
import ustruct
|
||||
|
||||
def Config():
|
||||
|
||||
def __init__(self, filename):
|
||||
self._data = {}
|
||||
self._file = filename
|
||||
try:
|
||||
with open(self._file, 'rb') as f:
|
||||
while True:
|
||||
d = f.read(4)
|
||||
if len(d) != 4:
|
||||
break
|
||||
k, l = ustruct.unpack('<HH', d)
|
||||
v = f.read(l)
|
||||
self._data[k] = v
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
def _save(self):
|
||||
with open(self._file, 'wb') as f:
|
||||
for k, v in self._data.items():
|
||||
f.write(ustruct.pack('<HH', k, len(v)))
|
||||
f.write(v)
|
||||
|
||||
def get(self, app_id, key, default=None):
|
||||
return self._data.get((app_id << 8) | key, default)
|
||||
|
||||
def set(self, app_id, key, value):
|
||||
self._data[(app_id << 8) | key] = value
|
||||
self._save()
|
||||
|
||||
def wipe(self):
|
||||
self._data = {}
|
||||
self._save()
|
@ -1 +1 @@
|
||||
Subproject commit 934b3cd1fbef79fd6b079b787e6e3225bbe5684c
|
||||
Subproject commit 5543b20345cfd2f8e4660c04bd8c5e588c9b9dd6
|
Loading…
Reference in new issue