Skip to content

Commit

Permalink
[ADD] Non standard TAG on SIAMM: GPS, FIX tag case in SIAMM xml to av…
Browse files Browse the repository at this point in the history
…oid reject by https://lsg.giustizia.it
  • Loading branch information
gigidn committed Dec 15, 2015
1 parent 1652c05 commit 85dc862
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 19 deletions.
36 changes: 18 additions & 18 deletions PyFePA/siamm.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
'M35P', 'M36P', 'M37P', 'M38P', 'M39P', 'M40P', 'M42P', 'IGN', 'M45P','M46P',
'M52P', 'M53P', 'M54P', 'MAIP')

TI = ('A', 'B', 'C', 'I', 'D', 'T', 'M', 'N')
TI = ('A', 'B', 'C', 'I', 'D', 'T', 'M', 'N', 'GPS')


class ValidateException(Exception):
Expand Down Expand Up @@ -109,32 +109,32 @@ def _siam_serialize(value):

validate(value)

intercettazioni = etree.Element('Intercettazioni')
intercettazioni = etree.Element('INTERCETTAZIONI')
(etree.SubElement(intercettazioni, 'ID')).text = str(value['id']) if 'id' in value else '1'
(etree.SubElement(intercettazioni, 'Beneficiario')).text = unicode(value['beneficiario'].strip('IT'))
(etree.SubElement(intercettazioni, 'TipoPagamento')).text = value['tipopagamento']
(etree.SubElement(intercettazioni, 'EntePagante')).text = value['entepagante']
(etree.SubElement(intercettazioni, 'NumeroFattura')).text = value['numerofattura']
(etree.SubElement(intercettazioni, 'DataEmissioneProvv')).text = \
(etree.SubElement(intercettazioni, 'BENEFICIARIO')).text = unicode(value['beneficiario'].strip('IT'))
(etree.SubElement(intercettazioni, 'TIPOPAGAMENTO')).text = value['tipopagamento']
(etree.SubElement(intercettazioni, 'ENTEPAGANTE')).text = value['entepagante']
(etree.SubElement(intercettazioni, 'NUMEROFATTURA')).text = value['numerofattura']
(etree.SubElement(intercettazioni, 'DATAEMISSIONEPROVV')).text = \
"{:%Y-%m-%dT%H:%M:%S}".format(value['dataemissioneprovv']) if 'dataemissioneprovv' in value else ''
(etree.SubElement(intercettazioni, 'NumeroModello37')).text = \
(etree.SubElement(intercettazioni, 'NUMEROMODELLO37')).text = \
value['numeromodello37'] if 'numeromodello37' in value else None
(etree.SubElement(intercettazioni, 'Registro')).text = value['registro']
(etree.SubElement(intercettazioni, 'DataFattura')).text = \
(etree.SubElement(intercettazioni, 'REGISTRO')).text = value['registro']
(etree.SubElement(intercettazioni, 'DATAFATTURA')).text = \
"{:%Y-%m-%dT%H:%M:%S}".format(value['datafattura'])
(etree.SubElement(intercettazioni, 'ImportoTotale')).text = \
(etree.SubElement(intercettazioni, 'IMPORTOTOTALE')).text = \
'{:.2f}'.format(float(value['importototale']))
(etree.SubElement(intercettazioni, 'ImportoIVA')).text = \
(etree.SubElement(intercettazioni, 'IMPORTOIVA')).text = \
'{:.2f}'.format(float(value['importoiva']))
(etree.SubElement(intercettazioni, 'NR_RG')).text = value['nr_rg'] if 'nr_rg' in value else None
(etree.SubElement(intercettazioni, 'Sede')).text = value['sede']
(etree.SubElement(intercettazioni, 'DataInizioPrestazione')).text = \
(etree.SubElement(intercettazioni, 'SEDE')).text = value['sede']
(etree.SubElement(intercettazioni, 'DATAINIZIOPRESTAZIONE')).text = \
"{:%Y-%m-%dT%H:%M:%S}".format(value['datainizioprestazione'])
(etree.SubElement(intercettazioni, 'DataFinePrestazione')).text = \
(etree.SubElement(intercettazioni, 'DATAFINEPRESTAZIONE')).text = \
"{:%Y-%m-%dT%H:%M:%S}".format(value['datafineprestazione'])
(etree.SubElement(intercettazioni, 'CognomeMagistrato')).text = unicode(value['cognomemagistrato'])
(etree.SubElement(intercettazioni, 'NomeMagistrato')).text = unicode(value['nomemagistrato'])
(etree.SubElement(intercettazioni, 'TipoIntercettazione')).text = value['tipointercettazione']
(etree.SubElement(intercettazioni, 'COGNOMEMAGISTRATO')).text = unicode(value['cognomemagistrato'])
(etree.SubElement(intercettazioni, 'NOMEMAGISTRATO')).text = unicode(value['nomemagistrato'])
(etree.SubElement(intercettazioni, 'TIPOINTERCETTAZIONE')).text = value['tipointercettazione']

return intercettazioni

Expand Down
2 changes: 1 addition & 1 deletion PyFePA/test/test_siamm.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ def testSerializationOptional(self):
ser = siamm.serialize(errordata)
idint = True if ser.find('<ID>1</ID>') != -1 else False
nrrg = True if (ser.find('<NR_RG/>') != -1 or ser.find('<NR_RG />') != -1) else False
mod37 = True if (ser.find('<NumeroModello37 />') != -1 or ser.find('<NumeroModello37/>') != -1) else False
mod37 = True if (ser.find('<NUMEROMODELLO37 />') != -1 or ser.find('<NUMEROMODELLO37/>') != -1) else False
self.assertEqual(True,idint)
self.assertEqual(True,nrrg)
self.assertEqual(True,mod37)

0 comments on commit 85dc862

Please sign in to comment.