Support analog photo dates and correct gallery years

This commit is contained in:
2026-09-20 01:39:42 +03:30
parent dad62df66f
commit cf46d62ede
55 changed files with 183 additions and 75 deletions
+45 -5
View File
@@ -82,10 +82,22 @@ class PhotoHighlightTests(unittest.TestCase):
anchor.group(1) if anchor else None, content))
records.sort(reverse=True)
grouped = [record for record in records if record[1] in ARMENIA + ROMANIA]
self.assertEqual([record[1] for record in grouped], ARMENIA + ROMANIA)
self.assertEqual(grouped[0][2], "Armenia")
self.assertEqual(grouped[7][2], "Romania")
self.assertIn("Transmission of Flesh by Erfan Ashourioun", grouped[2][3])
self.assertEqual([record[1] for record in grouped], ROMANIA + ARMENIA)
self.assertEqual(grouped[0][2], "Romania")
self.assertEqual(grouped[9][2], "Armenia")
self.assertIn("Transmission of Flesh by Erfan Ashourioun", grouped[11][3])
def test_2026_highlights_follow_supplied_chronology(self):
anchors = {}
for path in ART.glob("*photo-*.md"):
content = path.read_text()
anchor = re.search(r'^anchor: "([^"]+)"', content, re.MULTILINE)
if anchor and anchor.group(1) in {"Foto 64", "Armenia", "Romania"}:
date = datetime.fromisoformat(re.search(
r'^date: "([^"]+)"', content, re.MULTILINE).group(1))
anchors[anchor.group(1)] = date
self.assertLess(anchors["Foto 64"], anchors["Armenia"])
self.assertLess(anchors["Armenia"], anchors["Romania"])
def test_existing_collection_highlight_starts(self):
for anchor, filenames in COLLECTIONS:
@@ -123,8 +135,36 @@ class PhotoHighlightTests(unittest.TestCase):
[(PARIS_LILLE, index) for index in range(13)] +
[(PARIS, index) for index in range(10)])
self.assertEqual(anchors, ["Paris & Lille"])
self.assertTrue(all(date.year == 2025 for date, _, _ in records))
former_paris = (ART / f"2026-09-19-photo-{PARIS}-00.md").read_text()
self.assertIn(f'<div id="photo-{PARIS}"></div>', former_paris)
self.assertEqual(former_paris.count(f'<div id="photo-{PARIS}"></div>'), 1)
def test_recent_analog_highlights_use_2025_in_supplied_order(self):
groups = (
("bf23ab31ef7b33150e9e99cb31f14b1bc27bc8143293a32bb1d4ac2193a493c6",
2, "Iranian Martyrs’ Memorial Cemetery"),
("18a628ae4ea72d0f9a68de6acfbc698449fe10e49ecf990a8ddced0b2e32949d",
3, "Geneva"),
)
newest = []
for job, count, anchor in groups:
records = []
anchors = []
for index in range(count):
content = (ART / f"2026-09-19-photo-{job}-{index:02}.md").read_text()
date = datetime.fromisoformat(re.search(
r'^date: "([^"]+)"', content, re.MULTILINE).group(1))
records.append(date)
anchors.extend(re.findall(r'^anchor: "([^"]+)"', content, re.MULTILINE))
self.assertTrue(all(date.year == 2025 for date in records))
self.assertEqual(anchors, [anchor])
newest.append(max(records))
paris_date = datetime.fromisoformat(re.search(
r'^date: "([^"]+)"',
(ART / f"2026-09-19-photo-{PARIS_LILLE}-00.md").read_text(),
re.MULTILINE).group(1))
self.assertGreater(newest[0], newest[1])
self.assertGreater(newest[1], paris_date)
if __name__ == "__main__":