fix: mo_bridge cache path (reports/ + data/market_review/) + mo_dsa_opinion.py standalone DSA strategy reference script
This commit is contained in:
+16
-3
@@ -159,10 +159,23 @@ def get_market_review(region: str = "cn", force_refresh: bool = False) -> str:
|
||||
return ""
|
||||
|
||||
# 先读缓存(优先,快)
|
||||
cache_dir = Path(str(_DSA_BASE)) / "data" / "market_review"
|
||||
if cache_dir.exists():
|
||||
cache_dirs = [
|
||||
Path(str(_DSA_BASE)) / "reports", # DSA 生成的市场报告目录
|
||||
Path(str(_DSA_BASE)) / "data" / "market_review",
|
||||
]
|
||||
for cache_dir in cache_dirs:
|
||||
if not cache_dir.exists():
|
||||
continue
|
||||
try:
|
||||
files = sorted(cache_dir.glob("*.md"), key=os.path.getmtime, reverse=True)
|
||||
pattern = f"market_review_*.md" if "report" in str(cache_dir) else "*.md"
|
||||
files = []
|
||||
for p in cache_dir.glob("market_review_*.md"):
|
||||
files.append(p)
|
||||
if not files:
|
||||
for p in cache_dir.glob("*.md"):
|
||||
if "market" in p.name.lower() or "review" in p.name.lower():
|
||||
files.append(p)
|
||||
files.sort(key=os.path.getmtime, reverse=True)
|
||||
if files:
|
||||
if (datetime.now().timestamp() - os.path.getmtime(str(files[0]))) < 86400:
|
||||
content = files[0].read_text(encoding="utf-8")
|
||||
|
||||
Reference in New Issue
Block a user