""" 项目配置文件 """ import os from pathlib import Path # 项目根目录 PROJECT_ROOT = Path(__file__).parent # 数据目录 DATA_DIR = PROJECT_ROOT / "data" DATA_DIR.mkdir(exist_ok=True) # 子数据目录 EMPERORS_DATA_DIR = DATA_DIR / "emperors" BUILDINGS_DATA_DIR = DATA_DIR / "buildings" CUSTOMS_DATA_DIR = DATA_DIR / "customs" TRANSMISSIONS_DATA_DIR = DATA_DIR / "transmissions" for dir_path in [EMPERORS_DATA_DIR, BUILDINGS_DATA_DIR, CUSTOMS_DATA_DIR, TRANSMISSIONS_DATA_DIR]: dir_path.mkdir(exist_ok=True) # 分析结果目录 ANALYSIS_DIR = PROJECT_ROOT / "analysis" ANALYSIS_DIR.mkdir(exist_ok=True) # 可视化目录 VISUALIZATION_DIR = PROJECT_ROOT / "visualization" VISUALIZATION_DIR.mkdir(exist_ok=True) # 文档目录 DOCS_DIR = PROJECT_ROOT / "docs" DOCS_DIR.mkdir(exist_ok=True) # 测试目录 TESTS_DIR = PROJECT_ROOT / "tests" TESTS_DIR.mkdir(exist_ok=True) # 数据库配置 DATABASE_CONFIG = { "neo4j": { "uri": os.getenv("NEO4J_URI", "bolt://localhost:7687"), "user": os.getenv("NEO4J_USER", "neo4j"), "password": os.getenv("NEO4J_PASSWORD", "password"), "database": os.getenv("NEO4J_DATABASE", "phallic_worship_analysis") }, "postgresql": { "host": os.getenv("POSTGRES_HOST", "localhost"), "port": int(os.getenv("POSTGRES_PORT", "5432")), "database": os.getenv("POSTGRES_DB", "phallic_worship_db"), "user": os.getenv("POSTGRES_USER", "postgres"), "password": os.getenv("POSTGRES_PASSWORD", "password") } } # 质量控制标准 QUALITY_STANDARDS = { "minimum_sources": 2, "reliability_threshold": "medium", "evidence_completeness": 0.7, "cross_validation_required": True } # 分析参数 ANALYSIS_PARAMETERS = { "emperor_lifespan_threshold": 30, "cultural_continuity_threshold": 0.6, "transmission_success_threshold": 0.5, "confidence_interval": 0.95 } # 日志配置 LOGGING_CONFIG = { "version": 1, "disable_existing_loggers": False, "formatters": { "standard": { "format": "%(asctime)s [%(levelname)s] %(name)s: %(message)s" }, }, "handlers": { "default": { "level": "INFO", "formatter": "standard", "class": "logging.StreamHandler", }, "file": { "level": "DEBUG", "formatter": "standard", "class": "logging.FileHandler", "filename": str(PROJECT_ROOT / "logs" / "analysis.log"), "mode": "a", }, }, "loggers": { "": { "handlers": ["default", "file"], "level": "DEBUG", "propagate": False } } } # 创建日志目录 (PROJECT_ROOT / "logs").mkdir(exist_ok=True)