Addon Manager: Refactor progress reporting
This commit is contained in:
committed by
Yorik van Havre
parent
1cf2bacf1f
commit
30177e2cf2
@@ -57,8 +57,8 @@ class CreateAddonListWorker(QtCore.QThread):
|
||||
"""This worker updates the list of available workbenches, emitting an "addon_repo"
|
||||
signal for each Addon as they are processed."""
|
||||
|
||||
status_message = QtCore.Signal(str)
|
||||
addon_repo = QtCore.Signal(object)
|
||||
progress_made = QtCore.Signal(str, int, int)
|
||||
|
||||
def __init__(self):
|
||||
QtCore.QThread.__init__(self)
|
||||
@@ -121,7 +121,6 @@ class CreateAddonListWorker(QtCore.QThread):
|
||||
"Failed to connect to GitHub. Check your connection and proxy settings.",
|
||||
)
|
||||
FreeCAD.Console.PrintError(message + "\n")
|
||||
self.status_message.emit(message)
|
||||
raise ConnectionError
|
||||
|
||||
def _process_deprecated(self, deprecated_addons):
|
||||
@@ -265,8 +264,6 @@ class CreateAddonListWorker(QtCore.QThread):
|
||||
repo.obsolete = True
|
||||
self.addon_repo.emit(repo)
|
||||
|
||||
self.status_message.emit(translate("AddonsInstaller", "Workbenches list was updated."))
|
||||
|
||||
def _retrieve_macros_from_git(self):
|
||||
"""Retrieve macros from FreeCAD-macros.git
|
||||
|
||||
@@ -281,7 +278,6 @@ class CreateAddonListWorker(QtCore.QThread):
|
||||
"AddonsInstaller",
|
||||
"Git is disabled, skipping Git macros",
|
||||
)
|
||||
self.status_message.emit(message)
|
||||
FreeCAD.Console.PrintWarning(message + "\n")
|
||||
return
|
||||
|
||||
@@ -529,7 +525,7 @@ class CheckWorkbenchesForUpdatesWorker(QtCore.QThread):
|
||||
"""This worker checks for available updates for all workbenches"""
|
||||
|
||||
update_status = QtCore.Signal(Addon)
|
||||
progress_made = QtCore.Signal(int, int)
|
||||
progress_made = QtCore.Signal(str, int, int)
|
||||
|
||||
def __init__(self, repos: List[Addon]):
|
||||
|
||||
@@ -549,7 +545,10 @@ class CheckWorkbenchesForUpdatesWorker(QtCore.QThread):
|
||||
for repo in self.repos:
|
||||
if self.current_thread.isInterruptionRequested():
|
||||
return
|
||||
self.progress_made.emit(count, len(self.repos))
|
||||
message = translate("AddonsInstaller", "Checking {} for update").format(
|
||||
repo.display_name
|
||||
)
|
||||
self.progress_made.emit(message, count, len(self.repos))
|
||||
count += 1
|
||||
if repo.status() == Addon.Status.UNCHECKED:
|
||||
if repo.repo_type == Addon.Kind.WORKBENCH:
|
||||
@@ -743,9 +742,8 @@ class UpdateChecker:
|
||||
class CacheMacroCodeWorker(QtCore.QThread):
|
||||
"""Download and cache the macro code, and parse its internal metadata"""
|
||||
|
||||
status_message = QtCore.Signal(str)
|
||||
update_macro = QtCore.Signal(Addon)
|
||||
progress_made = QtCore.Signal(int, int)
|
||||
progress_made = QtCore.Signal(str, int, int)
|
||||
|
||||
def __init__(self, repos: List[Addon]) -> None:
|
||||
QtCore.QThread.__init__(self)
|
||||
@@ -761,8 +759,6 @@ class CacheMacroCodeWorker(QtCore.QThread):
|
||||
"""Rarely called directly: create an instance and call start() on it instead to
|
||||
launch in a new thread"""
|
||||
|
||||
self.status_message.emit(translate("AddonsInstaller", "Caching macro code..."))
|
||||
|
||||
self.repo_queue = queue.Queue()
|
||||
num_macros = 0
|
||||
for repo in self.repos:
|
||||
@@ -846,7 +842,8 @@ class CacheMacroCodeWorker(QtCore.QThread):
|
||||
if QtCore.QThread.currentThread().isInterruptionRequested():
|
||||
return
|
||||
|
||||
self.progress_made.emit(len(self.repos) - self.repo_queue.qsize(), len(self.repos))
|
||||
message = translate("AddonsInstaller", "Caching {} macro").format(repo.display_name)
|
||||
self.progress_made.emit(message, len(self.repos) - self.repo_queue.qsize(), len(self.repos))
|
||||
|
||||
try:
|
||||
next_repo = self.repo_queue.get_nowait()
|
||||
@@ -857,12 +854,6 @@ class CacheMacroCodeWorker(QtCore.QThread):
|
||||
self.terminators.append(
|
||||
QtCore.QTimer.singleShot(10000, lambda: self.terminate(worker))
|
||||
)
|
||||
self.status_message.emit(
|
||||
translate(
|
||||
"AddonsInstaller",
|
||||
"Getting metadata from macro {}",
|
||||
).format(next_repo.macro.name)
|
||||
)
|
||||
worker.start()
|
||||
except queue.Empty:
|
||||
pass
|
||||
@@ -895,7 +886,6 @@ class CacheMacroCodeWorker(QtCore.QThread):
|
||||
class GetMacroDetailsWorker(QtCore.QThread):
|
||||
"""Retrieve the macro details for a macro"""
|
||||
|
||||
status_message = QtCore.Signal(str)
|
||||
readme_updated = QtCore.Signal(str)
|
||||
|
||||
def __init__(self, repo):
|
||||
@@ -907,12 +897,9 @@ class GetMacroDetailsWorker(QtCore.QThread):
|
||||
"""Rarely called directly: create an instance and call start() on it instead to
|
||||
launch in a new thread"""
|
||||
|
||||
self.status_message.emit(translate("AddonsInstaller", "Retrieving macro description..."))
|
||||
if not self.macro.parsed and self.macro.on_git:
|
||||
self.status_message.emit(translate("AddonsInstaller", "Retrieving info from Git"))
|
||||
self.macro.fill_details_from_file(self.macro.src_filename)
|
||||
if not self.macro.parsed and self.macro.on_wiki:
|
||||
self.status_message.emit(translate("AddonsInstaller", "Retrieving info from wiki"))
|
||||
mac = self.macro.name.replace(" ", "_")
|
||||
mac = mac.replace("&", "%26")
|
||||
mac = mac.replace("+", "%2B")
|
||||
|
||||
Reference in New Issue
Block a user