diff --git a/.env.test b/.env.test index bfc5f46..c3ecc72 100644 --- a/.env.test +++ b/.env.test @@ -21,4 +21,6 @@ SFPT_HOSTNAME = 192.168.1.150 SFPT_USERNAME = monitor SFPT_PASSWORD = Audio4analy6!6 -FILESAPTH = audiofiles \ No newline at end of file +FILESAPTH = audiofiles + +GIGAAM_API_URL = http://localhost:5001 \ No newline at end of file diff --git a/autoLoader/config.py b/autoLoader/config.py index 1afb9fb..c9cb749 100644 --- a/autoLoader/config.py +++ b/autoLoader/config.py @@ -1,7 +1,13 @@ import os -SFTP_HOSTNAME = os.getenv("SFPT_HOSTNAME", "192.168.1.150") -SFTP_USERNAME = os.getenv("SFPT_USERNAME", "monitor") -SFTP_PASSWORD = os.getenv("SFPT_PASSWORD", "Audio4analy6!6") -FILESAPTH = os.getenv("FILESAPTH", "audiofiles") -DATABASE_URL = os.getenv("DATABASE_URL", "sqlite:///./speech_analytics.db") \ No newline at end of file +# SFTP конфигурация +SFTP_HOSTNAME = os.getenv("SFTP_HOSTNAME", "192.168.1.150") +SFTP_USERNAME = os.getenv("SFTP_USERNAME", "monitor") +SFTP_PASSWORD = os.getenv("SFTP_PASSWORD", "Audio4analy6!6") +FILESAPTH = os.getenv("FILESAPTH", "audiofiles") + +# База данных +DATABASE_URL = os.getenv("DATABASE_URL", "sqlite:///./speech_analytics.db") + +# GigaAM API +GIGAAM_API_URL = os.getenv("GIGAAM_API_URL", "http://localhost:5001") diff --git a/autoLoader/loader/recognition_checker.py b/autoLoader/loader/recognition_checker.py index 85473b9..84831a2 100644 --- a/autoLoader/loader/recognition_checker.py +++ b/autoLoader/loader/recognition_checker.py @@ -7,6 +7,7 @@ from typing import List, Optional import logging from autoLoader.database import get_db_session, Audio, AiConclusion +from autoLoader.config import GIGAAM_API_URL # Настройка логирования logging.basicConfig( @@ -19,16 +20,22 @@ logger = logging.getLogger(__name__) class RecognitionChecker: """Класс для проверки и отправки файлов на распознавание""" - def __init__(self, api_url: str = "http://localhost:5001/api/call/process"): + def __init__(self, api_url: Optional[str] = None): """ Инициализация checker Args: - api_url: URL API GigaAM для распознавания + api_url: URL API GigaAM для распознавания (если None, берётся из config) """ - self.api_url = api_url + # Если api_url не передан, берём из config.py + if api_url is None: + api_url = GIGAAM_API_URL + + self.api_url = f"{api_url}/api/call/process" self.timeout = 10 # таймаут запроса в секундах + logger.info(f"✅ RecognitionChecker инициализирован с URL: {self.api_url}") + def check_database(self) -> bool: """ Проверяет существование необходимых таблиц в БД @@ -221,12 +228,12 @@ class RecognitionChecker: # Удобная функция для запуска из командной строки -def process_pending_files(api_url: str = "http://localhost:5001/api/call/process", limit: int = None): +def process_pending_files(api_url: Optional[str] = None, limit: Optional[int] = None): """ Обрабатывает все файлы без заключения Args: - api_url: URL GigaAM API + api_url: URL GigaAM API (если None, берётся из config.py) limit: Максимальное количество файлов для обработки Returns: diff --git a/run_checker.py b/run_checker.py index 006ac85..dddce40 100755 --- a/run_checker.py +++ b/run_checker.py @@ -3,8 +3,13 @@ Скрипт для проверки и отправки файлов на распознавание """ 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( @@ -12,18 +17,16 @@ logging.basicConfig( format='%(asctime)s - %(levelname)s - %(message)s' ) -# URL GigaAM API по умолчанию -DEFAULT_API_URL = "http://localhost:5001/api/call/process" - def main(): """Главная функция""" # Получаем параметры из командной строки - api_url = sys.argv[1] if len(sys.argv) > 1 else DEFAULT_API_URL + 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()