Poodletooth-iLand/otp/settings/Settings.py
Master Jumblespeed d882959bfa switch to remote
2015-05-18 22:11:33 -04:00

37 lines
843 B
Python
Executable file

import collections
import json
import os
class Settings(collections.MutableMapping):
def __init__(self, filename):
self.filename = filename
self.store = {}
self.read()
def read(self):
if os.path.exists(self.filename):
with open(self.filename, 'r') as f:
self.store = json.load(f)
else:
self.write()
def write(self):
with open(self.filename, 'w') as f:
json.dump(self.store, f)
def __setitem__(self, key, value):
self.store[key] = value
self.write()
def __delitem__(self, key):
del self.store[key]
self.write()
def __getitem__(self, key):
return self.store[key]
def __iter__(self):
return iter(self.store)
def __len__(self):
return len(self.store)