Support analog photo dates and correct gallery years
This commit is contained in:
@@ -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__":
|
||||
|
||||
Reference in New Issue
Block a user