aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--run.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/run.py b/run.py
index 2f72475..4b4f011 100644
--- a/run.py
+++ b/run.py
@@ -1,13 +1,26 @@
import xml.etree.ElementTree as xml
import sys
+import os
def main(file):
+ processed_only = os.environ.get("PROCESSED_ONLY", "false").lower() == 'true'
collection = xml.parse(file)
root = collection.getroot()
- tracks = []
+ processed_keys = set()
+ for node in root.findall(".//NODE"):
+ name = node.get("Name")
+ if name is not None and "** Processed" in str(name):
+ for track_ref in node.findall("TRACK"):
+ key = track_ref.get("Key")
+ if key:
+ processed_keys.add(key)
+ break
+ tracks = []
for track in root.iter("TRACK"):
+ if processed_only and track.get("TrackID") not in processed_keys:
+ continue
tempos = track.findall("TEMPO")
if len(tempos) > 1:
bpms = {float(tempo.get("Bpm", "0")) for tempo in tempos}
git.ajschof.me — hosted by ajschofield — powered by cgit