2 import xml.etree.ElementTree
as ET
3 import LeenoDialogs
as DLG
10 estrae dal file XML i dati dell'elenco prezzi
11 I dati estratti avranno il formato seguente:
21 artList = { codice : articolo, ... }
23 superCatList = { codice : descrizione, ... }
24 catList = { codice : descrizione, ... }
28 'superCategorie': superCatList,
48 titolo = root.get(
'desc')
56 settori = root.findall(
'settore')
57 for settore
in settori:
59 codiceSuperCat = settore.attrib[
'cod']
60 superCat = settore.attrib[
'desc']
62 if not codiceSuperCat
in superCatList:
63 superCatList[codiceSuperCat] = superCat
65 capitoli = settore.findall(
'capitolo')
66 for capitolo
in capitoli:
67 codiceCat = capitolo.attrib[
'cod']
68 Cat = capitolo.attrib[
'desc']
70 if not codiceCat
in catList:
71 catList[codiceCat] = Cat
73 paragrafi = capitolo.findall(
'paragrafo')
74 for paragrafo
in paragrafi:
75 codiceCat = paragrafo.attrib[
'cod']
77 if not codiceCat
in catList:
78 catList[codiceCat] = paragrafo.find(
'sint').text
79 voce = paragrafo.find(
'estesa').text
81 paragrafo.find(
'tipologia').text
82 if paragrafo.find(
'tipologia').text ==
'Manodopera':
88 prezzi = paragrafo.findall(
'prezzi')
91 if voce ==
None: voce =
''
95 desc = voce +
'\n- ' + art
98 desc = desc.replace(
'\t',
' ').replace(
'è',
'è'
99 ).replace(
'°',
'°').replace(
'Ã',
'à').replace(
100 ' $',
'').replace(
'#13;',
' ').replace(
'\n \n',
'\n')
102 desc = desc.replace(
' ',
' ')
103 while '\n\n' in desc:
104 desc = desc.replace(
'\n\n',
'\n')
107 codice = el.attrib[
'cod']
108 um = el.attrib[
'umi']
109 prezzo = float(el.attrib[
'val'])
112 mdo = float(el.attrib[
'man']) / 100
132 'superCategorie': superCatList,
133 'categorie': catList,