Add datastore library
This commit is contained in:
parent
b8981c825d
commit
60afe1c484
|
@ -0,0 +1,34 @@
|
||||||
|
import time, json
|
||||||
|
import os.path as fs
|
||||||
|
|
||||||
|
class DataStore:
|
||||||
|
def __init__(self,filename="data.json"):
|
||||||
|
self.data = dict()
|
||||||
|
self.filename = filename
|
||||||
|
if fs.exists(filename):
|
||||||
|
self.load()
|
||||||
|
|
||||||
|
def get(self,k):
|
||||||
|
return self.data.get(k,{"value":None})["value"]
|
||||||
|
|
||||||
|
def set(self,k,v):
|
||||||
|
self.data[k]=dict(value=v,set=time.time())
|
||||||
|
self.save()
|
||||||
|
|
||||||
|
def getSetTime(self,k):
|
||||||
|
return self.data.get(k,{"set":None})["set"]
|
||||||
|
|
||||||
|
def __getitem__(self,k):
|
||||||
|
return self.get(k)
|
||||||
|
|
||||||
|
def __setitem__(self,k,v):
|
||||||
|
self.set(k,v)
|
||||||
|
|
||||||
|
def load(self):
|
||||||
|
with open(self.filename) as f:
|
||||||
|
self.data = json.load(f)["stored_data"]
|
||||||
|
|
||||||
|
def save(self):
|
||||||
|
with open(self.filename,"w") as f:
|
||||||
|
json.dump(dict(stored_data=self.data),f)
|
||||||
|
|
Reference in New Issue