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