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

64 lines
2.5 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 assets_service as _assets_service
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 cross_transfer_service as _cross_transfer_service
from .application import imports_service as _imports_service
from .application import import_transfer_services as _import_transfer_services
from .application import reconciliation_service as _reconciliation_service
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 import uncategorized_workbench_service as _uncategorized_workbench_service
from .application.asset_account_services import *
from .application.assets_service import *
from .application.categorization_services import *
from .application.cross_transfer_service import *
from .application.imports_service import *
from .application.import_transfer_services import *
from .application.reconciliation_service import *
from .application.shared import *
from .application.system_services import *
from .application.transaction_report_services import *
from .application.uncategorized_workbench_service 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,
_assets_service,
_budgets_write_services,
_category_rules_write_services,
_transaction_report_services,
_reconciliation_service,
_imports_service,
_import_transfer_services,
_cross_transfer_service,
_categorization_services,
_uncategorized_workbench_service,
_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