From: Raphael Michel Date: Mon, 23 Jul 2018 19:58:41 +0000 (+0200) Subject: Improve error messages X-Git-Tag: v1.0.0~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ea3cf5885ff43e4dd860bdd6fabe21188bb01214;p=thirdparty%2Fpython-fints.git Improve error messages --- diff --git a/fints/dialog.py b/fints/dialog.py index 1dc58b9..0b4a1a0 100644 --- a/fints/dialog.py +++ b/fints/dialog.py @@ -108,7 +108,9 @@ class FinTSDialog: try: resp = FinTSResponse(self.connection.send(msg)) if not resp.is_success(): - raise FinTSDialogError(resp.get_summary_by_segment('HIRMG')) + raise FinTSDialogError( + resp.get_summary_by_segment() + ) self.msgno += 1 return resp except: diff --git a/fints/message.py b/fints/message.py index 62656cc..a67298b 100644 --- a/fints/message.py +++ b/fints/message.py @@ -115,16 +115,21 @@ class FinTSResponse: raise ValueError('Could not find systemid') return m.group(1) - def get_summary_by_segment(self, name): - if name not in ('HIRMS', 'HIRMG'): + def get_summary_by_segment(self, name=None): + if name and name not in ('HIRMS', 'HIRMG'): raise ValueError('Unsupported segment for message summary') + if name: + names = [name] + else: + names = ('HIRMS', 'HIRMG') res = {} - seg = self._find_segment(name) - parts = split_for_data_groups(seg)[1:] - for de in parts: - de = split_for_data_elements(de) - res[de[0]] = de[2] + for name in names: + seg = self._find_segment(name) + parts = split_for_data_groups(seg)[1:] + for de in parts: + de = split_for_data_elements(de) + res[de[0]] = de[2] return res def get_hkkaz_max_version(self):