]>
git.ipfire.org Git - thirdparty/python-fints.git/log
Henryk Plötz [Thu, 23 Aug 2018 23:33:35 +0000 (01:33 +0200)]
Allow pausing and resuming of dialogs
Henryk Plötz [Thu, 23 Aug 2018 21:08:44 +0000 (23:08 +0200)]
Implement automatic security_function choosing, implement H[IK]TAN[56] segments
Henryk Plötz [Thu, 23 Aug 2018 04:13:32 +0000 (06:13 +0200)]
Allow FinTS3Client state (system id, BPD, optionally: UPD) to be saved and restored.
Using this facility will reduce overhead/increase speed and make us a better citizen (no need to get a new system id every time).
Henryk Plötz [Wed, 22 Aug 2018 21:26:17 +0000 (23:26 +0200)]
Implement get_tan_descriptions()
Henryk Plötz [Tue, 21 Aug 2018 12:32:59 +0000 (14:32 +0200)]
Simply _find_highest_command() API. Implement get_holdings() (untested).
Henryk Plötz [Tue, 21 Aug 2018 08:49:34 +0000 (10:49 +0200)]
Make _find_highest_command reusable
Henryk Plötz [Tue, 21 Aug 2018 07:45:27 +0000 (09:45 +0200)]
Make touchdown fetching reusable
Henryk Plötz [Tue, 21 Aug 2018 07:34:02 +0000 (09:34 +0200)]
Improve dialog handling: Drastically reduce latancy.
+ Make FinTSDialog re-entrant: Entering the context multiple times will only init()/end() at the outermost layer
+ Turn FinTSClient into a context manager. Entering it will start a dialog that will be kept open, no need to repeatedly start/end dialogues
Example:
````
f = FinTS3PinTanClient(...)
with f:
accounts = f.get_sepa_accounts()
balance = f.get_balance(accounts[0])
statement = f.get_statement(accounts[0])
````
Henryk Plötz [Mon, 20 Aug 2018 22:59:04 +0000 (00:59 +0200)]
(Re-)implement get_statement() in new API
Henryk Plötz [Mon, 20 Aug 2018 20:26:24 +0000 (22:26 +0200)]
Improve BPD and UPD: Is now SegmentSequence, allows full querying.
Improve get_balance(): Ignore HISALS versions we don't know, don't blindly ask for highest version
Henryk Plötz [Mon, 20 Aug 2018 20:09:42 +0000 (22:09 +0200)]
Run isort
Henryk Plötz [Mon, 20 Aug 2018 00:45:29 +0000 (02:45 +0200)]
Implement HKSAL5/HISAL5
Henryk Plötz [Mon, 20 Aug 2018 00:11:58 +0000 (02:11 +0200)]
Make TwoStep (without TAN) work again
Henryk Plötz [Sun, 19 Aug 2018 23:15:23 +0000 (01:15 +0200)]
(Re-)Add one step PIN mechanism
Henryk Plötz [Sun, 19 Aug 2018 20:39:05 +0000 (22:39 +0200)]
Convert get_sepa_accounts() and get_balance() to new API. Move segments around. Implement new types.
Still missing: Dummy encryption, PIN authorization.
Henryk Plötz [Sun, 19 Aug 2018 18:48:16 +0000 (20:48 +0200)]
Add ZeroPaddedNumericField, Fix BooleanField._parse_value
Henryk Plötz [Sat, 18 Aug 2018 00:11:07 +0000 (02:11 +0200)]
Implement/doc more fields
Henryk Plötz [Thu, 16 Aug 2018 09:31:02 +0000 (11:31 +0200)]
More docs
Henryk Plötz [Tue, 14 Aug 2018 17:22:52 +0000 (19:22 +0200)]
Fix tests for new field names
Henryk Plötz [Tue, 14 Aug 2018 17:16:01 +0000 (19:16 +0200)]
Add a bad hack to RepresentableEnum to get docstrings on enum members. Make the documented output better
Henryk Plötz [Tue, 14 Aug 2018 15:42:03 +0000 (17:42 +0200)]
Add date/time fields
Henryk Plötz [Tue, 14 Aug 2018 14:50:16 +0000 (16:50 +0200)]
Improve documentation
Henryk Plötz [Sun, 12 Aug 2018 22:52:45 +0000 (00:52 +0200)]
Move Mixins to utils to get them out of the autodoc
Henryk Plötz [Sun, 12 Aug 2018 22:06:45 +0000 (00:06 +0200)]
Split into fints.types (internal and custom types), fints.fields (fields to be used in creating segments) and fints.segments.
Henryk Plötz [Sun, 12 Aug 2018 21:23:25 +0000 (23:23 +0200)]
Apply isort, remove unused imports
Henryk Plötz [Sun, 12 Aug 2018 12:25:46 +0000 (14:25 +0200)]
Add a 'robust mode': A parse error during interpretation of a segment will be turned into a Warning, and a generic object will be created.
Should guarantee that no exceptions are triggered during communication, even if there's a bug in the segment definitions. Downside: find_segments('FOO') might return instances that are not of subclass FOOx.
Compensation: Make all calls to find_segment type safe by requiring a specific subclass.
Henryk Plötz [Sun, 12 Aug 2018 11:07:32 +0000 (13:07 +0200)]
Cleanup autodoc, generate type information for all the fields
Henryk Plötz [Sat, 11 Aug 2018 21:38:10 +0000 (23:38 +0200)]
Allow querying by class instead of segment type name
Romain Rinie [Tue, 7 Aug 2018 07:54:55 +0000 (09:54 +0200)]
Escape and unescape character @
Henryk Plötz [Sat, 11 Aug 2018 21:26:33 +0000 (23:26 +0200)]
Improve documentation
Henryk Plötz [Sat, 11 Aug 2018 18:55:28 +0000 (20:55 +0200)]
get_sepa_accounts() working
Henryk Plötz [Sat, 11 Aug 2018 18:29:05 +0000 (20:29 +0200)]
Implement HITANS segments
Henryk Plötz [Sat, 11 Aug 2018 17:21:48 +0000 (19:21 +0200)]
Change Model: make all ParameterSegment subclasses "parameters" field singular
Henryk Plötz [Sat, 11 Aug 2018 16:18:14 +0000 (18:18 +0200)]
Work towards getting FinTS3Segment used in the normal flow.
Model change: Rename "response" to "responses", drop "response_" name prefix
Henryk Plötz [Sat, 11 Aug 2018 16:17:56 +0000 (18:17 +0200)]
Put test cases into files, parametrize test cases
Henryk Plötz [Sat, 11 Aug 2018 14:05:47 +0000 (16:05 +0200)]
Implement finding
Henryk Plötz [Fri, 10 Aug 2018 22:44:21 +0000 (00:44 +0200)]
Include code in docs, more docs
Henryk Plötz [Fri, 10 Aug 2018 22:01:42 +0000 (00:01 +0200)]
Fix and document serializer
Henryk Plötz [Fri, 10 Aug 2018 20:13:52 +0000 (22:13 +0200)]
Update documentation
Henryk Plötz [Fri, 10 Aug 2018 02:31:16 +0000 (04:31 +0200)]
Add some developer documentation
Henryk Plötz [Thu, 9 Aug 2018 23:42:32 +0000 (01:42 +0200)]
account_information in HIUPD6 is conditional
Henryk Plötz [Thu, 9 Aug 2018 23:30:03 +0000 (01:30 +0200)]
Experimental: print new parse for all incoming and outgoing messages
Henryk Plötz [Thu, 9 Aug 2018 23:28:07 +0000 (01:28 +0200)]
Add missing escaping (systemid sometimes has a +)
Henryk Plötz [Thu, 9 Aug 2018 23:16:22 +0000 (01:16 +0200)]
Add a PasswordField, fix BooleanField, fix some class definitions
Henryk Plötz [Thu, 9 Aug 2018 22:57:05 +0000 (00:57 +0200)]
Rename old FinTS3Segment to FinTS3SegmentOLD for coexistence with old code
Henryk Plötz [Thu, 9 Aug 2018 22:39:58 +0000 (00:39 +0200)]
Implement more generic Field types
Cleanup warnings in test
Henryk Plötz [Thu, 9 Aug 2018 22:24:33 +0000 (00:24 +0200)]
Improve test coverage slightly
Henryk Plötz [Thu, 9 Aug 2018 22:07:07 +0000 (00:07 +0200)]
flat_length_max is not used anymore
Henryk Plötz [Thu, 9 Aug 2018 22:05:15 +0000 (00:05 +0200)]
ValueList cannot actually contain another ValueList
Henryk Plötz [Thu, 9 Aug 2018 21:04:09 +0000 (23:04 +0200)]
Add tests for serializer
Henryk Plötz [Thu, 9 Aug 2018 21:02:21 +0000 (23:02 +0200)]
First working serializer
Henryk Plötz [Thu, 9 Aug 2018 19:07:40 +0000 (21:07 +0200)]
More DRY, less repeating
Henryk Plötz [Thu, 9 Aug 2018 19:06:56 +0000 (21:06 +0200)]
Fix field inheritance over more than one level
Henryk Plötz [Thu, 9 Aug 2018 17:21:21 +0000 (19:21 +0200)]
Implement HIPINS1
Henryk Plötz [Thu, 9 Aug 2018 17:21:13 +0000 (19:21 +0200)]
Nicer exception stack traces, again
Henryk Plötz [Thu, 9 Aug 2018 10:34:48 +0000 (12:34 +0200)]
Implement HITANS3
Henryk Plötz [Thu, 9 Aug 2018 10:30:02 +0000 (12:30 +0200)]
Make error exceptions more helpful
Henryk Plötz [Thu, 9 Aug 2018 00:10:56 +0000 (02:10 +0200)]
Ignore end-of-sequence for open-end multiple fields
Henryk Plötz [Wed, 8 Aug 2018 17:59:31 +0000 (19:59 +0200)]
Automatically trim ValueList with non-fixed length to minimum length (change tests to reflect that behaviour)
Henryk Plötz [Wed, 8 Aug 2018 17:53:29 +0000 (19:53 +0200)]
Implement HIUPA4 and HIUPD6
Henryk Plötz [Wed, 8 Aug 2018 17:34:01 +0000 (19:34 +0200)]
Fix parser for repeated and nested elements. Again.
Henryk Plötz [Wed, 8 Aug 2018 16:04:04 +0000 (18:04 +0200)]
Check that FinTS3Segments only have DE or DEG fields
Henryk Plötz [Wed, 8 Aug 2018 15:25:11 +0000 (17:25 +0200)]
More edge cases
Henryk Plötz [Wed, 8 Aug 2018 11:07:04 +0000 (13:07 +0200)]
Improve nested output of ValueList fields
Henryk Plötz [Wed, 8 Aug 2018 10:58:30 +0000 (12:58 +0200)]
Fix logic error in counted elements parser, can now parse HIRMG2
Henryk Plötz [Wed, 8 Aug 2018 02:40:03 +0000 (04:40 +0200)]
Add test for parsing of count-repeated fields
Henryk Plötz [Wed, 8 Aug 2018 02:26:32 +0000 (04:26 +0200)]
Add HNSHA2 and HIRMG2, trigger parser incompleteness
Henryk Plötz [Tue, 7 Aug 2018 23:56:47 +0000 (01:56 +0200)]
Shorten output by suppressing unset and optional fields
Henryk Plötz [Tue, 7 Aug 2018 22:15:09 +0000 (00:15 +0200)]
Implement rendering for most fields
Henryk Plötz [Tue, 7 Aug 2018 15:36:47 +0000 (17:36 +0200)]
Only ignore non-present fields if they're not required
Henryk Plötz [Tue, 7 Aug 2018 15:24:24 +0000 (17:24 +0200)]
Test eval of repr() output
Henryk Plötz [Tue, 7 Aug 2018 14:45:56 +0000 (16:45 +0200)]
Make SegmentHeader output shorter
Henryk Plötz [Mon, 6 Aug 2018 18:14:09 +0000 (20:14 +0200)]
Do not ignore tests
Henryk Plötz [Mon, 6 Aug 2018 18:09:49 +0000 (20:09 +0200)]
New-style object oriented interface
Henryk Plötz [Mon, 30 Jul 2018 15:46:30 +0000 (17:46 +0200)]
Add full FinTS parser. Significantly changes the internal API, as segments are now lists of lists.
Fully supports all escaping and binary content. Decodes 'normal' data from ISO-8859-1 to Python strings, leaves binary data as binary.
Still broken: get_holdings()/HIWPD
Andreas Madsack [Tue, 23 Oct 2018 16:33:25 +0000 (18:33 +0200)]
fixed typo
Raphael Michel [Thu, 4 Oct 2018 07:47:48 +0000 (09:47 +0200)]
Minor documentation fixes
Romain Rinie [Tue, 7 Aug 2018 07:54:55 +0000 (09:54 +0200)]
Escape and unescape character @
Raphael Michel [Sun, 5 Aug 2018 09:32:13 +0000 (11:32 +0200)]
Bump version to 1.0.1
Henryk Plötz [Sun, 29 Jul 2018 19:58:52 +0000 (21:58 +0200)]
Add TANMethod1 through 4 to the documentation
Henryk Plötz [Sun, 29 Jul 2018 08:45:37 +0000 (10:45 +0200)]
Add HITANS versions 1 through 4
Raphael Michel [Thu, 26 Jul 2018 20:31:33 +0000 (22:31 +0200)]
Bump release
Raphael Michel [Thu, 26 Jul 2018 20:30:38 +0000 (22:30 +0200)]
Fix PyPI link
Raphael Michel [Thu, 26 Jul 2018 20:25:50 +0000 (22:25 +0200)]
Add docs
Raphael Michel [Thu, 26 Jul 2018 09:24:14 +0000 (11:24 +0200)]
Add FlickerCode implementation
Raphael Michel [Wed, 25 Jul 2018 16:49:13 +0000 (18:49 +0200)]
Implement direct debit
Raphael Michel [Wed, 25 Jul 2018 16:39:03 +0000 (18:39 +0200)]
Multi-transfer
Raphael Michel [Wed, 25 Jul 2018 16:04:59 +0000 (18:04 +0200)]
Update README
Raphael Michel [Wed, 25 Jul 2018 15:54:55 +0000 (17:54 +0200)]
Default to date in the past
Raphael Michel [Wed, 25 Jul 2018 15:37:21 +0000 (17:37 +0200)]
Support more HKTAN segment versions
Raphael Michel [Wed, 25 Jul 2018 14:33:11 +0000 (16:33 +0200)]
TAN support in HNSHA
Raphael Michel [Wed, 25 Jul 2018 14:26:24 +0000 (16:26 +0200)]
Parse TAN challenge
Raphael Michel [Wed, 25 Jul 2018 13:31:15 +0000 (15:31 +0200)]
Do not parse bank parameter data in two places
Raphael Michel [Wed, 25 Jul 2018 13:09:06 +0000 (15:09 +0200)]
Use sepaxml to generate PAIN message
Raphael Michel [Mon, 23 Jul 2018 19:58:41 +0000 (21:58 +0200)]
Improve error messages
Raphael Michel [Mon, 23 Jul 2018 19:11:34 +0000 (21:11 +0200)]
Parse full HKTAN segment
Raphael Michel [Mon, 23 Jul 2018 18:18:18 +0000 (20:18 +0200)]
Use English terminology
Raphael Michel [Mon, 23 Jul 2018 18:10:10 +0000 (20:10 +0200)]
Give credit to Daniel
Daniel Nowak [Mon, 23 Jul 2018 17:59:08 +0000 (19:59 +0200)]
Bank transfer patch bei Daniel Nowak
Lukas Großberger [Thu, 28 Jun 2018 13:06:54 +0000 (15:06 +0200)]
replace pin variable with getpass in README (#28)
to prevent people from having python files with their bank login lying around