ocarina/libsaria/map.py

41 lines
732 B
Python

# Bryan Schumaker (8/7/2010)
data = None
class Map(dict):
savefile = None
def __init__(self, file=None):
dict.__init__(self)
self.savefile = file
self.reload()
def __setitem__(self, key, value):
dict.__setitem__(self, key, value)
self.save()
def __getitem__(self, key):
return dict.get(self, key, None)
def has(self,key):
return key in self
def save(self):
if self.savefile == None:
return
global data
if data == None:
import data
data.save(self, self.savefile)
def reload(self):
if self.savefile == None:
return
global data
if data == None:
import data
item = data.load(self.savefile)
if item == None:
return
for key in item:
dict.__setitem__(self, key, item[key])