]> git.ipfire.org Git - thirdparty/python-fints.git/log
thirdparty/python-fints.git
6 years agoAdd documentation on Upgrading to 2.x 34/head
Raphael Michel [Fri, 7 Dec 2018 16:13:07 +0000 (17:13 +0100)] 
Add documentation on Upgrading to 2.x

6 years agoUse code examples in docs that might actually work
Raphael Michel [Fri, 7 Dec 2018 16:00:40 +0000 (17:00 +0100)] 
Use code examples in docs that might actually work

6 years agoStore amounts as Decimals, not floats, to prevent problems with the maximum length
Raphael Michel [Fri, 7 Dec 2018 15:45:08 +0000 (16:45 +0100)] 
Store amounts as Decimals, not floats, to prevent problems with the maximum length

6 years agoSupport SEPAAccounts outside of Germany
Raphael Michel [Fri, 7 Dec 2018 14:46:29 +0000 (15:46 +0100)] 
Support SEPAAccounts outside of Germany

6 years agoAdjust credits
Raphael Michel [Mon, 3 Dec 2018 20:07:01 +0000 (21:07 +0100)] 
Adjust credits

6 years agoImprove documentation
Raphael Michel [Mon, 3 Dec 2018 19:52:41 +0000 (20:52 +0100)] 
Improve documentation

6 years agoRemove a FIXME that appears to be resolved already
Raphael Michel [Mon, 3 Dec 2018 19:29:14 +0000 (20:29 +0100)] 
Remove a FIXME that appears to be resolved already

6 years agoAdd coverage configuration
Raphael Michel [Mon, 3 Dec 2018 19:25:51 +0000 (20:25 +0100)] 
Add coverage configuration

6 years agoRemove superfluous parameters
Raphael Michel [Mon, 3 Dec 2018 19:22:39 +0000 (20:22 +0100)] 
Remove superfluous parameters

6 years agoRename get_data/set_data to deconstruct/from_data
Raphael Michel [Mon, 3 Dec 2018 19:20:17 +0000 (20:20 +0100)] 
Rename get_data/set_data to deconstruct/from_data

6 years agoAdd pytest-mock to travis dependencies
Raphael Michel [Mon, 3 Dec 2018 19:13:17 +0000 (20:13 +0100)] 
Add pytest-mock to travis dependencies

6 years agoRemove unused code
Raphael Michel [Mon, 3 Dec 2018 19:13:12 +0000 (20:13 +0100)] 
Remove unused code

6 years agoMinor naming improvements
Raphael Michel [Mon, 3 Dec 2018 19:11:17 +0000 (20:11 +0100)] 
Minor naming improvements

6 years agoUse American English consistently (sorry!)
Raphael Michel [Mon, 3 Dec 2018 18:59:05 +0000 (19:59 +0100)] 
Use American English consistently (sorry!)

6 years agoFix simple transfers
Raphael Michel [Mon, 3 Dec 2018 18:50:55 +0000 (19:50 +0100)] 
Fix simple transfers

6 years agoFixes for Travis CI
Raphael Michel [Mon, 3 Dec 2018 18:50:02 +0000 (19:50 +0100)] 
Fixes for Travis CI

6 years agoAdd .travis.yml
Raphael Michel [Mon, 3 Dec 2018 18:29:43 +0000 (19:29 +0100)] 
Add .travis.yml

6 years agoFor KTI, we should not pass legacy bank information if we have SEPA
Raphael Michel [Mon, 3 Dec 2018 08:40:25 +0000 (09:40 +0100)] 
For KTI, we should not pass legacy bank information if we have SEPA

Otherwise, this breaks with

Nationale Kontoverbindung nicht erlaubt. (TRP)

6 years agoAllow passing Decimals to FloatField
Raphael Michel [Mon, 3 Dec 2018 08:23:09 +0000 (09:23 +0100)] 
Allow passing Decimals to FloatField

6 years agoPass PAIN messages as bytes
Raphael Michel [Mon, 3 Dec 2018 08:19:27 +0000 (09:19 +0100)] 
Pass PAIN messages as bytes

6 years agoFix a FIXME (by turning it into a note)
Henryk Plötz [Sat, 1 Dec 2018 23:04:29 +0000 (00:04 +0100)] 
Fix a FIXME (by turning it into a note)

6 years agoHKVVB3.product_version is limited to 5 characters.
Henryk Plötz [Sat, 1 Dec 2018 21:50:11 +0000 (22:50 +0100)] 
HKVVB3.product_version is limited to 5 characters.

6 years agoFix bugs found by linter
Raphael Michel [Thu, 29 Nov 2018 17:45:21 +0000 (18:45 +0100)] 
Fix bugs found by linter

6 years agoMore code style improvements
Raphael Michel [Thu, 29 Nov 2018 17:45:13 +0000 (18:45 +0100)] 
More code style improvements

6 years agoUse actual library version for product_version
Raphael Michel [Thu, 29 Nov 2018 17:30:18 +0000 (18:30 +0100)] 
Use actual library version for product_version

6 years agoUnify code style
Raphael Michel [Thu, 29 Nov 2018 17:29:55 +0000 (18:29 +0100)] 
Unify code style

6 years agoReplace another ValueError with FinTSUnsupportedOperation
Raphael Michel [Thu, 29 Nov 2018 17:04:23 +0000 (18:04 +0100)] 
Replace another ValueError with FinTSUnsupportedOperation

6 years agoThrow a custom exception on unsupported operation
Raphael Michel [Thu, 29 Nov 2018 17:04:03 +0000 (18:04 +0100)] 
Throw a custom exception on unsupported operation

6 years agoFix a syntax error in documentation
Raphael Michel [Thu, 29 Nov 2018 16:56:46 +0000 (17:56 +0100)] 
Fix a syntax error in documentation

6 years agoBump version (for pip installation)
Henryk Plötz [Fri, 2 Nov 2018 16:09:59 +0000 (17:09 +0100)] 
Bump version (for pip installation)

6 years agoImprove documentation
Henryk Plötz [Tue, 9 Oct 2018 15:32:57 +0000 (17:32 +0200)] 
Improve documentation

6 years agoAdd decoding of matrix like challenges (PhotoTAN). Fully untested
Henryk Plötz [Thu, 20 Sep 2018 19:30:20 +0000 (21:30 +0200)] 
Add decoding of matrix like challenges (PhotoTAN). Fully untested

6 years agoUpdate docs
Henryk Plötz [Sun, 16 Sep 2018 11:52:30 +0000 (13:52 +0200)] 
Update docs

6 years agoRe-shuffle docs, document new client stuff
Henryk Plötz [Sun, 16 Sep 2018 00:25:02 +0000 (02:25 +0200)] 
Re-shuffle docs, document new client stuff

6 years agoClean unused code
Henryk Plötz [Sat, 15 Sep 2018 23:20:26 +0000 (01:20 +0200)] 
Clean unused code

6 years agoAdd test for get_transactions and for fetching with touchdowns
Henryk Plötz [Mon, 10 Sep 2018 20:38:16 +0000 (22:38 +0200)] 
Add test for get_transactions and for fetching with touchdowns

6 years agoTest for get_data/from_data with NeedRetryResponse
Henryk Plötz [Mon, 10 Sep 2018 19:49:50 +0000 (21:49 +0200)] 
Test for get_data/from_data with NeedRetryResponse

6 years agoEnd-to-end test HHDUC
Henryk Plötz [Mon, 10 Sep 2018 17:48:40 +0000 (19:48 +0200)] 
End-to-end test HHDUC

6 years agoTest wrong authentication data
Henryk Plötz [Mon, 10 Sep 2018 17:31:07 +0000 (19:31 +0200)] 
Test wrong authentication data

6 years agoTest 2step transfer
Henryk Plötz [Mon, 10 Sep 2018 16:39:58 +0000 (18:39 +0200)] 
Test 2step transfer

6 years agoShorten the serializer output on level 2 (mostly in use in HIUPD, which has a field...
Henryk Plötz [Mon, 10 Sep 2018 15:58:29 +0000 (17:58 +0200)] 
Shorten the serializer output on level 2 (mostly in use in HIUPD, which has a field with count=999)

6 years agoFix bug in sepa transfer
Henryk Plötz [Mon, 10 Sep 2018 14:02:06 +0000 (16:02 +0200)] 
Fix bug in sepa transfer

6 years agoAdd 1step transfer test
Henryk Plötz [Mon, 10 Sep 2018 11:08:12 +0000 (13:08 +0200)] 
Add 1step transfer test

6 years agoTest get_information()
Henryk Plötz [Mon, 10 Sep 2018 09:47:45 +0000 (11:47 +0200)] 
Test get_information()

6 years agoTest for dialog resumption
Henryk Plötz [Mon, 10 Sep 2018 09:31:06 +0000 (11:31 +0200)] 
Test for dialog resumption

6 years agoAdd dummy server for client test. Now have full back to back test
Henryk Plötz [Mon, 10 Sep 2018 08:50:35 +0000 (10:50 +0200)] 
Add dummy server for client test. Now have full back to back test

6 years agoAdd forgotten file
Henryk Plötz [Mon, 10 Sep 2018 08:50:15 +0000 (10:50 +0200)] 
Add forgotten file

6 years agoRemove dead code
Henryk Plötz [Sat, 8 Sep 2018 19:44:34 +0000 (21:44 +0200)] 
Remove dead code

6 years agoFully solve dependencies, I think. Run isort, cleanup imports
Henryk Plötz [Sat, 8 Sep 2018 19:32:08 +0000 (21:32 +0200)] 
Fully solve dependencies, I think. Run isort, cleanup imports

6 years agoMove Field into types (next to Container) to simplify dependency hell
Henryk Plötz [Sat, 8 Sep 2018 19:19:58 +0000 (21:19 +0200)] 
Move Field into types (next to Container) to simplify dependency hell

6 years agoUse duck typing to break dependency hell
Henryk Plötz [Sat, 8 Sep 2018 19:15:19 +0000 (21:15 +0200)] 
Use duck typing to break dependency hell

6 years agoShuffle segments around
Henryk Plötz [Sat, 8 Sep 2018 19:11:12 +0000 (21:11 +0200)] 
Shuffle segments around

6 years agoWork on flicker code/hhduc parsing, make it work with my Sparkasse
Henryk Plötz [Thu, 6 Sep 2018 21:17:23 +0000 (23:17 +0200)] 
Work on flicker code/hhduc parsing, make it work with my Sparkasse

6 years agoParse TAN request for embedded optical data (CHLGUC), provide safe HTML challenge
Henryk Plötz [Sat, 1 Sep 2018 18:25:40 +0000 (20:25 +0200)] 
Parse TAN request for embedded optical data (CHLGUC), provide safe HTML challenge

6 years agoIntroduce TransactionResponse object.
Henryk Plötz [Sat, 1 Sep 2018 09:01:51 +0000 (11:01 +0200)] 
Introduce TransactionResponse object.
API: All transaction methods return either a NeedRetryResponse object or a TransactionResponse. The latter contains information about the final disposition of the transaction (debit or transfer).
send_tan() will likewise return a TransactionResponse.

6 years agoReturn 'auth' information in FinTSPinTanClient.get_information()
Henryk Plötz [Thu, 30 Aug 2018 23:48:59 +0000 (01:48 +0200)] 
Return 'auth' information in FinTSPinTanClient.get_information()

6 years agoContinue breaking API: statement -> transactions, to prepare the API for fetching...
Henryk Plötz [Thu, 30 Aug 2018 23:09:45 +0000 (01:09 +0200)] 
Continue breaking API: statement -> transactions, to prepare the API for fetching of actual statements ("Kontoauszug")

6 years agoPool Exceptions in one module
Henryk Plötz [Wed, 29 Aug 2018 15:03:18 +0000 (17:03 +0200)] 
Pool Exceptions in one module
Raise Exceptions during executions, generally prepare for integration with external library users
Be over-cautious with PIN errors: On first sign of wrong PIN, block the PIN from usage (raise Exception when trying to use the PIN). Library user will need to create a new FinTS3PinTanClient instance.

6 years agoAdd forgotten journal segments file
Henryk Plötz [Wed, 29 Aug 2018 15:02:53 +0000 (17:02 +0200)] 
Add forgotten journal segments file

6 years agoElide empty items at the end of a ValueList with a fixed (minimum) length
Henryk Plötz [Tue, 28 Aug 2018 23:30:19 +0000 (01:30 +0200)] 
Elide empty items at the end of a ValueList with a fixed (minimum) length

6 years agoFix SEPA_TRANSFER operations type
Henryk Plötz [Tue, 28 Aug 2018 23:21:07 +0000 (01:21 +0200)] 
Fix SEPA_TRANSFER operations type
Add standing debit operations types

6 years agoFix wrong field counts
Henryk Plötz [Tue, 28 Aug 2018 23:20:52 +0000 (01:20 +0200)] 
Fix wrong field counts

6 years agoFix test for changed Exception type.
Henryk Plötz [Tue, 28 Aug 2018 23:19:41 +0000 (01:19 +0200)] 
Fix test for changed Exception type.
Add test for bug regression (allowed_transactions field definition)

6 years agoAdd single COR1 debit
Henryk Plötz [Tue, 28 Aug 2018 17:07:43 +0000 (19:07 +0200)] 
Add single COR1 debit

6 years agoAlso give information about supported SEPA PAIN formats
Henryk Plötz [Tue, 28 Aug 2018 13:58:07 +0000 (15:58 +0200)] 
Also give information about supported SEPA PAIN formats

6 years agoDeliberately break API. start_sepa_... is now sepa_...
Henryk Plötz [Tue, 28 Aug 2018 13:33:41 +0000 (15:33 +0200)] 
Deliberately break API. start_sepa_... is now sepa_...
Return value is dynamic: Either a final status, or a NeedRetryResponse (in case of NeedTANResponse the final status will be returned with send_tan())

6 years agoFix bugs found in communication with bank
Henryk Plötz [Tue, 28 Aug 2018 13:18:50 +0000 (15:18 +0200)] 
Fix bugs found in communication with bank

6 years agoImplement get_information()
Henryk Plötz [Tue, 28 Aug 2018 11:31:46 +0000 (13:31 +0200)] 
Implement get_information()

6 years agoRemove old code
Henryk Plötz [Tue, 28 Aug 2018 10:52:08 +0000 (12:52 +0200)] 
Remove old code

6 years agoAdd DKKKU based on a cursory reverse engineering and guessing. Untested though
Henryk Plötz [Mon, 27 Aug 2018 17:42:33 +0000 (19:42 +0200)] 
Add DKKKU based on a cursory reverse engineering and guessing. Untested though

6 years agoFix bugs found when talking to banks
Henryk Plötz [Mon, 27 Aug 2018 13:13:09 +0000 (15:13 +0200)] 
Fix bugs found when talking to banks

6 years agoImplement querying the status protocol
Henryk Plötz [Sun, 26 Aug 2018 23:54:01 +0000 (01:54 +0200)] 
Implement querying the status protocol

6 years agoAdd querying of scheduled debits (untested, my bank doesn't support it)
Henryk Plötz [Sun, 26 Aug 2018 23:05:55 +0000 (01:05 +0200)] 
Add querying of scheduled debits (untested, my bank doesn't support it)

6 years agoChange sorting of segment classes
Henryk Plötz [Sun, 26 Aug 2018 20:53:18 +0000 (22:53 +0200)] 
Change sorting of segment classes

6 years agoRemove last OLD
Henryk Plötz [Sun, 26 Aug 2018 20:10:57 +0000 (22:10 +0200)] 
Remove last OLD

6 years agoFirst working debit (multiple, COR1)
Henryk Plötz [Sun, 26 Aug 2018 20:06:47 +0000 (22:06 +0200)] 
First working debit (multiple, COR1)

6 years agoRemove most references to OLD
Henryk Plötz [Sun, 26 Aug 2018 13:30:29 +0000 (15:30 +0200)] 
Remove most references to OLD

6 years agoRemove references to OLD in client.
Henryk Plötz [Sun, 26 Aug 2018 13:22:37 +0000 (15:22 +0200)] 
Remove references to OLD in client.
Maybe implement get_holdings with touchdown points (fully untested)

6 years agoMake it possible to open an anonymous dialogue (user_id=CUSTOMER_ID_ANONYMOUS, pin...
Henryk Plötz [Sun, 26 Aug 2018 12:19:39 +0000 (14:19 +0200)] 
Make it possible to open an anonymous dialogue (user_id=CUSTOMER_ID_ANONYMOUS, pin=None)

6 years agoFix a parser bug found in real data
Henryk Plötz [Sun, 26 Aug 2018 12:02:22 +0000 (14:02 +0200)] 
Fix a parser bug found in real data

6 years agoFurther shuffle send abstractions around. Transfer should be OK now.
Henryk Plötz [Sat, 25 Aug 2018 20:50:52 +0000 (22:50 +0200)] 
Further shuffle send abstractions around. Transfer should be OK now.

6 years agoImplement NeedTANResponse.get_data()/.from_data()
Henryk Plötz [Sat, 25 Aug 2018 18:01:50 +0000 (20:01 +0200)] 
Implement NeedTANResponse.get_data()/.from_data()

6 years agoMove all of the PIN/TAN specific handling into FinTS3PinTanClient
Henryk Plötz [Sat, 25 Aug 2018 14:45:17 +0000 (16:45 +0200)] 
Move all of the PIN/TAN specific handling into FinTS3PinTanClient
Move callbacks so that callback/logging is not called for internal processing

6 years agoFirst working transfer
Henryk Plötz [Fri, 24 Aug 2018 15:39:02 +0000 (17:39 +0200)] 
First working transfer

6 years agoAdd set_product()
Henryk Plötz [Fri, 24 Aug 2018 11:38:37 +0000 (13:38 +0200)] 
Add set_product()

6 years agoWhip logging into shape
Henryk Plötz [Fri, 24 Aug 2018 11:30:40 +0000 (13:30 +0200)] 
Whip logging into shape

6 years agoWork towards SEPA transfers
Henryk Plötz [Fri, 24 Aug 2018 10:55:19 +0000 (12:55 +0200)] 
Work towards SEPA transfers

6 years agoAllow pausing and resuming of dialogs
Henryk Plötz [Thu, 23 Aug 2018 23:33:35 +0000 (01:33 +0200)] 
Allow pausing and resuming of dialogs

6 years agoImplement automatic security_function choosing, implement H[IK]TAN[56] segments
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

6 years agoAllow FinTS3Client state (system id, BPD, optionally: UPD) to be saved and restored.
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).

6 years agoImplement get_tan_descriptions()
Henryk Plötz [Wed, 22 Aug 2018 21:26:17 +0000 (23:26 +0200)] 
Implement get_tan_descriptions()

6 years agoSimply _find_highest_command() API. Implement get_holdings() (untested).
Henryk Plötz [Tue, 21 Aug 2018 12:32:59 +0000 (14:32 +0200)] 
Simply _find_highest_command() API. Implement get_holdings()  (untested).

6 years agoMake _find_highest_command reusable
Henryk Plötz [Tue, 21 Aug 2018 08:49:34 +0000 (10:49 +0200)] 
Make _find_highest_command reusable

6 years agoMake touchdown fetching reusable
Henryk Plötz [Tue, 21 Aug 2018 07:45:27 +0000 (09:45 +0200)] 
Make touchdown fetching reusable

6 years agoImprove dialog handling: Drastically reduce latancy.
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])
````

6 years ago(Re-)implement get_statement() in new API
Henryk Plötz [Mon, 20 Aug 2018 22:59:04 +0000 (00:59 +0200)] 
(Re-)implement get_statement() in new API

6 years agoImprove BPD and UPD: Is now SegmentSequence, allows full querying.
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

6 years agoRun isort
Henryk Plötz [Mon, 20 Aug 2018 20:09:42 +0000 (22:09 +0200)] 
Run isort

6 years agoImplement HKSAL5/HISAL5
Henryk Plötz [Mon, 20 Aug 2018 00:45:29 +0000 (02:45 +0200)] 
Implement HKSAL5/HISAL5

6 years agoMake TwoStep (without TAN) work again
Henryk Plötz [Mon, 20 Aug 2018 00:11:58 +0000 (02:11 +0200)] 
Make TwoStep (without TAN) work again