def __init__(self,filename='INCAR'): OrderedDict.__init__(self) self.filename = filename # if the INCAR file does not exist, we create it: if not os.path.exists(filename): f = open(filename, 'w') f.close() f = open(filename,'r') incarString = f.read() f.close() incarlist = [] for data, dataStart, dataEnd in assignment.scanString(incarString): incarlist.append(data) continue # The OrteredDict is populated from the incarlist created above. for item in incarlist: key = item[0] val = item[1:] # We call the OrderedDict __setitem__ to avoid updating the file at this point OrderedDict.__setitem__(self, key, val) continue
def __setitem__(self, name, value): '''modify the builtin setitem behavior so that everytime a parameter is added or changed the INCAR file is written out so it is always up to date. ''' OrderedDict.__setitem__(self, name, value) if __debug__: print 'Updating after setting an item!' self.Write()
def __setitem__(self,name,value): '''modify the builtin setitem behavior so that everytime a parameter is added or changed the INCAR file is written out so it is always up to date. ''' OrderedDict.__setitem__(self,name,value) if __debug__: print 'Updating after setting an item!' self.Write()