From f10289058f5e6c1a05ddb60b64d10f8379bf40ee Mon Sep 17 00:00:00 2001 From: lorenz Date: Wed, 17 May 2017 12:31:59 +0200 Subject: [PATCH] StringIO/ io fix for addonmanager io.StringIO handles unicode in py2 and 3. StringIO.StringIO handles str in python2 --- src/Mod/AddonManager/AddonManager.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Mod/AddonManager/AddonManager.py b/src/Mod/AddonManager/AddonManager.py index 7aec4fa0d4..4b6c27755a 100644 --- a/src/Mod/AddonManager/AddonManager.py +++ b/src/Mod/AddonManager/AddonManager.py @@ -528,11 +528,15 @@ class InstallWorker(QtCore.QThread): self.info_label.emit("python-git not found.") FreeCAD.Console.PrintWarning(translate("AddonsInstaller","python-git not found. Using standard download instead.\n")) try: - import zipfile,io + import zipfile except: self.info_label.emit("no zip support.") FreeCAD.Console.PrintError(translate("AddonsInstaller","Your version of python doesn't appear to support ZIP files. Unable to proceed.\n")) return + try: + import StringIO as io + except ImportError: # StringIO is not available with python3 + import io if self.idx < 0: return if not self.repos: @@ -575,7 +579,10 @@ class InstallWorker(QtCore.QThread): def download(self,giturl,clonedir): "downloads and unzip from github" import zipfile - import io + try: + import StringIO as io + except ImportError: # StringIO is not available with python3 + import io bakdir = None if os.path.exists(clonedir): bakdir = clonedir+".bak"