From a7e9c31a2aa19caf0d0bdbd2781e426d02d0d9f7 Mon Sep 17 00:00:00 2001 From: tom Date: Sun, 21 Sep 2025 14:12:32 +0200 Subject: [PATCH] anki fields also after indented points --- src/functions.py | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/src/functions.py b/src/functions.py index 236cf6d..7e1589e 100755 --- a/src/functions.py +++ b/src/functions.py @@ -48,13 +48,30 @@ def convert_text(text: str): field_nr = 1 # number of anki field changed_lines = [] # array with new lines -> anki fields added + indented_points = False + indent_level = 0 for line in seperate(text): # add anki field into line and count the number of changes - line, num = re.subn("(:|\.)(..+)", rf"\1 {{{{c{field_nr}::\2}}}}", line) - # if anki field added increase field number - # if num > 0: - # field_nr += 1 - # add changed line to array + if re.search(":$", line) != None: + indented_points = True + changed_lines.append(line) + continue + + tabStops = re.findall("\t", line) + if indented_points and indent_level == 0: + indent_level = len(tabStops) + + if indented_points and indent_level == len(tabStops): + line, num = re.subn("\t+(.)(..*)", rf"\1 {{{{c{field_nr}::\2}}}}", line) + if num > 0: + changed_lines.append(line) + continue + indented_points = False + indent_level = 0 + else: + indented_points = False + indent_level = 0 + line, num = re.subn("(:)(..+)", rf"\1 {{{{c{field_nr}::\2}}}}", line) changed_lines.append(line) return "\n".join(changed_lines).strip()