aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* export the minimize command from the geldschieberbotminimizeFlorian Fischer2025-11-063-0/+87
|
* add simple script generating graphviz from a balanceFlorian Fischer2025-11-061-0/+39
|
* fix cycle generationFlorian Fischer2025-11-061-16/+38
| | | | | | The current cycle generation did not consider permutations of a combination of vertices. Make all Functions return Iterators to reduce the needed memory size.
* add helper code for future minimize featureFlorian Fischer2025-11-052-2/+178
|
* skip test_montly if current day is not present in previous monthsFlorian Fischer2024-10-311-2/+12
|
* partially revert 2f2b51e40c7027d80bf4a6741f2063e2c224f938Florian Fischer2023-09-181-1/+2
| | | | | Load the state when constructing the bot to ensure a usable object is returned by __init__.
* make Geldschieberbot a context managerFlorian Fischer2023-09-183-24/+26
| | | | | | | | | | | | | | | | Previosuly there was the problem that the state was saved when the bot object was destructed. When there was an unhandled exception it was possible for the builtins to be cleanedup before the bot's destructor was executed resulting in yet another exception because the open builtin was no longer available. This is no longer possible when the bot is used as a context manager python guarantees that the __exit__ code is executed before leaving the with block. This allows us prevent the state from beeing saved when there was an exception to prevent invalid states.
* convert the sender to a name in the messages of scheduled commandsFlorian Fischer2023-09-181-3/+4
|
* fix wrong arguments to MessageContext when running scheduled cmdsFlorian Fischer2023-08-291-1/+1
| | | | Fixes: 26831dca32c471415b1afa470ac8dbfd1fd348a6
* test: fix call to run the bot in single shot modeFlorian Fischer2023-08-121-1/+1
|
* test: remove old environment variablesFlorian Fischer2023-08-121-3/+0
|
* extract reading and sending messages into separate scriptFlorian Fischer2023-08-113-81/+106
|
* add simple gitlab CI using my python development docker imageFlorian Fischer2023-08-111-0/+29
|
* switch from WTFPL to GPL3 or laterFlorian Fischer2023-08-116-2/+740
|
* add doc strings and use more meaningful variable namesFlorian Fischer2023-08-111-9/+16
|
* remove change model todoFlorian Fischer2023-08-111-1/+0
| | | | Done since 26831dca32c471415b1afa470ac8dbfd1fd348a6.
* remove alias todoFlorian Fischer2023-08-111-1/+0
| | | | Done since 2fe86be4e3b999ec4941284274b586dd0f2fecb7.
* extract the models and utility function into separate source filesFlorian Fischer2023-08-113-88/+101
|
* add GSB_USER variable back because it is used in run.shFlorian Fischer2023-08-111-1/+3
|
* extract message sending from the Geldschieberbot classFlorian Fischer2023-08-112-62/+83
| | | | | | | | | | This makes the class more flexible and allows for different means of sending the replies back by executing a subprocess or using dbus/jsonrpc. Also remove the never used group send command. Make the Geldschieberbot constructor parameters mandatory and let the caller handle the configuration.
* improve the sample configFlorian Fischer2023-08-111-8/+8
| | | | | | | Remove the not used GSB_USER variable. Add an example for the send command using signal-cli. Change the legacy STATE_PATH variable to the single state file variable GSB_STATE_FILE.
* remove global variables using the environmentFlorian Fischer2023-08-112-23/+69
| | | | | | | | | | | | Previously the geldschieberbot module used global variables retrieved from the environment for its configuration. This is not very flexible and can lead to problems when using the module from other python code. Therefore make all configuration Geldschieberbot specific and pass the values to the constructor. If no values are provided fallback to the environment. This change is fully backwards compatible.
* ignore old obscure changes in the state fileFlorian Fischer2023-08-103-8/+25
|
* update environmentFlorian Fischer2023-08-103-182/+206
|
* introduce dataclasses for the passed dataFlorian Fischer2023-08-105-343/+477
| | | | | | Refactor all implicit dictionaries into explicit data classes. This makes the code more explicit, easier to check for mypy and overall more maintainable.
* test: use more intuitive transfer commandFlorian Fischer2023-08-101-5/+5
|
* pipenv: install pytest and update environmentFlorian Fischer2022-11-043-247/+190
| | | | Adapt the pylintrc file to the newer version of pylint.
* add missing test statusFlorian Fischer2022-11-021-0/+1
| | | | Fixes: 60f7088
* add new sum alias 'balance'Florian Fischer2022-09-042-2/+11
|
* geldschieberbot: support transaction with multiple recipientsFlorian Fischer2022-07-262-21/+107
| | | | | | | | | | | | | | All recipients receive amount making transactionswith multiple receipients a shortcut for posting the same transaction with a changing recipient. !schieb 5 alice bob is equivalent to !schieb 5 alice !schieb 5 bob Aliases are supported as well.
* geldschieberbot: support choosing the entries in a summaryFlorian Fischer2022-07-261-1/+4
|
* test: add test for transactions with unknown recipientFlorian Fischer2022-07-261-0/+7
|
* add option to quote cmd messagesFlorian Fischer2022-07-252-12/+37
|
* test: disable pylint style checks for test codeFlorian Fischer2022-07-251-1/+2
|
* support aliases in tanken commandFlorian Fischer2022-07-063-66/+72
| | | | Move tanken code into Gelschieberbot to simply expand aliases in drives.
* add alias supportFlorian Fischer2022-07-062-1/+175
| | | | | | | Aliases can be used where one or multiple persons names can be used. An alias is expanded to the list of users it represents. For commands implicitly including one user (e.g., 'split') the expansion of the implicit user can be prevented.
* remove else after returnFlorian Fischer2022-07-061-2/+2
|
* fix wording of car command helpFlorian Fischer2022-07-061-1/+1
|
* add type hintFlorian Fischer2022-07-061-1/+1
|
* test: use f-stringsFlorian Fischer2022-07-041-52/+38
|
* test: sanely name test state filesFlorian Fischer2022-07-045-28/+27
|
* add python development toolingFlorian Fischer2022-07-045-0/+890
|
* add TODOFlorian Fischer2022-07-041-0/+10
|
* geldschieberbot: refactor bot into a classFlorian Fischer2022-07-041-744/+767
| | | | | | | | | | Geldschieberbot beeing a class gets rid of the mutable global variables for dry_run and record_changes. Misc cleanups: * Cleanup recording changes * Add doc-strings * Uppercase globals
* fixup! test: add explicit encoding to openFlorian Fischer2022-07-041-1/+1
|
* test: add explicit encoding to openFlorian Fischer2022-07-041-3/+3
|
* tanken: cleanup codeFlorian Fischer2022-07-042-19/+31
| | | | | | | * Add type annotations * Use meaningfull variable names * Add doc-strings * Remove she-bang line from non-executable file
* geldschieberbot: add module doc stringFlorian Fischer2022-07-041-0/+1
|
* geldschieberbot: drop support for legacy state file layoutFlorian Fischer2022-04-191-18/+0
|
* geldschieberbot: use explicit open encodingFlorian Fischer2022-04-191-2/+2
|