From 01733bdbaaef7c23ec6eb5fffb303ed7ec8079c3 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Mon, 16 Jun 2025 18:58:07 +0200 Subject: [PATCH] Use dict comprehension in auto replace processing --- novelwriter/formats/tokenizer.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/novelwriter/formats/tokenizer.py b/novelwriter/formats/tokenizer.py index ba355a16..744c087b 100644 --- a/novelwriter/formats/tokenizer.py +++ b/novelwriter/formats/tokenizer.py @@ -495,12 +495,10 @@ class Tokenizer(ABC): def doPreProcessing(self) -> None: """Run pre-processing jobs before the text is tokenized.""" # Process the user's auto-replace dictionary - if autoReplace := self._project.data.autoReplace: - repDict = {} - for aKey, aVal in autoReplace.items(): - repDict[f"<{aKey}>"] = aVal - xRep = re.compile("|".join([re.escape(k) for k in repDict.keys()]), flags=re.DOTALL) - self._text = xRep.sub(lambda x: repDict[x.group(0)], self._text) + if entry := self._project.data.autoReplace: + replace = {f"<{k}>": v for k, v in entry.items()} + rxRep = re.compile("|".join([re.escape(k) for k in replace]), flags=re.DOTALL) + self._text = rxRep.sub(lambda x: replace[x.group(0)], self._text) return def tokenizeText(self) -> None: