Beispiel #1
0
    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
Beispiel #2
0
    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()
Beispiel #3
0
    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()