поправлено взаимодействие функционала работы с db_cli.py через диалоговую строку.

This commit is contained in:
2026-08-11 16:20:15 +03:00
parent 339ea24243
commit ffb0e18635
4 changed files with 3978 additions and 9 deletions
Binary file not shown.
+3963
View File
File diff suppressed because it is too large Load Diff
+15 -9
View File
@@ -236,28 +236,34 @@ CLI-утилита инспекции и управления SQLite базой
ДОСТУПНЫЕ КОМАНДЫ: ДОСТУПНЫЕ КОМАНДЫ:
stats -- Общая статистика строк по всем таблицам БД stats -- Общая статистика строк по всем таблицам БД
snapshots [ДД.ММ.ГГГГ] -- Посмотреть список всех снапшотов (опционально за дату) snapshots [ДД.ММ.ГГГГ] -- Посмотреть реестр снапшотов (опционально за конкретную дату)
scud [--snapshot ID] [--export-xlsx NAME] -- Инспекция логов СКУД и опциональный экспорт в Excel scud [ДД.ММ.ГГГГ] [--snapshot ID] [--export-xlsx NAME] -- Инспекция логов СКУД по дате/снапшоту и экспорт в Excel
anomalies -- Посмотреть все найденные аномалии СКУД ⟷ 1С anomalies -- Посмотреть историю найденных аномалий СКУД ⟷ 1С
rules -- Посмотреть правила Базы Знаний ИИ из SQLite rules -- Посмотреть правила Базы Знаний ИИ из SQLite
prompts -- Посмотреть системные промпты (system_prompts) prompts -- Посмотреть системные промпты (system_prompts)
sessions -- Посмотреть активные сессии и превью (session_states) sessions -- Посмотреть активные сессии и превью (session_states)
dump [output.xlsx] -- Полный дамп всех таблиц БД в многостраничный Excel dump [output.xlsx] -- Полный дамп всех таблиц БД в многостраничный Excel
snapshot del [ID] или [--day ДД.ММ.ГГГГ] -- Удаление снапшотов по ID или за весь день snapshot del [ID] или [--day ДД.ММ.ГГГГ] -- Удаление снапшота по ID или всех за выбранный день
ПРИМЕРЫ ЗАПУСКА: ПРИМЕРЫ ЗАПУСКА:
python scripts/db_cli.py stats python scripts/db_cli.py stats
python scripts/db_cli.py snapshots 06.08.2026
python scripts/db_cli.py scud 06.08.2026 --export-xlsx срез_четверг
python scripts/db_cli.py scud --snapshot Y20260805-007
python scripts/db_cli.py prompts python scripts/db_cli.py prompts
python scripts/db_cli.py sessions python scripts/db_cli.py sessions
python scripts/db_cli.py snapshots 04.08.2026
python scripts/db_cli.py scud --snapshot Y20260805-007 --export-xlsx вчера_1
python scripts/db_cli.py snapshot del Y20260805-007 python scripts/db_cli.py snapshot del Y20260805-007
python scripts/db_cli.py snapshot del --day 04.08.2026 python scripts/db_cli.py snapshot del --day 04.08.2026
python scripts/db_cli.py dump my_dump.xlsx
""" """
if any(arg in sys.argv for arg in ['-h', '--help']):
print(help_text)
sys.exit(0)
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description=help_text, description=help_text,
formatter_class=argparse.RawDescriptionHelpFormatter, formatter_class=argparse.RawDescriptionHelpFormatter,
add_help=True add_help=False # Отключаем стандартный вывод справки argparse
) )
parser.add_argument('command', nargs='?', default=None, choices=['stats', 'snapshots', 'scud', 'anomalies', 'rules', 'prompts', 'sessions', 'dump', 'snapshot'], help="Основная команда") parser.add_argument('command', nargs='?', default=None, choices=['stats', 'snapshots', 'scud', 'anomalies', 'rules', 'prompts', 'sessions', 'dump', 'snapshot'], help="Основная команда")
parser.add_argument('action', nargs='?', default=None, help="Дополнительное действие (например, 'del')") parser.add_argument('action', nargs='?', default=None, help="Дополнительное действие (например, 'del')")
@@ -266,7 +272,6 @@ CLI-утилита инспекции и управления SQLite базой
parser.add_argument('--export-xlsx', type=str, default=None, help="Экспорт среза СКУД в Excel-файл") parser.add_argument('--export-xlsx', type=str, default=None, help="Экспорт среза СКУД в Excel-файл")
parser.add_argument('--day', type=str, default=None, help="Удалить снапшоты за конкретный день (ДД.ММ.ГГГГ)") parser.add_argument('--day', type=str, default=None, help="Удалить снапшоты за конкретный день (ДД.ММ.ГГГГ)")
# Если аргументы вообще не переданы, выводим статистику по умолчанию (или справку)
if len(sys.argv) == 1: if len(sys.argv) == 1:
print_stats() print_stats()
return return
@@ -277,7 +282,8 @@ CLI-утилита инспекции и управления SQLite базой
if args.command == 'stats': if args.command == 'stats':
print_stats() print_stats()
elif args.command == 'snapshots': elif args.command == 'snapshots':
print_snapshots_list(date_str=args.param) date_val = args.param or args.action
print_snapshots_list(date_str=date_val)
elif args.command == 'scud': elif args.command == 'scud':
inspect_scud(snapshot_id=args.snapshot, date_str=args.param, export_xlsx=args.export_xlsx) inspect_scud(snapshot_id=args.snapshot, date_str=args.param, export_xlsx=args.export_xlsx)
elif args.command == 'anomalies': elif args.command == 'anomalies':
Binary file not shown.