Skip to content

Commit 85dc862

Browse files
committed
[ADD] Non standard TAG on SIAMM: GPS, FIX tag case in SIAMM xml to avoid reject by https://lsg.giustizia.it
1 parent 1652c05 commit 85dc862

File tree

2 files changed

+19
-19
lines changed

2 files changed

+19
-19
lines changed

PyFePA/siamm.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
'M35P', 'M36P', 'M37P', 'M38P', 'M39P', 'M40P', 'M42P', 'IGN', 'M45P','M46P',
3636
'M52P', 'M53P', 'M54P', 'MAIP')
3737

38-
TI = ('A', 'B', 'C', 'I', 'D', 'T', 'M', 'N')
38+
TI = ('A', 'B', 'C', 'I', 'D', 'T', 'M', 'N', 'GPS')
3939

4040

4141
class ValidateException(Exception):
@@ -109,32 +109,32 @@ def _siam_serialize(value):
109109

110110
validate(value)
111111

112-
intercettazioni = etree.Element('Intercettazioni')
112+
intercettazioni = etree.Element('INTERCETTAZIONI')
113113
(etree.SubElement(intercettazioni, 'ID')).text = str(value['id']) if 'id' in value else '1'
114-
(etree.SubElement(intercettazioni, 'Beneficiario')).text = unicode(value['beneficiario'].strip('IT'))
115-
(etree.SubElement(intercettazioni, 'TipoPagamento')).text = value['tipopagamento']
116-
(etree.SubElement(intercettazioni, 'EntePagante')).text = value['entepagante']
117-
(etree.SubElement(intercettazioni, 'NumeroFattura')).text = value['numerofattura']
118-
(etree.SubElement(intercettazioni, 'DataEmissioneProvv')).text = \
114+
(etree.SubElement(intercettazioni, 'BENEFICIARIO')).text = unicode(value['beneficiario'].strip('IT'))
115+
(etree.SubElement(intercettazioni, 'TIPOPAGAMENTO')).text = value['tipopagamento']
116+
(etree.SubElement(intercettazioni, 'ENTEPAGANTE')).text = value['entepagante']
117+
(etree.SubElement(intercettazioni, 'NUMEROFATTURA')).text = value['numerofattura']
118+
(etree.SubElement(intercettazioni, 'DATAEMISSIONEPROVV')).text = \
119119
"{:%Y-%m-%dT%H:%M:%S}".format(value['dataemissioneprovv']) if 'dataemissioneprovv' in value else ''
120-
(etree.SubElement(intercettazioni, 'NumeroModello37')).text = \
120+
(etree.SubElement(intercettazioni, 'NUMEROMODELLO37')).text = \
121121
value['numeromodello37'] if 'numeromodello37' in value else None
122-
(etree.SubElement(intercettazioni, 'Registro')).text = value['registro']
123-
(etree.SubElement(intercettazioni, 'DataFattura')).text = \
122+
(etree.SubElement(intercettazioni, 'REGISTRO')).text = value['registro']
123+
(etree.SubElement(intercettazioni, 'DATAFATTURA')).text = \
124124
"{:%Y-%m-%dT%H:%M:%S}".format(value['datafattura'])
125-
(etree.SubElement(intercettazioni, 'ImportoTotale')).text = \
125+
(etree.SubElement(intercettazioni, 'IMPORTOTOTALE')).text = \
126126
'{:.2f}'.format(float(value['importototale']))
127-
(etree.SubElement(intercettazioni, 'ImportoIVA')).text = \
127+
(etree.SubElement(intercettazioni, 'IMPORTOIVA')).text = \
128128
'{:.2f}'.format(float(value['importoiva']))
129129
(etree.SubElement(intercettazioni, 'NR_RG')).text = value['nr_rg'] if 'nr_rg' in value else None
130-
(etree.SubElement(intercettazioni, 'Sede')).text = value['sede']
131-
(etree.SubElement(intercettazioni, 'DataInizioPrestazione')).text = \
130+
(etree.SubElement(intercettazioni, 'SEDE')).text = value['sede']
131+
(etree.SubElement(intercettazioni, 'DATAINIZIOPRESTAZIONE')).text = \
132132
"{:%Y-%m-%dT%H:%M:%S}".format(value['datainizioprestazione'])
133-
(etree.SubElement(intercettazioni, 'DataFinePrestazione')).text = \
133+
(etree.SubElement(intercettazioni, 'DATAFINEPRESTAZIONE')).text = \
134134
"{:%Y-%m-%dT%H:%M:%S}".format(value['datafineprestazione'])
135-
(etree.SubElement(intercettazioni, 'CognomeMagistrato')).text = unicode(value['cognomemagistrato'])
136-
(etree.SubElement(intercettazioni, 'NomeMagistrato')).text = unicode(value['nomemagistrato'])
137-
(etree.SubElement(intercettazioni, 'TipoIntercettazione')).text = value['tipointercettazione']
135+
(etree.SubElement(intercettazioni, 'COGNOMEMAGISTRATO')).text = unicode(value['cognomemagistrato'])
136+
(etree.SubElement(intercettazioni, 'NOMEMAGISTRATO')).text = unicode(value['nomemagistrato'])
137+
(etree.SubElement(intercettazioni, 'TIPOINTERCETTAZIONE')).text = value['tipointercettazione']
138138

139139
return intercettazioni
140140

PyFePA/test/test_siamm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ def testSerializationOptional(self):
146146
ser = siamm.serialize(errordata)
147147
idint = True if ser.find('<ID>1</ID>') != -1 else False
148148
nrrg = True if (ser.find('<NR_RG/>') != -1 or ser.find('<NR_RG />') != -1) else False
149-
mod37 = True if (ser.find('<NumeroModello37 />') != -1 or ser.find('<NumeroModello37/>') != -1) else False
149+
mod37 = True if (ser.find('<NUMEROMODELLO37 />') != -1 or ser.find('<NUMEROMODELLO37/>') != -1) else False
150150
self.assertEqual(True,idint)
151151
self.assertEqual(True,nrrg)
152152
self.assertEqual(True,mod37)

0 commit comments

Comments
 (0)