/
dictator
/
ragflow_sync
Обзор
Документация
Войти
/
dictator
/
ragflow_sync
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
ragflow_sync_cli/config.py
81 строка
2 KB
Developer
feat: add sync files command to upload Markdown files from local directory
05 июн 2026, 18:05
05 июн 2026, 18:05
69cced8
Код
Авторство
О чём код?
""" Unified configuration loading for RAGFlow Sync CLI. Loads configuration from environment variables and .env files for all modules (RAGFlow, TaskTracker, Confluence). """ import os from dataclasses import dataclass, field from typing import Optional from dotenv import load_dotenv from ragflow_uploader.config import RAGFlowConfig from tt_retriever.config import TaskTrackerConfig from jira_confluence_retriever.config import ConfluenceConfig @dataclass class FilesConfig: """Local files sync configuration.""" path: str dataset_name: str = "Files Knowledge Base" glob: str = "*.md" exclude: list[str] = field(default_factory=list) @dataclass class Config: """Main configuration container.""" ragflow: RAGFlowConfig confluence: Optional[ConfluenceConfig] = None tasktracker: Optional[TaskTrackerConfig] = None files: Optional[FilesConfig] = None def load_config() -> Config: """ Load configuration from environment variables. Automatically loads .env file if present. """ # Load .env file if it exists load_dotenv() ragflow_config = RAGFlowConfig.from_env() confluence_config = None try: confluence_config = ConfluenceConfig.from_env() except ValueError: pass # Confluence config is optional tasktracker_config = None try: tasktracker_config = TaskTrackerConfig.from_env() except ValueError: pass # TaskTracker config is optional files_config = None files_path = os.environ.get("SYNC_FILES_PATH", "").strip() if files_path: files_config = FilesConfig( path=files_path, dataset_name=os.environ.get("SYNC_FILES_DATASET", "Files Knowledge Base"), glob=os.environ.get("SYNC_FILES_GLOB", "*.md"), exclude=[ e.strip() for e in os.environ.get("SYNC_FILES_EXCLUDE", "").split(",") if e.strip() ], ) return Config( ragflow=ragflow_config, confluence=confluence_config, tasktracker=tasktracker_config, files=files_config, )