diff --git a/src/trudex/application/bot/admin_dialogs/templates.py b/src/trudex/application/bot/admin_dialogs/templates.py index 644ab3a..f8aa8ab 100644 --- a/src/trudex/application/bot/admin_dialogs/templates.py +++ b/src/trudex/application/bot/admin_dialogs/templates.py @@ -349,6 +349,9 @@ async def on_import_file( result = parser.parse(json_str) if isinstance(result, list): + if not result: + await message.answer("❌ Неизвестная ошибка валидации") + return error_lines = ["❌ Ошибки валидации:\n"] for err in result[:10]: path_str = f" ({err.path})" if err.path else "" diff --git a/src/trudex/application/bot/creator_dialogs/templates.py b/src/trudex/application/bot/creator_dialogs/templates.py index b9dbc6c..599cae9 100644 --- a/src/trudex/application/bot/creator_dialogs/templates.py +++ b/src/trudex/application/bot/creator_dialogs/templates.py @@ -349,6 +349,9 @@ async def on_import_file( result = parser.parse(json_str) if isinstance(result, list): + if not result: + await message.answer("❌ Неизвестная ошибка валидации") + return error_lines = ["❌ Ошибки валидации:\n"] for err in result[:10]: path_str = f" ({err.path})" if err.path else "" diff --git a/src/trudex/domain/test_parser.py b/src/trudex/domain/test_parser.py index 682c786..b7524fb 100644 --- a/src/trudex/domain/test_parser.py +++ b/src/trudex/domain/test_parser.py @@ -80,7 +80,8 @@ class TestParser: max_length: int | None = None, errors: list[ParseError] | None = None, ) -> str | None: - errors = errors or [] + if errors is None: + errors = [] value = data.get(key) if value is None: @@ -112,7 +113,8 @@ class TestParser: max_val: int | None = None, errors: list[ParseError] | None = None, ) -> int | None: - errors = errors or [] + if errors is None: + errors = [] value = data.get(key) if value is None: @@ -141,7 +143,8 @@ class TestParser: required: bool, errors: list[ParseError] | None = None, ) -> datetime | None: - errors = errors or [] + if errors is None: + errors = [] value = data.get(key) if value is None: