Сервис для хранения файлов аудио, индексации файлов, записи и выдачи результатов распознавания
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

65 lines
2.0 KiB

#!/usr/bin/env python3
"""
Скрипт для проверки и отправки файлов на распознавание
"""
from autoLoader import process_pending_files
from autoLoader.config import GIGAAM_API_URL
import sys
import logging
from dotenv import load_dotenv
# Загружаем .env файл
load_dotenv()
# Настройка логирования
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s'
)
def main():
"""Главная функция"""
# Получаем параметры из командной строки
api_url = sys.argv[1] if len(sys.argv) > 1 else GIGAAM_API_URL
limit = int(sys.argv[2]) if len(sys.argv) > 2 else None
print(f"🚀 Запуск проверки файлов на распознавание")
print(f"📡 API URL: {api_url}")
print(f"📂 Config URL: {GIGAAM_API_URL}")
if limit:
print(f"📊 Лимит: {limit} файлов")
print()
# Запускаем проверку
results = process_pending_files(api_url=api_url, limit=limit)
# Итоги
print(f"\n{'='*60}")
print(f"📊 ИТОГИ ОБРАБОТКИ:")
print(f"{'='*60}")
print(f"Всего файлов без заключения: {results['total']}")
print(f"✅ Отправлено на распознавание: {results['sent']}")
print(f"❌ Ошибок при отправке: {results['failed']}")
if 'error' in results:
print(f"\n {results['error']}")
# Детали по каждому файлу
if results.get('files'):
print(f"\n📋 Детали:")
for file_result in results['files']:
status = "" if file_result['success'] else ""
print(f" {status} {file_result['filename']}")
print(f"{'='*60}\n")
# Код выхода
if results['failed'] > 0:
sys.exit(1)
else:
sys.exit(0)
if __name__ == "__main__":
main()