Files
jarca-ledger-mcp/jarca_ledger_mcp/service.py
T

49 lines
1.8 KiB
Python

from __future__ import annotations
import sys
from types import ModuleType
from .application import accounts_write_services as _accounts_write_services
from .application import asset_account_services as _asset_account_services
from .application import budgets_write_services as _budgets_write_services
from .application import category_rules_write_services as _category_rules_write_services
from .application import categorization_services as _categorization_services
from .application import import_transfer_services as _import_transfer_services
from .application import shared as _shared
from .application import system_services as _system_services
from .application import transactions_write_services as _transactions_write_services
from .application import transaction_report_services as _transaction_report_services
from .application.asset_account_services import *
from .application.categorization_services import *
from .application.import_transfer_services import *
from .application.shared import *
from .application.system_services import *
from .application.transaction_report_services import *
# Keep compatibility for tests/monkeypatches that reach into service internals.
_current_kst_datetime = _shared._current_kst_datetime
_PROXY_MODULES = (
_shared,
_accounts_write_services,
_system_services,
_asset_account_services,
_budgets_write_services,
_category_rules_write_services,
_transaction_report_services,
_import_transfer_services,
_categorization_services,
_transactions_write_services,
)
class _ServiceModule(ModuleType):
def __setattr__(self, name: str, value) -> None:
super().__setattr__(name, value)
for module in _PROXY_MODULES:
if hasattr(module, name):
setattr(module, name, value)
sys.modules[__name__].__class__ = _ServiceModule