From fabcd1e631d6b71ee6d34e7540d54a2eb004d73d Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Sat, 23 May 2020 15:25:39 +0200 Subject: [PATCH] As the ToHTML class now can be reused, move the regex stuff to the contructor --- nw/core/tohtml.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/nw/core/tohtml.py b/nw/core/tohtml.py index 33c247a9..12d34404 100644 --- a/nw/core/tohtml.py +++ b/nw/core/tohtml.py @@ -54,6 +54,14 @@ class ToHtml(Tokenizer): nwUnicode.U_HELLIP : nwUnicode.H_HELLIP, nwUnicode.U_NBSP : nwUnicode.H_NBSP, } + self.revDict = dict(map(reversed, self.repDict.items())) + + self.reReplace = re.compile( + "|".join([re.escape(k) for k in self.repDict.keys()]), flags=re.DOTALL + ) + self.reReverse = re.compile( + "|".join([re.escape(k) for k in self.revDict.keys()]), flags=re.DOTALL + ) return @@ -82,10 +90,9 @@ class ToHtml(Tokenizer): characters into their respective HTML entities. """ Tokenizer.doAutoReplace(self) - - xRep = re.compile("|".join([re.escape(k) for k in self.repDict.keys()]), flags=re.DOTALL) - self.theText = xRep.sub(lambda x: self.repDict[x.group(0)], self.theText) - + self.theText = self.reReplace.sub( + lambda x: self.repDict[x.group(0)], self.theText + ) return def doPostProcessing(self): @@ -95,18 +102,15 @@ class ToHtml(Tokenizer): if self.genMode == self.M_PREVIEW: # Doesn't matter for preview as we don't use the markdown return - - revDict = dict(map(reversed, self.repDict.items())) - xRep = re.compile("|".join([re.escape(k) for k in revDict.keys()]), flags=re.DOTALL) - self.theMarkdown = xRep.sub(lambda x: revDict[x.group(0)], self.theMarkdown) - + self.theMarkdown = self.reReverse.sub( + lambda x: self.revDict[x.group(0)], self.theMarkdown + ) return def doConvert(self): """Convert the list of text tokens into a HTML document saved to theResult. """ - htmlTags = { self.FMT_B_B : "", self.FMT_B_E : "",