Split infrastructure/cli/: - main.py (330 LOC) → 9 files in infrastructure/cli/commands/: * init.py, forecast.py, scenario.py, whatif.py, compare.py * import_xlsx.py, export_xlsx.py, analyze.py, info.py - config.py (428 LOC) → commands/config_cmd.py (15 sub-commands) - main.py → app.py (entry point: registers all commands) - New: paths.py (MODEL_PATH, DATA_DIR) - New: services.py (composition root + helpers: load_model, save_model, build_services, resolve_currency, convert_value, fmt_amount) - cli/__init__.py (empty) удалён Each command module: <100 LOC. pyproject.toml: cf = infrastructure.cli.app:app tests/test_cli.py: import обновлён на infrastructure.cli.app CLI behavior идентично, все команды работают. Tests: 67/67 pass.
26 lines
351 B
Python
26 lines
351 B
Python
from infrastructure.cli.commands import (
|
|
analyze,
|
|
compare,
|
|
config_cmd,
|
|
export_xlsx,
|
|
forecast,
|
|
import_xlsx,
|
|
info,
|
|
init,
|
|
scenario,
|
|
whatif,
|
|
)
|
|
|
|
__all__ = [
|
|
"analyze",
|
|
"compare",
|
|
"config_cmd",
|
|
"export_xlsx",
|
|
"forecast",
|
|
"import_xlsx",
|
|
"info",
|
|
"init",
|
|
"scenario",
|
|
"whatif",
|
|
]
|