From: Raphael Michel Date: Sun, 22 Dec 2019 16:22:04 +0000 (+0100) Subject: Add is_tan_media_required X-Git-Tag: v3.0.0~2^2~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0d108c1f64d7cc1e2186abe7766b124427314044;p=thirdparty%2Fpython-fints.git Add is_tan_media_required --- diff --git a/fints/client.py b/fints/client.py index fee94dd..6adee64 100644 --- a/fints/client.py +++ b/fints/client.py @@ -1160,6 +1160,12 @@ class FinTS3PinTanClient(FinTS3Client): return data + def is_tan_media_required(self): + tan_mechanism = self.get_tan_mechanisms()[self.get_current_tan_mechanism()] + return getattr(tan_mechanism, 'supported_media_number', None) is not None and \ + tan_mechanism.supported_media_number > 1 and \ + tan_mechanism.description_required == DescriptionRequired.MUST + def _get_tan_segment(self, orig_seg, tan_process, tan_seg=None): tan_mechanism = self.get_tan_mechanisms()[self.get_current_tan_mechanism()] @@ -1174,13 +1180,11 @@ class FinTS3PinTanClient(FinTS3Client): seg.account = account_ raise NotImplementedError("TAN-Process 1 not implemented") - if tan_process in ('1', '3', '4') and getattr(tan_mechanism, 'supported_media_number', None) is not None and \ - tan_mechanism.supported_media_number > 1 and \ - tan_mechanism.description_required == DescriptionRequired.MUST: - if self.selected_tan_medium: - seg.tan_medium_name = self.selected_tan_medium.tan_medium_name - else: - seg.tan_medium_name = 'DUMMY' + if tan_process in ('1', '3', '4') and self.is_tan_media_required(): + if self.selected_tan_medium: + seg.tan_medium_name = self.selected_tan_medium.tan_medium_name + else: + seg.tan_medium_name = 'DUMMY' if tan_process == '4' and tan_mechanism.VERSION >= 6: seg.segment_type = orig_seg.header.type