fix(anki): no recursive config dir for single file

This commit is contained in:
arne314
2025-03-09 12:09:59 +01:00
parent f204b74eae
commit f56e84331c
2 changed files with 11 additions and 9 deletions

View File

@@ -9,20 +9,20 @@ class RecursiveConfigParser:
targets: set[str] targets: set[str]
results: dict[str, dict[Path, str]] results: dict[str, dict[Path, str]]
def __init__(self, dir, targets): def __init__(self, dir, targets, recursive=True):
self.dir = dir self.dir = dir
self.targets = set(targets) self.targets = set(targets)
self.results = defaultdict(dict) self.results = defaultdict(dict)
self._parse_recursive() self._parse_dirs(recursive)
def _parse_recursive(self): def _parse_dirs(self, recursive=True):
files = [] files = []
for target in self.targets: for target in self.targets:
files.extend( if recursive:
glob( dir = f"{self.dir}/**/{target}"
f"{self.dir}/**/{target}", include_hidden=target.startswith("."), recursive=True else:
) dir = f"{self.dir}/{target}"
) files.extend(glob(dir, include_hidden=target.startswith("."), recursive=recursive))
for file in files: for file in files:
file = Path(file) file = Path(file)
if file.name in self.targets: if file.name in self.targets:

View File

@@ -126,7 +126,9 @@ class FlashcardParser:
f"Parsing flashcards in {scan_dir if single_file is None else single_file} ...", f"Parsing flashcards in {scan_dir if single_file is None else single_file} ...",
flush=True, flush=True,
) )
configs = RecursiveConfigParser(root_dir, {".anki", ".anki.typ"}) configs = RecursiveConfigParser(
root_dir, {".anki", ".anki.typ"}, recursive=single_file is None
)
for file in glob(f"{scan_dir}/**/**.typ", recursive=True): for file in glob(f"{scan_dir}/**/**.typ", recursive=True):
file = Path(file) file = Path(file)