106 lines
2.7 KiB
Python
106 lines
2.7 KiB
Python
"""
|
|
项目配置文件
|
|
"""
|
|
|
|
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) |