From b5e4f9dc7ce6b4ad5a65977bddbb0225d73627c9 Mon Sep 17 00:00:00 2001 From: Viv Date: Sat, 10 Feb 2024 18:17:21 -0500 Subject: [PATCH] `parsers.py`: Add warning + ignore invalid notes --- src/tja2fumen/parsers.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/tja2fumen/parsers.py b/src/tja2fumen/parsers.py index b487836..d7a0afc 100644 --- a/src/tja2fumen/parsers.py +++ b/src/tja2fumen/parsers.py @@ -327,8 +327,17 @@ def parse_tja_course_data(data: List[str]) -> Dict[str, List[TJAMeasure]]: # Merge measure data and measure events in chronological order for branch_name, branch in parsed_branches.items(): for measure in branch: + # warn the user if their measure have typos + valid_notes = [] + for note in measure.notes: + if note not in TJA_NOTE_TYPES: + warnings.warn(f"Ignoring invalid note '{note}' in measure " + f"'{''.join(measure.notes)}' (check for " + f"typos in TJA)") + else: + valid_notes.append(note) notes = [TJAData(name='note', value=TJA_NOTE_TYPES[note], pos=i) - for i, note in enumerate(measure.notes) if + for i, note in enumerate(valid_notes) if TJA_NOTE_TYPES[note] != 'Blank'] events = measure.events while notes or events: