From ba538920aa317f4cc9e7486dd0402e56787447c3 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Wed, 20 Dec 2023 22:20:04 +0100 Subject: [PATCH] Fix sample project creation --- novelwriter/core/coretools.py | 24 +++++++++++------------- novelwriter/tools/welcome.py | 2 +- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/novelwriter/core/coretools.py b/novelwriter/core/coretools.py index ed0bb822..4cbe086f 100644 --- a/novelwriter/core/coretools.py +++ b/novelwriter/core/coretools.py @@ -331,20 +331,19 @@ class ProjectBuilder: logger.error("Invalid call to buildProject function") return False - path = data.get("path", None) - if path is None: - SHARED.error("A project path is required.") - return False + path = data.get("path", None) or None + if isinstance(path, (str, Path)): + self._path = Path(path).resolve() + if data.get("sample", False): + return self._extractSampleProject(self._path) + elif data.get("template"): + return True + else: + return self._buildAndPopulate(self._path, data) - if data.get("sample", False): - self._path = path - return self._extractSampleProject(path) - elif data.get("template"): - pass - else: - self._buildAndPopulate(path, data) + SHARED.error("A project path is required.") - return True + return False ## # Internal Functions @@ -475,7 +474,6 @@ class ProjectBuilder: "Failed to create a new example project." ), exc=exc) return False - else: SHARED.error(self.tr( "Failed to create a new example project. " diff --git a/novelwriter/tools/welcome.py b/novelwriter/tools/welcome.py index 48e706c2..e7f93dbf 100644 --- a/novelwriter/tools/welcome.py +++ b/novelwriter/tools/welcome.py @@ -175,7 +175,7 @@ class GuiWelcome(QDialog): @pyqtSlot() @pyqtSlot(Path) def _setProjectPath(self, path: Path | None = None) -> None: - """Set the path variable for the project to open.""" + """Emit a project open signal.""" if isinstance(path, Path): self.openProjectRequest.emit(path) self.close()