diff options
Diffstat (limited to 'run.py')
| -rw-r--r-- | run.py | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -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} |
