Ejemplo n.º 1
0
    def parse_vallokal(self, vl):
        #print("parse_vallokal")
        #print(vl)
        vallokal = NestedDict()
        with io.StringIO(vl, newline='') as vlf:
            reader = csv.reader(vlf, delimiter=':', skipinitialspace=True)
            for row in reader:
                #print(row)
                if len(row) <= 1:
                    pass
                elif row[0] == 'L':
                    #print("Found Län: {0}({1})".format(row[2], row[1]))
                    vallokal[row[1]] = { 'type': 'L', 'id': (row[1],), 'name': row[2] }
                    try:
                        vallokal['l'].append(row[1])
                    except:
                        vallokal['l'] = []
                        vallokal['l'].append(row[1])
                    #print("Saved län ")
                    #self.pp.pprint(vallokal[row[1]])
                    #self.pp.pprint(vallokal['l'])
                elif row[0] == 'K':
                    #print("Found Kommun: {0}({1})".format(row[4], row[1]))
                    vallokal[row[1]] = \
                    { 'type': 'K', 'id': (row[2], row[3]), 'name': row[4] }
                    try:
                        vallokal['kl'][row[2]].append(row[3])
                    except:
                        vallokal['kl'][row[2]] = []
                        vallokal['kl'][row[2]].append(row[3])
                    #print("Saved län ")
                    #self.pp.pprint(vallokal[row[1]])
                    #self.pp.pprint(vallokal['kl'][row[2]])
                elif row[0] == 'V':
                    #print("Found Län: {0}({1})".format(row[5], row[1]))
                    vallokal[row[1]] = \
                    { 'type': 'V', 'id': (row[2], row[3], row[4]), 'name': row[5] }
                    try:
                        vallokal['vk'][row[2]+row[3]].append(row[4])
                    except:
                        vallokal['vk'][row[2]+row[3]] = []
                        vallokal['vk'][row[2]+row[3]].append(row[4])
                    #print("Saved län ")
                    #self.pp.pprint(vallokal[row[1]])
                    #self.pp.pprint(vallokal['l'])
                else:
                    pass

        return vallokal
Ejemplo n.º 2
0
    def __init__(self, type):
        #self.pp = pprint.PrettyPrinter()
        resultXslt = "slutresultat.xslt"

        resultPath = Path('data/slutresultat')
        files = resultPath.glob('slutresultat_????' + type + '.xml')

        rXslt = etree.parse(resultXslt)
        rTransform = etree.XSLT(rXslt)

        self.resultdb = NestedDict()
        for f in files:
            #print('Parsing ', f)
            #print('-------------')
            rDom = etree.parse(str(f))
            rTrans = str(rTransform(rDom))
            #print(rTrans)
            #print('-------------')

            self.resultdb = self.parse_result(rTrans, self.resultdb)