Example #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
Example #2
0
    def __init__(self, filename='INCAR'):
        OrderedDict.__init__(self)

        self.filename = filename

        if not os.path.exists(filename):
            return

        f = open(filename, 'r')

        lines = f.readlines()
        f.close()

        for line in lines:

            line = line.strip()
            if len(line) == 0:
                #empty line, ignore it
                continue

            #strip out comments.  on finding one, i chop off
            #everything to the right of the # sign
            # this mainly happens when reading in other peoples files
            # we never put comments in the input file when auto-generating them.
            if '#' in line:
                i = line.index('#')
                line = line[0:i]

            if '=' not in line:
                #not a keyword=value line
                # we can ignore the line
                continue

            elif ';' in line:
                #need to split up the line
                keyvals = line.split(';')
                for keyval in keyvals:
                    if '=' in keyval:
                        #make sure it is key=val
                        fields = keyval.split('=')
                        if len(fields) != 2:
                            raise Exception, 'key=val split did not give 2 fields:', keyval

                        key = fields[0]
                        val = fields[1]
                        self[key] = val
            else:
                fields = line.split('=')
                if len(fields) != 2:
                    raise Exception, 'key=val split did not give 2 fields:', keyval

                key = fields[0]
                val = fields[1]
                self[key] = val
Example #3
0
    def __init__(self,filename='INCAR'):
        OrderedDict.__init__(self)

        self.filename = filename
        
        if not os.path.exists(filename):
            return

        f = open(filename,'r')
    
        lines = f.readlines()
        f.close()

        for line in lines:
    
            line = line.strip()
            if len(line) == 0:
                #empty line, ignore it
                continue
            
            #strip out comments.  on finding one, i chop off
            #everything to the right of the # sign
            # this mainly happens when reading in other peoples files
            # we never put comments in the input file when auto-generating them.
            if '#' in line:
                i = line.index('#')
                line = line[0:i]
                                
            if '=' not in line:
                #not a keyword=value line
                # we can ignore the line
                continue

            elif ';' in line:
                #need to split up the line
                keyvals = line.split(';')
                for keyval in keyvals:
                    if '=' in keyval:
                        #make sure it is key=val
                        fields = keyval.split('=')
                        if len(fields) != 2:
                            raise Exception, 'key=val split did not give 2 fields:',keyval

                        key = fields[0]
                        val = fields[1]
                        self[key]=val
            else:
                fields = line.split('=')
                if len(fields) != 2:
                    raise Exception, 'key=val split did not give 2 fields:',keyval
        
                key = fields[0]
                val = fields[1]
                self[key]=val
Example #4
0
 def __init__(self, fn=""):
     OrderedDict.__init__(self)
     _DpkgDatalist.__init__(self, fn)
Example #5
0
 def __init__(self, iterable=None, **kwds):
     OrderedDict.__init__(self)
     Counter.__init__(self, iterable, **kwds)
Example #6
0
 def __init__(self, fn=""):
     OrderedDict.__init__(self)
     _DpkgDatalist.__init__(self, fn)
Example #7
0
 def __init__(self, iterable=None, **kwds):
     OrderedDict.__init__(self)
     Counter.__init__(self, iterable, **kwds)