START saves every song every week (old one parked z/zz), logs SAVED/PARKED on the key; SONG KEYS no longer warns ONLY <key>; install.sh and the location kit ship ableton_start.py (NA had the 10/22 copy)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -302,10 +302,9 @@ class TestKeys(unittest.TestCase):
|
||||
def test_the_set_in_another_key(self):
|
||||
keys = dict(GOOD, **{"Holy Forever": "C"})
|
||||
line = rd.eval_keys(RC, keyed(keys), with_pads_and_finished())
|
||||
# Rejoice Again: Finished Songs only has it in B (PCO and the set say Bb)
|
||||
self.assertEqual(msgs(line), ["REJOICE AGAIN ONLY B", "HOLY FOREVER B NOT C", "HOLY FOREVER PAD B NOT C",
|
||||
"HOLY FOREVER ONLY B"])
|
||||
self.assertEqual([lv for lv, _, _ in line.faults], [rd.WARN, rd.ERR, rd.ERR, rd.WARN])
|
||||
# Rejoice Again: Finished Songs only has it in B (PCO and the set say Bb): no warning, START transposes it
|
||||
self.assertEqual(msgs(line), ["HOLY FOREVER B NOT C", "HOLY FOREVER PAD B NOT C"])
|
||||
self.assertEqual([lv for lv, _, _ in line.faults], [rd.ERR, rd.ERR])
|
||||
|
||||
def test_a_song_pco_has_no_key_for(self):
|
||||
line = rd.eval_keys(RC, keyed(dict(GOOD, **{"Holy Forever": ""})), with_pads_and_finished())
|
||||
|
||||
+9
-15
@@ -349,22 +349,16 @@ class TestBuild(unittest.TestCase):
|
||||
self.assertEqual(st["step"], "NOTHING TO DO")
|
||||
self.assertEqual(os.listdir(os.path.join(self.proj, "NA", "261101 NA Project")), [])
|
||||
|
||||
def test_an_unchanged_song_is_not_saved_again_and_a_changed_one_parks_the_old(self):
|
||||
def test_every_song_is_saved_every_week_and_the_old_ones_parked(self):
|
||||
"""User, 2026-10-27: every song saved new every week; the old one goes to z, zz, ... (the bottom of the folder)."""
|
||||
self.run_job()
|
||||
shutil.rmtree(os.path.join(self.proj, "NA", "261101 NA Project"))
|
||||
st = self.run_job()
|
||||
self.assertEqual(st["saved"], [])
|
||||
self.assertFalse(os.path.exists(os.path.join(self.fin, "zOLD SONG [Eb]")))
|
||||
# A re-consolidated stem (new file) is a new version: the old folder is parked as z.
|
||||
base = os.path.join(self.proj, "NA", "261025 NA Project", "261025 NA Project.als")
|
||||
xml = gzip.open(base).read().decode()
|
||||
i = xml.index("21-Piano")
|
||||
xml = xml[:i] + xml[i:].replace('Value="1000"', 'Value="2000"', 1)
|
||||
write_als(base, xml)
|
||||
shutil.rmtree(os.path.join(self.proj, "NA", "261101 NA Project"))
|
||||
st = self.run_job()
|
||||
self.assertEqual(st["saved"], ["OLD SONG [Eb]"])
|
||||
self.assertTrue(os.path.isdir(os.path.join(self.fin, "zOLD SONG [Eb]")))
|
||||
for parked in ("zOLD SONG [Eb]", "zzOLD SONG [Eb]"):
|
||||
shutil.rmtree(os.path.join(self.proj, "NA", "261101 NA Project"))
|
||||
st = self.run_job() # unchanged, saved again all the same
|
||||
self.assertEqual(st["saved"], ["OLD SONG [Eb]"])
|
||||
self.assertIn("SAVED OLD SONG [Eb]", st["log"])
|
||||
self.assertTrue(os.path.isdir(os.path.join(self.fin, parked)))
|
||||
self.assertTrue(os.path.exists(os.path.join(self.fin, "OLD SONG [Eb]", "OLD SONG.als")))
|
||||
|
||||
def test_a_changed_song_replaces_the_version_it_was_made_from(self):
|
||||
# Last week's "OLD SONG" group was made from "OLD SONG LIVE [Eb]", then edited (a stem swapped).
|
||||
|
||||
Reference in New Issue
Block a user