Fix options review screenshots missing after journal upload hijack.

Stop journal_upload_slots from binding options slots; resolve journal_* files from static/images root so existing reviews display again.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-19 16:23:37 +08:00
parent 12574ae88a
commit 72dddc5106
8 changed files with 82 additions and 14 deletions
+25
View File
@@ -284,6 +284,31 @@ class OptionsReviewTests(unittest.TestCase):
self.assertEqual(float(row["realized_pnl_total"]), 3.2)
self.assertEqual(row["source_type"], SOURCE_OPTION)
def test_image_paths_resolve_legacy_journal_root(self):
with tempfile.TemporaryDirectory() as td:
root = Path(td)
# 误存到 UPLOAD 根目录的 journal_*
legacy = root / "journal_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_5m.png"
legacy.write_bytes(b"img")
# 正常 options_journal 子目录
sub = root / "options_journal"
sub.mkdir()
modern = sub / "options_journal_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb_5m.png"
modern.write_bytes(b"img2")
from lib.options.options_review_images_lib import options_review_image_paths
class Row:
images_json = (
'[{"tf":"5m","file":"journal_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_5m.png"},'
'{"tf":"5m","file":"options_journal_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb_5m.png"}]'
)
image = None
paths = options_review_image_paths(Row(), str(root))
self.assertEqual(len(paths), 2)
self.assertTrue(any(p.endswith(legacy.name) for p in paths))
self.assertTrue(any(p.endswith(modern.name) for p in paths))
def test_image_namespace(self):
with tempfile.TemporaryDirectory() as tmp:
folder = options_review_upload_dir(tmp)