From 70c9804fc02570ba3d71bc3a253c42597f0ddc86 Mon Sep 17 00:00:00 2001 From: Chris Hennes Date: Fri, 31 Dec 2021 20:19:52 -0600 Subject: [PATCH] Addon Manager: Ensure cache is rebuilt after firstrun dialog --- src/Mod/AddonManager/AddonManager.py | 5 ++++- src/Mod/AddonManager/addonmanager_macro.py | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Mod/AddonManager/AddonManager.py b/src/Mod/AddonManager/AddonManager.py index 5073d1bd7f..d336e516ad 100644 --- a/src/Mod/AddonManager/AddonManager.py +++ b/src/Mod/AddonManager/AddonManager.py @@ -24,7 +24,6 @@ # * * # *************************************************************************** -from inspect import indentsize import os import shutil import stat @@ -155,6 +154,8 @@ class CommandAddonManager: "DownloadMacros", warning_dialog.checkBoxDownloadMacroMetadata.isChecked(), ) + if warning_dialog.checkBoxDownloadMacroMetadata.isChecked(): + self.trigger_recache = True selected_proxy_option = warning_dialog.comboBoxProxy.currentIndex() if selected_proxy_option == 0: pref.SetBool("NoProxyCheck", True) @@ -202,6 +203,8 @@ class CommandAddonManager: # 0: Update every launch # >0: Update every n days self.update_cache = False + if hasattr(self, "trigger_recache") and self.trigger_recache: + self.update_cache = True update_frequency = pref.GetInt("UpdateFrequencyComboEntry", 0) if update_frequency == 0: days_between_updates = -1 diff --git a/src/Mod/AddonManager/addonmanager_macro.py b/src/Mod/AddonManager/addonmanager_macro.py index d2ee65a41a..6e65685de8 100644 --- a/src/Mod/AddonManager/addonmanager_macro.py +++ b/src/Mod/AddonManager/addonmanager_macro.py @@ -198,7 +198,10 @@ class Macro(object): return response = "" block = 8192 - while data := u2.read(block): + while True: + data = u2.read(block) + if not data: + break if isinstance(data, bytes): data = data.decode("utf-8") response += data @@ -232,7 +235,7 @@ class Macro(object): FreeCAD.Console.PrintWarning( translate( "AddonsInstaller", - "Unable to retrieve a description for this macro.", + f"Unable to retrieve a description from the wiki for macro {self.name}", ) + "\n" )