Browse Source

Merge pull request #147 from akretion/10-fix-and-improve-camt

[10.0] camt: remove dead code and fix warning
pull/155/head
Alexis de Lattre 7 years ago
committed by GitHub
parent
commit
7dae943c85
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 25
      account_bank_statement_import_camt/models/parser.py
  2. 12
      account_bank_statement_import_camt/test_files/golden-camt053-txdtls.pydata
  3. 30
      account_bank_statement_import_camt/test_files/golden-camt053.pydata

25
account_bank_statement_import_camt/models/parser.py

@ -83,14 +83,6 @@ class CamtParser(models.AbstractModel):
if party_node:
self.add_value_from_node(
ns, party_node[0], './ns:Nm', transaction, 'partner_name')
self.add_value_from_node(
ns, party_node[0], './ns:PstlAdr/ns:Ctry', transaction,
'partner_country'
)
address_node = party_node[0].xpath(
'./ns:PstlAdr/ns:AdrLine', namespaces={'ns': ns})
if address_node:
transaction['partner_address'] = [address_node[0].text]
# Get remote_account from iban or from domestic account:
account_node = node.xpath(
'./ns:RltdPties/ns:%sAcct/ns:Id' % party_type,
@ -101,32 +93,17 @@ class CamtParser(models.AbstractModel):
'./ns:IBAN', namespaces={'ns': ns})
if iban_node:
transaction['account_number'] = iban_node[0].text
bic_node = node.xpath(
'./ns:RltdAgts/ns:%sAgt/ns:FinInstnId/ns:BIC' % party_type,
namespaces={'ns': ns}
)
if bic_node:
transaction['account_bic'] = bic_node[0].text
else:
self.add_value_from_node(
ns, account_node[0], './ns:Othr/ns:Id', transaction,
'account_number'
)
transaction['data'] = etree.tostring(node)
def parse_entry(self, ns, node):
"""Parse an Ntry node and yield transactions"""
transaction = {'name': '/', 'amount': 0} # fallback defaults
self.add_value_from_node(
ns, node, './ns:BkTxCd/ns:Prtry/ns:Cd', transaction,
'transfer_type'
)
self.add_value_from_node(
ns, node, './ns:BookgDt/ns:Dt', transaction, 'date')
self.add_value_from_node(
ns, node, './ns:BookgDt/ns:Dt', transaction, 'execution_date')
self.add_value_from_node(
ns, node, './ns:ValDt/ns:Dt', transaction, 'value_date')
amount = self.parse_amount(ns, node)
if amount != 0.0:
transaction['amount'] = amount
@ -196,8 +173,6 @@ class CamtParser(models.AbstractModel):
)
self.add_value_from_node(
ns, node, './ns:Id', result, 'name')
self.add_value_from_node(
ns, node, './ns:Dt', result, 'date')
self.add_value_from_node(
ns, node, './ns:Acct/ns:Ccy', result, 'currency')
result['balance_start'], result['balance_end_real'] = (

12
account_bank_statement_import_camt/test_files/golden-camt053-txdtls.pydata

@ -6,21 +6,13 @@
'name': '20170323123456789012345',
'transactions': [{'account_number': 'CH2222000000123456789',
'amount': 2187.0,
'data': '<TxDtls xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.04" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\n <Refs>\n <AcctSvcrRef>123456CHCAFEBABE</AcctSvcrRef>\n <Prtry>\n <Tp>01</Tp>\n <Ref>123456CHCAFEBABE</Ref>\n </Prtry>\n </Refs>\n <Amt Ccy="CHF">2187.00</Amt>\n <CdtDbtInd>CRDT</CdtDbtInd>\n <BkTxCd>\n <Domn>\n <Cd>PMNT</Cd>\n <Fmly>\n <Cd>RCDT</Cd>\n <SubFmlyCd>AUTT</SubFmlyCd>\n </Fmly>\n </Domn>\n </BkTxCd>\n <RltdPties>\n <Dbtr>\n <Nm>Banque Cantonale Vaudoise</Nm>\n <PstlAdr>\n <StrtNm>Place Saint-Fran&#231;ois</StrtNm>\n <BldgNb>14</BldgNb>\n <PstCd>1003</PstCd>\n <TwnNm>Lausanne</TwnNm>\n <Ctry>CH1</Ctry>\n </PstlAdr>\n </Dbtr>\n <DbtrAcct>\n <Id>\n <IBAN>CH2222000000123456789</IBAN>\n </Id>\n </DbtrAcct>\n </RltdPties>\n <RltdAgts>\n <DbtrAgt>\n <FinInstnId>\n <BICFI>POFICHBEXXX</BICFI>\n <Nm>POSTFINANCE AG</Nm>\n <PstlAdr>\n <AdrLine>MINGERSTRASSE 20</AdrLine>\n <AdrLine>3030 BERNE</AdrLine>\n </PstlAdr>\n </FinInstnId>\n </DbtrAgt>\n </RltdAgts>\n <RmtInf>\n <Strd>\n <CdtrRefInf>\n <Tp>\n <CdOrPrtry>\n <Prtry>ISR Reference</Prtry>\n </CdOrPrtry>\n </Tp>\n <Ref>302388292000011111111111111</Ref>\n </CdtrRefInf>\n <AddtlRmtInf>?REJECT?0</AddtlRmtInf>\n </Strd>\n </RmtInf>\n <RltdDts>\n <AccptncDtTm>2017-03-22T20:00:00</AccptncDtTm>\n </RltdDts>\n </TxDtls>\n ',
'date': '2017-03-22',
'execution_date': '2017-03-22',
'name': u'CR\xc9DIT GROUP\xc9 BVR TRAITEMENT DU 22.03.2017 NUM\xc9RO CLIENT 01-70884-3 PAQUET ID: 123456CHCAFEBABE',
'partner_country': 'CH1',
'partner_name': 'Banque Cantonale Vaudoise',
'ref': '302388292000011111111111111',
'value_date': '2017-03-23'},
'ref': '302388292000011111111111111'},
{'account_number': 'CH3333000000123456789',
'amount': 1296.0,
'data': '<TxDtls xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.04" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\n <Refs>\n <AcctSvcrRef>123456CHCAFEBABE</AcctSvcrRef>\n <Prtry>\n <Tp>01</Tp>\n <Ref>123456CHCAFEBABE</Ref>\n </Prtry>\n </Refs>\n <Amt Ccy="CHF">1296.00</Amt>\n <CdtDbtInd>CRDT</CdtDbtInd>\n <BkTxCd>\n <Domn>\n <Cd>PMNT</Cd>\n <Fmly>\n <Cd>RCDT</Cd>\n <SubFmlyCd>AUTT</SubFmlyCd>\n </Fmly>\n </Domn>\n </BkTxCd>\n <RltdPties>\n <Dbtr>\n <Nm>Banque Cantonale Vaudoise</Nm>\n <PstlAdr>\n <StrtNm>Place Saint-Fran&#231;ois</StrtNm>\n <BldgNb>14</BldgNb>\n <PstCd>1003</PstCd>\n <TwnNm>Lausanne</TwnNm>\n <Ctry>CH2</Ctry>\n </PstlAdr>\n </Dbtr>\n <DbtrAcct>\n <Id>\n <IBAN>CH3333000000123456789</IBAN>\n </Id>\n </DbtrAcct>\n </RltdPties>\n <RltdAgts>\n <DbtrAgt>\n <FinInstnId>\n <BICFI>POFICHBEYYY</BICFI>\n <Nm>POSTFINANCE AG</Nm>\n <PstlAdr>\n <AdrLine>MINGERSTRASSE 20</AdrLine>\n <AdrLine>3030 BERNE</AdrLine>\n </PstlAdr>\n </FinInstnId>\n </DbtrAgt>\n </RltdAgts>\n <RmtInf>\n <Strd>\n <CdtrRefInf>\n <Tp>\n <CdOrPrtry>\n <Prtry>ISR Reference</Prtry>\n </CdOrPrtry>\n </Tp>\n <Ref>302388292000022222222222222</Ref>\n </CdtrRefInf>\n <AddtlRmtInf>?REJECT?0</AddtlRmtInf>\n </Strd>\n </RmtInf>\n <RltdDts>\n <AccptncDtTm>2017-03-22T20:00:00</AccptncDtTm>\n </RltdDts>\n </TxDtls>\n ',
'date': '2017-03-22',
'execution_date': '2017-03-22',
'name': u'CR\xc9DIT GROUP\xc9 BVR TRAITEMENT DU 22.03.2017 NUM\xc9RO CLIENT 01-70884-3 PAQUET ID: 123456CHCAFEBABE',
'partner_country': 'CH2',
'partner_name': 'Banque Cantonale Vaudoise',
'ref': '302388292000022222222222222',
'value_date': '2017-03-23'}]}])
'ref': '302388292000022222222222222'}]}])

30
account_bank_statement_import_camt/test_files/golden-camt053.pydata

@ -4,42 +4,24 @@
'balance_start': 15568.27,
'date': '2014-01-05',
'name': '1234Test/1',
'transactions': [{'account_bic': 'ABNANL2A',
'account_number': 'NL46ABNA0499998748',
'transactions': [{'account_number': 'NL46ABNA0499998748',
'amount': -754.25,
'data': '<TxDtls xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02">\n <Refs>\n <InstrId>INNDNL2U20141231000142300002844</InstrId>\n <EndToEndId>435005714488-ABNO33052620</EndToEndId>\n <MndtId>1880000341866</MndtId>\n </Refs>\n <AmtDtls>\n <TxAmt>\n <Amt Ccy="EUR">754.25</Amt>\n </TxAmt>\n </AmtDtls>\n <RltdPties>\n <Cdtr>\n <Nm>INSURANCE COMPANY TESTX</Nm>\n <PstlAdr>\n <StrtNm>TEST STREET 20</StrtNm>\n <TwnNm>1234 AB TESTCITY</TwnNm>\n <Ctry>NL</Ctry>\n </PstlAdr>\n </Cdtr>\n <CdtrAcct>\n <Id>\n <IBAN>NL46ABNA0499998748</IBAN>\n </Id>\n </CdtrAcct>\n </RltdPties>\n <RltdAgts>\n <CdtrAgt>\n <FinInstnId>\n <BIC>ABNANL2A</BIC>\n </FinInstnId>\n </CdtrAgt>\n </RltdAgts>\n <RmtInf>\n <Ustrd>Insurance policy 857239PERIOD 01.01.2014 - 31.12.2014</Ustrd>\n </RmtInf>\n <AddtlTxInf>MKB Insurance 859239PERIOD 01.01.2014 - 31.12.2014</AddtlTxInf>\n </TxDtls>\n ',
'date': '2014-01-05',
'execution_date': '2014-01-05',
'name': 'MKB Insurance 859239PERIOD 01.01.2014 - 31.12.2014',
'note': 'Insurance policy 857239PERIOD 01.01.2014 - 31.12.2014',
'partner_country': 'NL',
'partner_name': 'INSURANCE COMPANY TESTX',
'ref': '435005714488-ABNO33052620',
'transfer_type': 'EI',
'value_date': '2014-01-05'},
{'account_bic': 'ABNANL2A',
'account_number': 'NL46ABNA0499998748',
'ref': '435005714488-ABNO33052620'},
{'account_number': 'NL46ABNA0499998748',
'amount': -594.05,
'data': '<TxDtls xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02">\n <Refs>\n <InstrId>TESTBANK/NL/20141229/01206408</InstrId>\n <EndToEndId>TESTBANK/NL/20141229/01206408</EndToEndId>\n <MndtId>NL22ZZZ524885430000-C0125.1</MndtId>\n </Refs>\n <AmtDtls>\n <TxAmt>\n <Amt Ccy="EUR">564.05</Amt>\n </TxAmt>\n </AmtDtls>\n <RltdPties>\n <Cdtr>\n <Nm>Test Customer</Nm>\n <PstlAdr>\n <Ctry>NL</Ctry>\n </PstlAdr>\n </Cdtr>\n <CdtrAcct>\n <Id>\n <IBAN>NL46ABNA0499998748</IBAN>\n </Id>\n </CdtrAcct>\n </RltdPties>\n <RltdAgts>\n <CdtrAgt>\n <FinInstnId>\n <BIC>ABNANL2A</BIC>\n </FinInstnId>\n </CdtrAgt>\n </RltdAgts>\n <RmtInf>\n <Ustrd>Direct Debit S14 0410</Ustrd>\n </RmtInf>\n <RtrInf>\n <Rsn>\n <Cd>AC06</Cd>\n </Rsn>\n </RtrInf>\n <AddtlTxInf>Direct debit S14 0410 AC07 Rek.nummer blokkade TESTBANK/NL/20141229/01206408</AddtlTxInf>\n </TxDtls>\n ',
'date': '2014-01-05',
'execution_date': '2014-01-05',
'name': 'Direct debit S14 0410 AC07 Rek.nummer blokkade TESTBANK/NL/20141229/01206408',
'note': 'Direct Debit S14 0410',
'partner_country': 'NL',
'partner_name': 'Test Customer',
'ref': 'TESTBANK/NL/20141229/01206408',
'transfer_type': 'EIST',
'value_date': '2014-01-05'},
{'account_bic': 'ABNANL2A',
'account_number': 'NL69ABNA0522123643',
'ref': 'TESTBANK/NL/20141229/01206408'},
{'account_number': 'NL69ABNA0522123643',
'amount': 1405.31,
'data': '<TxDtls xmlns="urn:iso:std:iso:20022:tech:xsd:camt.053.001.02">\n <Refs>\n <InstrId>INNDNL2U20140105000217200000708</InstrId>\n <EndToEndId>115</EndToEndId>\n </Refs>\n <AmtDtls>\n <TxAmt>\n <Amt Ccy="EUR">1405.31</Amt>\n </TxAmt>\n </AmtDtls>\n <RltdPties>\n <Dbtr>\n <Nm>3rd party Media</Nm>\n <PstlAdr>\n <StrtNm>SOMESTREET 570-A</StrtNm>\n <TwnNm>1276 ML HOUSCITY</TwnNm>\n <Ctry>NL</Ctry>\n </PstlAdr>\n </Dbtr>\n <DbtrAcct>\n <Id>\n <IBAN>NL69ABNA0522123643</IBAN>\n </Id>\n </DbtrAcct>\n </RltdPties>\n <RltdAgts>\n <DbtrAgt>\n <FinInstnId>\n <BIC>ABNANL2A</BIC>\n </FinInstnId>\n </DbtrAgt>\n </RltdAgts>\n <AddtlTxInf>#RD PARTY MEDIA CUSNO 90782 4210773</AddtlTxInf>\n </TxDtls>\n ',
'date': '2014-01-05',
'execution_date': '2014-01-05',
'name': '#RD PARTY MEDIA CUSNO 90782 4210773',
'note': 'INNDNL2U20140105000217200000708',
'partner_country': 'NL',
'partner_name': '3rd party Media',
'ref': '115',
'transfer_type': 'ET',
'value_date': '2014-01-05'}]}])
'ref': '115'}]}])
Loading…
Cancel
Save