]> git.ipfire.org Git - thirdparty/python-fints.git/commitdiff
Improve error messages
authorRaphael Michel <mail@raphaelmichel.de>
Mon, 23 Jul 2018 19:58:41 +0000 (21:58 +0200)
committerRaphael Michel <mail@raphaelmichel.de>
Mon, 23 Jul 2018 19:58:41 +0000 (21:58 +0200)
fints/dialog.py
fints/message.py

index 1dc58b9520967475cde86216529aeb11161514b9..0b4a1a0328f06e7b5ef343e36700ca88de55e4de 100644 (file)
@@ -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:
index 62656cc2fb74268f4142e563761f7104fc09a1a9..a67298bdfa376dea8dae3dfc860085a90565b25d 100644 (file)
@@ -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):