mirror of
				https://github.com/Eledio/superfaktura-client.git
				synced 2025-10-31 16:11:20 +01:00 
			
		
		
		
	bank_account: fix module by pylint hints
This commit is contained in:
		| @@ -1,3 +1,36 @@ | ||||
| """ | ||||
| Bank Account Module. | ||||
|  | ||||
| This module provides classes and functions for working with bank accounts in the SuperFaktura API. | ||||
| It allows for retrieving, creating, updating, and deleting bank accounts. | ||||
|  | ||||
| Classes: | ||||
|     - BankAccountModel: Dataclass representing a bank account. | ||||
|     - BankAccount: Class for interacting with bank accounts. | ||||
|  | ||||
| Exceptions: | ||||
|     - NoDefaultBankAccountException: Exception for when no default bank account is found. | ||||
|  | ||||
| Functions: | ||||
|     - (none) | ||||
|  | ||||
| Usage: | ||||
|     import superfaktura.bank_account | ||||
|  | ||||
|     # Create an instance of BankAccount | ||||
|     bank = superfaktura.bank_account.BankAccount() | ||||
|  | ||||
|     # Retrieve a list of bank accounts | ||||
|     accounts = bank.list() | ||||
|  | ||||
|     # Get the default bank account | ||||
|     default_account = bank.default() | ||||
|  | ||||
|     # Create or update a bank account | ||||
|     data = {"account": "1234567890", "bank_code": "1234567890", "default": True} | ||||
|     bank.post(data) | ||||
| """ | ||||
|  | ||||
| from dataclasses import dataclass, asdict | ||||
| from typing import Optional | ||||
|  | ||||
| @@ -5,11 +38,13 @@ from superfaktura.superfaktura_api import SuperFakturaAPI | ||||
|  | ||||
|  | ||||
| class NoDefaultBankAccountException(Exception): | ||||
|     pass | ||||
|     """Exception for when no default bank account is found.""" | ||||
|  | ||||
|  | ||||
| @dataclass | ||||
| class BankAccountModel: | ||||
|     """Dataclass representing a bank account.""" | ||||
|  | ||||
|     account: Optional[str] | ||||
|     bank_code: Optional[str] | ||||
|     bank_name: Optional[str] | ||||
| @@ -20,6 +55,7 @@ class BankAccountModel: | ||||
|     id: Optional[int] | ||||
|  | ||||
|     def as_dict(self) -> dict: | ||||
|         """Returns a dictionary representation of the BankAccountModel.""" | ||||
|         data = asdict(self) | ||||
|         for key in list(data.keys()): | ||||
|             if data[key] is None: | ||||
| @@ -28,24 +64,42 @@ class BankAccountModel: | ||||
|  | ||||
|     @staticmethod | ||||
|     def from_dict(data: dict) -> "BankAccountModel": | ||||
|         """Creates a BankAccountModel from a dictionary.""" | ||||
|         return BankAccountModel( | ||||
|             **{ | ||||
|                 k: v | ||||
|                 for k, v in data.items() | ||||
|                 if k in BankAccountModel.__dataclass_fields__ | ||||
|             } | ||||
|             **{k: v for k, v in data.items() if k in BankAccountModel.__annotations__} | ||||
|         ) | ||||
|  | ||||
|  | ||||
| class BankAccount(SuperFakturaAPI): | ||||
|     """ | ||||
|     Bank Account Class. | ||||
|  | ||||
|     This class provides methods for interacting with bank accounts in the SuperFaktura API. | ||||
|     It allows for retrieving, creating, updating, and deleting bank accounts. | ||||
|  | ||||
|     Methods: | ||||
|         - list: Retrieves a list of bank accounts. | ||||
|         - default: Retrieves the default bank account. | ||||
|         - post: Creates or updates a bank account. | ||||
|  | ||||
|     Usage: | ||||
|         bank = BankAccount() | ||||
|         accounts = bank.list() | ||||
|         default_account = bank.default() | ||||
|         data = {"account": "1234567890", "bank_code": "1234567890", "default": True} | ||||
|         bank.post(data) | ||||
|     """ | ||||
|  | ||||
|     def __init__(self): | ||||
|         super().__init__() | ||||
|  | ||||
|     def list(self) -> dict: | ||||
|         """Retrieves a list of bank accounts.""" | ||||
|         url = "bank_accounts/index" | ||||
|         return self.get(url) | ||||
|  | ||||
|     def default(self) -> Optional[BankAccountModel]: | ||||
|         """Retrieves the default bank account.""" | ||||
|         accounts = self.list()["BankAccounts"] | ||||
|         for account in accounts: | ||||
|             if account["BankAccount"]["default"]: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user