From 5e51288bf6a3d62fa70e36d75b270ddecfd7ab09 Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Fri, 4 Dec 2020 14:58:41 +0100 Subject: [PATCH] New fix for Addon Manager: Use gitmodules instead of parsing github html page --- src/Mod/AddonManager/AddonManager.py | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/src/Mod/AddonManager/AddonManager.py b/src/Mod/AddonManager/AddonManager.py index 93c46b338f..b97f211234 100644 --- a/src/Mod/AddonManager/AddonManager.py +++ b/src/Mod/AddonManager/AddonManager.py @@ -565,35 +565,31 @@ class UpdateWorker(QtCore.QThread): def run(self): "populates the list of addons" self.progressbar_show.emit(True) - u = urlopen("https://github.com/FreeCAD/FreeCAD-addons") + u = urlopen("https://raw.githubusercontent.com/FreeCAD/FreeCAD-addons/master/.gitmodules") p = u.read() if sys.version_info.major >= 3 and isinstance(p, bytes): p = p.decode("utf-8") u.close() - p = p.replace("\n"," ") - #p = re.findall("octicon-file-submodule(.*?)(.*?)<",l)[0] - #name = re.findall("title=\"(.*?) @",l)[0] - name = l.split("/")[1] + for i in range(len(links)): + name = names[i] self.info_label.emit(name) - #url = re.findall("title=\"(.*?) @",l)[0] try: - #url = "https://github.com/" + re.findall("href=\"\/(.*?)\/tree",l)[0] - url = "https://github.com/" + l + url = links[i] except: pass else: addondir = moddir + os.sep + name - #print ("found:",name," at ",url) if not os.path.exists(addondir): state = 0 else: