Skip to content

Commit

Permalink
fix serialization of init_tan_request for #114 (#128)
Browse files Browse the repository at this point in the history
* fix serialization of init_tan_request for #114

* fix array check
  • Loading branch information
mwalliczek committed Mar 28, 2024
1 parent d73abae commit c65c198
Showing 1 changed file with 23 additions and 9 deletions.
32 changes: 23 additions & 9 deletions fints/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -1021,8 +1021,12 @@ def __repr__(self):
@classmethod
def _from_data_v1(cls, data):
if data["version"] == 1:
segs = SegmentSequence(data['segments_bin']).segments
return cls(segs[0], segs[1], data['resume_method'], data['tan_request_structured'])
if "init_tan" in data:
segs = SegmentSequence(data['segments_bin']).segments
return cls(None, segs[0], data['resume_method'], data['tan_request_structured'])
else:
segs = SegmentSequence(data['segments_bin']).segments
return cls(segs[0], segs[1], data['resume_method'], data['tan_request_structured'])

raise Exception("Wrong blob data version")

Expand All @@ -1031,13 +1035,23 @@ def get_data(self) -> bytes:
To restore the object, use :func:`fints.client.NeedRetryResponse.from_data`.
"""
data = {
"_class_name": self.__class__.__name__,
"version": 1,
"segments_bin": SegmentSequence([self.command_seg, self.tan_request]).render_bytes(),
"resume_method": self.resume_method,
"tan_request_structured": self.tan_request_structured,
}
if self.command_seg:
data = {
"_class_name": self.__class__.__name__,
"version": 1,
"segments_bin": SegmentSequence([self.command_seg, self.tan_request]).render_bytes(),
"resume_method": self.resume_method,
"tan_request_structured": self.tan_request_structured,
}
else:
data = {
"_class_name": self.__class__.__name__,
"version": 1,
"init_tan": True,
"segments_bin": SegmentSequence([self.tan_request]).render_bytes(),
"resume_method": self.resume_method,
"tan_request_structured": self.tan_request_structured,
}
return compress_datablob(DATA_BLOB_MAGIC_RETRY, 1, data)

def _parse_tan_challenge(self):
Expand Down

0 comments on commit c65c198

Please sign in to comment.