Be a bit more precise on open project errors (#1737)

This commit is contained in:
Veronica Berglyd Olsen
2024-03-09 12:12:19 +01:00
parent 02f20b7a4f
commit 075a9bf850
2 changed files with 12 additions and 5 deletions
+8 -4
View File
@@ -183,11 +183,15 @@ class NWStorage:
# 2. A full path to an nwProject.nwx file
if inPath.is_dir() and inPath != Path.home().resolve():
nwxFile = inPath / nwFiles.PROJ_FILE
elif inPath.is_file() and inPath.name == nwFiles.PROJ_FILE:
nwxFile = inPath
elif inPath.is_file():
if inPath.name == nwFiles.PROJ_FILE:
nwxFile = inPath
else:
logger.error("Not a novelWriter project")
return NWStorageOpen.UNKOWN
else:
logger.error("Not a novelWriter project")
return NWStorageOpen.UNKOWN
logger.error("Not found: %s", inPath)
return NWStorageOpen.NOT_FOUND
if not nwxFile.exists():
# The .nwx file must exist to continue
+4 -1
View File
@@ -111,12 +111,15 @@ def testCoreStorage_InitProjectStorage(mockGUI, fncPath, mockRnd):
buildTestProject(project, fncPath)
# Init with the wrong file
foo = fncPath / "foobar.txt"
foo.touch()
assert storage.initProjectStorage(fncPath / "foobar.txt") == NWStorageOpen.UNKOWN
foo.unlink()
storage._clearLockFile()
storage.clear()
# Init with the user's home dir
assert storage.initProjectStorage(Path.home()) == NWStorageOpen.UNKOWN
assert storage.initProjectStorage(Path.home()) == NWStorageOpen.NOT_FOUND
storage._clearLockFile()
storage.clear()