34 lines
989 B
Python
34 lines
989 B
Python
import xdg.BaseDirectory
|
|
import os
|
|
|
|
class CacheFile:
|
|
params = None
|
|
|
|
def __init__(self):
|
|
if CacheFile.params is None:
|
|
CacheFile.params = {}
|
|
cfp = self.__cache_file_path()
|
|
if os.path.exists(cfp):
|
|
with open(cfp, "r") as f:
|
|
cache_content = f.read()
|
|
exec(cache_content, CacheFile.params)
|
|
del(CacheFile.params["__builtins__"])
|
|
|
|
def __getitem__(self, key):
|
|
return CacheFile.params.get(key, None)
|
|
|
|
def __setitem__(self, key, value):
|
|
CacheFile.params[key] = value
|
|
|
|
def write(self):
|
|
cfp = self.__cache_file_path()
|
|
with open(cfp, "w") as f:
|
|
for k, v in CacheFile.params.items():
|
|
f.write("%s = %s\n" % (k, repr(v)))
|
|
|
|
def __cache_dir(self):
|
|
return xdg.BaseDirectory.save_cache_path("simple-svn-browser")
|
|
|
|
def __cache_file_path(self):
|
|
return os.path.join(self.__cache_dir(), "settings")
|