31d6306e3b
=== 后端核心 === - db_helper: 统一数据库访问抽象层 - system.py API: * 参数绑定修复: 使用 Body(embed=True) 接收 JSON * 添加请求日志记录 - sync.py: 仅导出 DB→JSON(备份) === 合规与流水线 === - compliance_checker: 标签检测优化(仅检查容器,避免正文误判) - 所有脚本(creator/collector/writer/outline/research等)统一使用数据库 === 前端改版 === - topics.html: * 创作/优化 API 路径修正 * 预览弹窗重设计:多平台并行加载、富文本显示、单复制按钮 * 状态中文映射(getStatusLabel) * 认证检查 - 所有 HTML 静态资源路径修复(移除 /static 前缀) === 数据一致性 === - 数据库状态统一为英文(pending/review/ready/published) - 前端显示中文化映射 已测试 A03 流水线完整通过。
74 lines
2.1 KiB
Python
74 lines
2.1 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
调整选题优先级(数据库 + JSON 备份)
|
|
"""
|
|
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
PROJECT_ROOT = Path(__file__).parent.parent
|
|
sys.path.insert(0, str(PROJECT_ROOT))
|
|
|
|
try:
|
|
from db_helper import get_topic_by_id, update_topic_status
|
|
from app.database import SessionLocal
|
|
from app.models import Topic as DBTopic
|
|
HAVE_DB = True
|
|
except ImportError:
|
|
HAVE_DB = False
|
|
print("Warning: db_helper not available, will only update JSON")
|
|
|
|
DATA_DIR = PROJECT_ROOT / "automation" / "data"
|
|
TOPICS_FILE = DATA_DIR / "sustainability_topics.json"
|
|
|
|
def adjust_json_priority(adjustments):
|
|
try:
|
|
with open(TOPICS_FILE, 'r', encoding='utf-8') as f:
|
|
topics = json.load(f)
|
|
except:
|
|
topics = []
|
|
updated = []
|
|
for t in topics:
|
|
if t['id'] in adjustments:
|
|
old = t.get('priority_score', 0)
|
|
t['priority_score'] = adjustments[t['id']]
|
|
updated.append(f"{t['id']}: {old} -> {adjustments[t['id']]}")
|
|
with open(TOPICS_FILE, 'w', encoding='utf-8') as f:
|
|
json.dump(topics, f, ensure_ascii=False, indent=2)
|
|
return updated
|
|
|
|
def adjust_db_priority(adjustments):
|
|
if not HAVE_DB:
|
|
return []
|
|
updated = []
|
|
db = SessionLocal()
|
|
try:
|
|
for tid, new_score in adjustments.items():
|
|
topic = db.query(DBTopic).filter(DBTopic.id == tid).first()
|
|
if topic:
|
|
topic.priority_score = new_score
|
|
topic.updated_at = datetime.now()
|
|
updated.append(f"{tid}: {topic.priority_score} -> {new_score}")
|
|
db.commit()
|
|
finally:
|
|
db.close()
|
|
return updated
|
|
|
|
def main():
|
|
# 定义需要调整的优先级:ID -> 新分数
|
|
adjustments = {
|
|
'D01': 11,
|
|
'B05': 10
|
|
}
|
|
print("调整优先级...")
|
|
db_updated = adjust_db_priority(adjustments) if HAVE_DB else []
|
|
if db_updated:
|
|
print("[DB] updated:", ', '.join(db_updated))
|
|
json_updated = adjust_json_priority(adjustments)
|
|
print("[JSON] updated:", ', '.join(json_updated))
|
|
print("完成")
|
|
|
|
if __name__ == "__main__":
|
|
import json, datetime
|
|
main()
|