Refactor core and base classes (#931)

* Improve the NWIndex class
* Improve the NWItem and NWDoc classes
* Make some optimisations in projects and update tests
* Minor changes to string formatting in main source file
* Add some more protection to core classes
* Make all converter class attributes private
This commit is contained in:
Veronica Berglyd Olsen
2021-12-18 16:03:45 +01:00
committed by GitHub
parent 2f75d88694
commit 5e2ab4f612
20 changed files with 889 additions and 866 deletions
+21 -19
View File
@@ -120,27 +120,29 @@ class NWErrorMessage(QDialog):
kernelVersion = "Unknown"
try:
import lxml
lxmlVersion = lxml.__version__
except Exception:
lxmlVersion = "Unknown"
try:
import enchant
enchantVersion = enchant.__version__
except Exception:
enchantVersion = "Unknown"
try:
exTrace = "\n".join(format_tb(exTrace))
self.msgBody.setPlainText((
"Environment:\n"
"novelWriter Version: {nwVersion}\n"
"Host OS: {osType} ({osKernel})\n"
"Python: {pyVersion} ({pyHexVer:#x})\n"
"Qt: {qtVers}, PyQt: {pyqtVers}\n"
"\n"
"{exType}:\n{exMessage}\n"
"\n"
"Traceback:\n{exTrace}\n"
).format(
nwVersion=__version__,
osType=sys.platform,
osKernel=kernelVersion,
pyVersion=sys.version.split()[0],
pyHexVer=sys.hexversion,
qtVers=QT_VERSION_STR,
pyqtVers=PYQT_VERSION_STR,
exType=exType.__name__,
exMessage=str(exValue),
exTrace="\n".join(format_tb(exTrace)),
f"novelWriter Version: {__version__}\n"
f"Host OS: {sys.platform} ({kernelVersion})\n"
f"Python: {sys.version.split()[0]} ({sys.hexversion:#x})\n"
f"Qt: {QT_VERSION_STR}, PyQt: {PYQT_VERSION_STR}\n"
f"lxml: {lxmlVersion}\n"
f"enchant: {enchantVersion}\n\n"
f"{exType.__name__}:\n{str(exValue)}\n\n"
f"Traceback:\n{exTrace}\n"
))
except Exception:
self.msgBody.setPlainText("Failed to generate error report ...")