controller package

Submodules

controller.AbstractController module

class controller.AbstractController.AbstractController

Bases: abc.ABC

abstract bind(view: view.AbstractTab.AbstractTab)

controller.AccountsController module

class controller.AccountsController.AccountsController

Bases: object

addAccount()
addAccountData(inputs)
bind(view)
getAccounts()
getAccountsData()
getTransactions()
retreiveTransactions()
update()
validate_entries(entries)
writetodb(data)

controller.Application module

class controller.Application.Application(parent=None)

Bases: tkinter.ttk.Notebook

createConfig()
i18n()
new_tab(controller, view, name: str)

controller.DbController module

controller.DbController.get_db()

controller.FinTS module

Provides classes and functions to work with the Bank FinTS API.

exception controller.FinTS.AccountNotFoundException(accounts: List[fints.models.SEPAAccount])

Bases: Exception

Raised if the account could not be found.

accounts: List[fints.models.SEPAAccount] = []
class controller.FinTS.FinTS(blz: int, username: str, pin: str, finurl: str, fints_product_id: Optional[str] = None)

Bases: object

FinTS provides methods to connect to Bank (i. e. Deutsche Bank) via FinTS. Alot taken from https://github.com/bahlo/ing-ynab

check_tan()
decode_phototan_image(data)

This decodes photoTAN data sent as challenge_hhduc into its mime type and the actual image data. :returns: a dictionary with two values, ‘mime_type’ and ‘image’ :rtype: dict The markup of the data is taken from https://github.com/hbci4j/hbci4java/blob/c8eabe6809e8d0271f944ea28a59ed6b736af56e/src/main/java/org/kapott/hbci/manager/MatrixCode.java#L61-L97 The encoding is taken from https://github.com/hbci4j/hbci4java/blob/c8eabe6809e8d0271f944ea28a59ed6b736af56e/src/main/java/org/kapott/hbci/comm/Comm.java#L46

f: fints.client.FinTS3PinTanClient
get_transactions(days: Optional[int] = None) List[mt940.models.Transaction]

Get transactions for the selected account.

Parameters

days (int) – retreive transactions of last n days

open_tan_view(parentwindow, img)
select_account(iban: str) None

Select the account with the given IBAN.

selected_account: fints.models.SEPAAccount
transform_transactions(transactions: List[mt940.models.Transaction]) List[Dict[str, str]]

Transform the FinTS transactions into something easier.

controller.TransactionController module

class controller.TransactionController.TransactionController

Bases: controller.AbstractController.AbstractController

bind(view: view.Transactions.Transactions)
export()
getAccounts()
getTableData()
refresh()
update()

Module contents