bank:
name: Bank Name
supported_operations: dict(FinTSOperations -> boolean)
+ supported_formats: dict(FinTSOperation -> ['urn:iso:std:iso:20022:tech:xsd:pain.001.003.03', ...])
+ supported_sepa_formats: ['urn:iso:std:iso:20022:tech:xsd:pain.001.003.03', ...]
accounts:
- iban: IBAN
account_number: Account Number
op: any(self.bpd.find_segment_first(cmd[0]+'I'+cmd[2:]+'S') for cmd in op.value)
for op in FinTSOperations
}
+ retval['bank']['supported_formats'] = {}
+ for op in FinTSOperations:
+ for segment in (self.bpd.find_segment_first(cmd[0] + 'I' + cmd[2:] + 'S') for cmd in op.value):
+ if not hasattr(segment, 'parameter'):
+ continue
+ formats = getattr(segment.parameter, 'supported_sepa_formats', [])
+ retval['bank']['supported_formats'][op] = list(
+ set(retval['bank']['supported_formats'].get(op, [])).union(set(formats))
+ )
hispas = self.bpd.find_segment_first('HISPAS')
if hispas:
retval['bank']['supported_sepa_formats'] = list(hispas.parameter.supported_sepa_formats)