Addon Manager: Refactor installation code

Improve testability of installation code by refactoring it to completely
separate the GUI and non-GUI code, and to provide more robust support
for non-GUI access to some type of Addon Manager activity.
This commit is contained in:
Chris Hennes
2022-11-18 18:51:04 -06:00
parent 403e0dc477
commit 89c191e160
46 changed files with 4012 additions and 1666 deletions

View File

@@ -442,7 +442,7 @@ class DeveloperMode:
if self.dialog.minPythonLineEdit.text():
self.metadata.PythonMin = self.dialog.minPythonLineEdit.text()
else:
self.metadata.PythonMin = "0.0.0" # Code for "unset"
self.metadata.PythonMin = "0.0.0" # Code for "unset"
# Content, people, and licenses should already be sync'ed
@@ -598,7 +598,7 @@ class DeveloperMode:
)
+ "...\n"
)
#pylint: disable=import-outside-toplevel
# pylint: disable=import-outside-toplevel
import vermin
required_minor_version = 0
@@ -640,10 +640,10 @@ class DeveloperMode:
def _ensure_vermin_loaded(self) -> bool:
try:
#pylint: disable=import-outside-toplevel,unused-import
# pylint: disable=import-outside-toplevel,unused-import
import vermin
except ImportError:
#pylint: disable=line-too-long
# pylint: disable=line-too-long
response = QMessageBox.question(
self.dialog,
translate("AddonsInstaller", "Install Vermin?"),
@@ -695,7 +695,7 @@ class DeveloperMode:
)
return False
try:
#pylint: disable=import-outside-toplevel
# pylint: disable=import-outside-toplevel
import vermin
except ImportError:
response = QMessageBox.critical(