"""cf import-xlsx — импорт данных из Excel.""" import typer from infrastructure.cli.i18n import t from infrastructure.cli.services import console, save_model from infrastructure.repositories import ExcelRepository, ExcelRepositoryError app = typer.Typer() _repo = ExcelRepository() @app.command(name="import-xlsx") def import_xlsx( path: str = typer.Argument(..., help=t("cmd.import.arg.path")), ) -> None: """Импорт данных из Excel""" try: model = _repo.load(path) save_model(model) console.print(t("cmd.import.ok", accounts=len(model.accounts), transactions=len(model.transactions), recurring=len(model.recurring), assets=len(model.assets), liabilities=len(model.liabilities))) console.print(t("cmd.import.base_currency", currency=model.base_currency)) except ExcelRepositoryError as e: console.print(f"[red]{t('cmd.import.err', error=str(e))}[/red]") raise typer.Exit(1)