From 206931ccc10a3aed9e7294d96eb42a7652372901 Mon Sep 17 00:00:00 2001 From: mosfet80 Date: Sat, 4 Mar 2023 22:21:50 +0100 Subject: [PATCH] Revert addonManager --- src/Mod/AddonManager/Addon.py | 2 ++ src/Mod/AddonManager/addonmanager_workers_startup.py | 5 +++++ src/Mod/AddonManager/package_details.py | 10 ++++++++++ src/Mod/AddonManager/package_list.py | 7 +++++++ 4 files changed, 24 insertions(+) diff --git a/src/Mod/AddonManager/Addon.py b/src/Mod/AddonManager/Addon.py index 83fd2c8f8d..9421d74624 100644 --- a/src/Mod/AddonManager/Addon.py +++ b/src/Mod/AddonManager/Addon.py @@ -153,6 +153,7 @@ class Addon: self.display_name = self.name self.url = url.strip() self.branch = branch.strip() + self.python2 = False self.obsolete = False self.rejected = False self.repo_type = Addon.Kind.WORKBENCH @@ -276,6 +277,7 @@ class Addon: "description": self.description, "cached_icon_filename": self.get_cached_icon_filename(), "best_icon_relative_path": self.get_best_icon_relative_path(), + "python2": self.python2, "obsolete": self.obsolete, "rejected": self.rejected, "requires": list(self.requires), diff --git a/src/Mod/AddonManager/addonmanager_workers_startup.py b/src/Mod/AddonManager/addonmanager_workers_startup.py index 5c52a62bfc..230787db7c 100644 --- a/src/Mod/AddonManager/addonmanager_workers_startup.py +++ b/src/Mod/AddonManager/addonmanager_workers_startup.py @@ -67,6 +67,9 @@ class CreateAddonListWorker(QtCore.QThread): # These addons will print an additional message informing the user self.obsolete = [] + # These addons will print an additional message informing the user Python2 only + self.py2only = [] + self.package_names = [] self.moddir = os.path.join(FreeCAD.getUserAppDataDir(), "Mod") self.current_thread = None @@ -239,6 +242,8 @@ class CreateAddonListWorker(QtCore.QThread): repo.updated_timestamp = os.path.getmtime(md_file) repo.verify_url_and_branch(url, branch) + if name in self.py2only: + repo.python2 = True if name in self.mod_reject_list: repo.rejected = True if name in self.obsolete: diff --git a/src/Mod/AddonManager/package_details.py b/src/Mod/AddonManager/package_details.py index 70fb2663ac..361ccb4b20 100644 --- a/src/Mod/AddonManager/package_details.py +++ b/src/Mod/AddonManager/package_details.py @@ -347,6 +347,16 @@ class PackageDetails(QtWidgets.QWidget): self.ui.labelWarningInfo.setStyleSheet( "color:" + utils.warning_color_string() ) + elif repo.python2: + self.ui.labelWarningInfo.show() + self.ui.labelWarningInfo.setText( + "

" + + translate("AddonsInstaller", "WARNING: This addon is Python 2 Only") + + "

" + ) + self.ui.labelWarningInfo.setStyleSheet( + "color:" + utils.warning_color_string() + ) elif required_version: self.ui.labelWarningInfo.show() self.ui.labelWarningInfo.setText( diff --git a/src/Mod/AddonManager/package_list.py b/src/Mod/AddonManager/package_list.py index f133150ede..19a9449ce6 100644 --- a/src/Mod/AddonManager/package_list.py +++ b/src/Mod/AddonManager/package_list.py @@ -615,6 +615,13 @@ class PackageListFilter(QtCore.QSortFilterProxyModel): if data.status() != Addon.Status.UPDATE_AVAILABLE: return False + # If it's not installed, check to see if it's Py2 only + if ( + data.status() == Addon.Status.NOT_INSTALLED + and self.hide_py2 + and data.python2 + ): + return False # If it's not installed, check to see if it's marked obsolete if (