Other campuses' LTC: match against North Attleboro's plan order, not only the songs with timecode
With the weekend's set not on Tracks yet, every campus song looked out of order. The campuses now pair with the home plan itself; a song the home set has no timecode for yet is matched but neither faulted nor written, and the campuses are not looked at at all until the home set gives some timecode. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
+13
-3
@@ -568,7 +568,7 @@ class TestOtherCampuses(unittest.TestCase):
|
||||
self.assertGreaterEqual(len(titles), 3)
|
||||
# the campus plays song 2 first, then 1, then 3: song 1 breaks the order and is skipped; a song NA does not play is skipped too
|
||||
cp = self.campus_plan([titles[1], titles[0], titles[2], "Something Else"])
|
||||
res = rd.campus_ltc(RC, na, self.CAMPUS, cp)
|
||||
res = rd.campus_ltc(RC, plan(), na, self.CAMPUS, cp)
|
||||
self.assertEqual([s["title"] for s in res["songs"]], [titles[1], titles[2]])
|
||||
self.assertEqual(res["skipped"], [titles[0], "Something Else"])
|
||||
self.assertEqual(res["songs"][0]["tracks"], na[1]["tracks"])
|
||||
@@ -576,12 +576,22 @@ class TestOtherCampuses(unittest.TestCase):
|
||||
self.assertEqual([m for _, m, _ in line.faults], ["AB NO LTC " + rd.short(titles[1], 12), "AB NO LTC " + rd.short(titles[2], 12)])
|
||||
self.assertTrue(any("left alone" in d for d in line.as_dict()["details"]))
|
||||
right = self.campus_plan(titles, notes={t: {"LTC": s["tracks"]} for t, s in zip(titles, na)})
|
||||
self.assertEqual(rd.eval_campus_ltc(RC, rd.campus_ltc(RC, na, self.CAMPUS, right), rd.Line()).faults, [])
|
||||
self.assertEqual(rd.eval_campus_ltc(RC, rd.campus_ltc(RC, plan(), na, self.CAMPUS, right), rd.Line()).faults, [])
|
||||
|
||||
def test_a_song_without_home_timecode_is_matched_but_not_faulted_or_written(self):
|
||||
"""The set is not on Tracks yet: the campus's songs are still in order, nothing is wrong at the campus, nothing is written."""
|
||||
p = plan()
|
||||
cp = self.campus_plan([it["title"] for it in rd.plan_songs(RC, p)])
|
||||
res = rd.campus_ltc(RC, p, [], self.CAMPUS, cp)
|
||||
self.assertEqual(res["skipped"], [])
|
||||
self.assertTrue(res["songs"] and all(s["tracks"] is None for s in res["songs"]))
|
||||
self.assertEqual(rd.eval_campus_ltc(RC, res, rd.Line()).faults, [])
|
||||
self.assertIs(rd.write_ltc(RC, res["songs"], "1113969", "ab-1"), True)
|
||||
|
||||
def test_the_fix_writes_every_campus(self):
|
||||
na = rd.song_ltc(RC, plan(), ableton())
|
||||
cp = self.campus_plan([s["title"] for s in na])
|
||||
res = rd.campus_ltc(RC, na, self.CAMPUS, cp)
|
||||
res = rd.campus_ltc(RC, plan(), na, self.CAMPUS, cp)
|
||||
rd.LAST["ltc"], rd.LAST["service_type"], rd.LAST["plan_id"] = na, "275974", "92013595"
|
||||
rd.LAST["ltc_other"] = [res]
|
||||
calls = []
|
||||
|
||||
Reference in New Issue
Block a user