/
liquid-g
/
liquid-code
Обзор
Документация
Войти
/
liquid-g
/
liquid-code
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop-0.4
src/liquidcode/commands/make/validator.py
59 строк
2 KB
User
0.4.12 - Event Dispatcher / Subscriber и улучшения на русском языке
06 июл 2026, 15:23
06 июл 2026, 15:23
65223a0
Код
Авторство
О чём код?
"""Генератор валидаторов для LiquidCode. Команда: lcc make:validator <name> [--directory DIR] [--force] [--no-interactive] """ import argparse from ..base import generate_from_template, TemplateError, normalize_class_name def configure_parser(subparser: argparse.ArgumentParser) -> None: subparser.add_argument( 'name', nargs='?', help='Имя валидатора (например, User)' ) subparser.add_argument( '--directory', default='src/Validator', help='Целевая директория (по умолчанию: src/Validator)' ) subparser.add_argument( '--force', action='store_true', help='Перезаписать файл, если он существует' ) subparser.add_argument( '--no-interactive', action='store_true', help='Отключить интерактивный режим (имя должно быть передано через аргумент)' ) def run(args: argparse.Namespace) -> None: try: name = args.name if not name and not args.no_interactive: name = input("Введите имя валидатора (например, User): ").strip() if not name: print("[ERROR] Имя не может быть пустым") return normalized_name = normalize_class_name(name, suffix='Validator') # Обновляем args.name для generate_from_template args.name = normalized_name created = generate_from_template( template_name='validator', args=args, extra_kwargs={}, default_filename='{name}Validator.py', default_dir='src/Validator', ) if created: print(f"[OK] Создан валидатор: {normalized_name}") else: print("[WARN] Файл уже существует. Используйте --force для перезаписи.") except (TypeError, ValueError, TemplateError, IOError) as e: print(f"[ERROR] Ошибка: {e}")