diff --git a/allzweckmesser/scanner.py b/allzweckmesser/scanner.py index 1bab2f0a0d54e1a113a8fc64b2204b979118ff54..f5c5545a6d9726896813af16743dccc2068222ee 100644 --- a/allzweckmesser/scanner.py +++ b/allzweckmesser/scanner.py @@ -432,17 +432,19 @@ def muta_cum_liquida(verse): r'[aeiouvy](([bpsckgdt]|(qu)|(qv))[h\W]*[lrmn])([aeiouvy]|[.?!]|$)', flags=re.IGNORECASE ) - if re.search(mcl_regex, verse.text): - matches = re.finditer(mcl_regex, verse.text) - - for match in matches: - for reading in verse.readings: - for token in reading.tokens: - for syllable in token.syllables: + for match in re.finditer(mcl_regex, verse.text): + for reading in verse.readings: + for token in reading.tokens: + break_ = False + for syllable in token.syllables: - if syllable.span[0] <= match.start() < syllable.span[1]: - mcl = Phenomenon(chars=match.group(1)) - syllable.phenomena['muta cum liquida'] = mcl + if syllable.span[0] <= match.start() < syllable.span[1]: + mcl = Phenomenon(chars=match.group(1)) + syllable.phenomena['muta cum liquida'] = mcl + break_ = True + break + if break_: + break def positional_lengthening(verse):