issue #0003588: The path to the Addons does not allow special characters

This commit is contained in:
wmayer
2018-09-13 16:03:38 +02:00
parent 38df1ae742
commit 02eb4a6fa3

View File

@@ -104,8 +104,7 @@ def symlink(source, link_name):
def get_macro_dir():
"""Return the directory where macros are located"""
default_macro_dir = os.path.join(FreeCAD.ConfigGet('UserAppData'), 'Macro')
return FreeCAD.ParamGet('User parameter:BaseApp/Preferences/Macro').GetString('MacroPath', default_macro_dir)
return FreeCAD.getUserMacroDir()
def update_macro_details(old_macro, new_macro):
@@ -384,7 +383,7 @@ class AddonsInstaller(QtGui.QDialog):
if self.tabWidget.currentIndex() == 0:
# Tab "Workbenches".
idx = self.listWorkbenches.currentRow()
basedir = FreeCAD.ConfigGet("UserAppData")
basedir = FreeCAD.getUserAppDataDir()
moddir = basedir + os.sep + "Mod"
clonedir = moddir + os.sep + self.repos[idx][0]
if os.path.exists(clonedir):
@@ -411,7 +410,7 @@ class AddonsInstaller(QtGui.QDialog):
def update_status(self):
self.listWorkbenches.clear()
self.listMacros.clear()
moddir = FreeCAD.ConfigGet("UserAppData") + os.sep + "Mod"
moddir = FreeCAD.getUserAppDataDir() + os.sep + "Mod"
for wb in self.repos:
if os.path.exists(os.path.join(moddir,wb[0])):
self.listWorkbenches.addItem(QtGui.QListWidgetItem(QtGui.QIcon.fromTheme("dialog-ok"),str(wb[0]) + str(" (Installed)")))
@@ -457,7 +456,7 @@ class UpdateWorker(QtCore.QThread):
u.close()
p = p.replace("\n"," ")
p = re.findall("octicon-file-submodule(.*?)message",p)
basedir = FreeCAD.ConfigGet("UserAppData")
basedir = FreeCAD.getUserAppDataDir()
moddir = basedir + os.sep + "Mod"
repos = []
for l in p:
@@ -532,7 +531,7 @@ class CheckWBWorker(QtCore.QThread):
self.stop = True
return
self.progressbar_show.emit(True)
basedir = FreeCAD.ConfigGet("UserAppData")
basedir = FreeCAD.getUserAppDataDir()
moddir = basedir + os.sep + "Mod"
self.info_label.emit(translate("AddonsInstaller", "Checking for new versions..."))
upds = []
@@ -813,7 +812,7 @@ class ShowWorker(QtCore.QThread):
pass
else:
repo = self.repos[self.idx]
clonedir = FreeCAD.ConfigGet("UserAppData") + os.sep + "Mod" + os.sep + repo[0]
clonedir = FreeCAD.getUserAppDataDir() + os.sep + "Mod" + os.sep + repo[0]
if os.path.exists(clonedir):
if not os.path.exists(clonedir + os.sep + '.git'):
# Repair addon installed with raw download
@@ -922,7 +921,7 @@ class InstallWorker(QtCore.QThread):
return
if NOGIT:
git = None
basedir = FreeCAD.ConfigGet("UserAppData")
basedir = FreeCAD.getUserAppDataDir()
moddir = basedir + os.sep + "Mod"
if not os.path.exists(moddir):
os.makedirs(moddir)