From a5df5a151ebb17deabd6a057c2e359aad2ec1729 Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Mon, 18 Nov 2019 19:51:31 +0100 Subject: [PATCH 1/3] Fixed crash in project countStatus when tree contains orphaned item --- nw/gui/dialogs/configeditor.py | 1 - nw/gui/dialogs/export.py | 1 - nw/project/status.py | 2 ++ 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nw/gui/dialogs/configeditor.py b/nw/gui/dialogs/configeditor.py index 8d3d4b0f..89bf6992 100644 --- a/nw/gui/dialogs/configeditor.py +++ b/nw/gui/dialogs/configeditor.py @@ -44,7 +44,6 @@ class GuiConfigEditor(QDialog): self.setWindowTitle("Preferences") self.guiDeco = self.theParent.theTheme.loadDecoration("settings",(64,64)) - self.theProject.countStatus() self.tabMain = GuiConfigEditGeneral(self.theParent) self.tabEditor = GuiConfigEditEditor(self.theParent) diff --git a/nw/gui/dialogs/export.py b/nw/gui/dialogs/export.py index 15a8ed7a..8d580f87 100644 --- a/nw/gui/dialogs/export.py +++ b/nw/gui/dialogs/export.py @@ -50,7 +50,6 @@ class GuiExport(QDialog): self.guiDeco = self.theParent.theTheme.loadDecoration("export",(64,64)) - self.theProject.countStatus() self.tabMain = GuiExportMain(self.theParent, self.theProject, self.optState) self.tabPandoc = GuiExportPandoc(self.theParent, self.theProject, self.optState) diff --git a/nw/project/status.py b/nw/project/status.py index 3edd417a..6e15f5b9 100644 --- a/nw/project/status.py +++ b/nw/project/status.py @@ -41,6 +41,8 @@ class NWStatus(): return True def lookupEntry(self, theLabel): + if theLabel is None: + return None theLabel = theLabel.strip() if theLabel in self.theMap.keys(): return self.theMap[theLabel] From b667dcc6f79b44b599e106288a3f49d167087daa Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Mon, 18 Nov 2019 19:56:12 +0100 Subject: [PATCH 2/3] Added docstring to the counting function --- nw/project/project.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nw/project/project.py b/nw/project/project.py index 49105ce8..041029a1 100644 --- a/nw/project/project.py +++ b/nw/project/project.py @@ -582,6 +582,9 @@ class NWProject(): return True def countStatus(self): + """Count how many times the various status flags are used in the + project tree. + """ self.statusItems.resetCounts() self.importItems.resetCounts() for nwItem in self.projTree.values(): From 5f104f9c482f1604c94ea3508fa57ac984a4482a Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" <1619840+vkbo@users.noreply.github.com> Date: Mon, 18 Nov 2019 20:15:29 +0100 Subject: [PATCH 3/3] Fixed hard line breaks in markdown export --- nw/convert/text/tomarkdown.py | 5 +++-- nw/convert/text/totext.py | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/nw/convert/text/tomarkdown.py b/nw/convert/text/tomarkdown.py index c9ea57b7..da65d863 100644 --- a/nw/convert/text/tomarkdown.py +++ b/nw/convert/text/tomarkdown.py @@ -85,7 +85,8 @@ class ToMarkdown(Tokenizer): # indicating a new paragraph. if tType == self.T_EMPTY: if len(thisPar) > 0: - self.theResult += "%s\n\n" % " ".join(thisPar) + tTemp = "\n".join(thisPar) + self.theResult += "%s\n\n" % tTemp.rstrip() thisPar = [] elif tType == self.T_HEAD1: @@ -104,7 +105,7 @@ class ToMarkdown(Tokenizer): self.theResult += "%s\n\n" % tText elif tType == self.T_SKIP: - self.theResult += "\n\n\n\n" + self.theResult += "\n\n\n" elif tType == self.T_TEXT: thisPar.append(tText) diff --git a/nw/convert/text/totext.py b/nw/convert/text/totext.py index fa528199..1f98d5e2 100644 --- a/nw/convert/text/totext.py +++ b/nw/convert/text/totext.py @@ -122,8 +122,8 @@ class ToText(Tokenizer): tText = self._centreText(tText,self.wordWrap) self.theResult += "%s\n\n" % tText - elif tType == self.T_SEP: - self.theResult += "\n\n\n\n" + elif tType == self.T_SKIP: + self.theResult += "\n\n\n" elif tType == self.T_TEXT: thisPar.append(tText)