Core: Fix installation conflict with pkgutils

This commit is contained in:
Chris Hennes
2021-10-27 10:52:14 -05:00
parent 3aebf0aead
commit 12e3f9f222
2 changed files with 13 additions and 10 deletions

View File

@@ -195,6 +195,7 @@ def InitApplications():
workbenches = content["workbench"]
for workbench in workbenches:
subdirectory = workbench.Name if not workbench.Subdirectory else workbench.Subdirectory
subdirectory = subdirectory.replace("/",os.path.sep)
subdirectory = os.path.join(Dir, subdirectory)
classname = workbench.Classname
sys.path.insert(0,subdirectory)

View File

@@ -148,20 +148,22 @@ def InitApplications():
workbenches = content["workbench"]
for workbench_metadata in workbenches:
subdirectory = workbench_metadata.Name if not workbench_metadata.Subdirectory else workbench_metadata.Subdirectory
subdirectory = subdirectory.replace("/",os.path.sep)
subdirectory = os.path.join(Dir, subdirectory)
RunInitGuiPy(subdirectory)
# Brute force this for now:
# Try to generate a new icon from the metadata-specified information
classname = workbench_metadata.Classname
wb_handle = FreeCAD.Gui.getWorkbench(classname)
if wb_handle:
GeneratePackageIcon(dir, subdirectory, workbench_metadata, wb_handle)
else:
Log("Failed to get handle to {classname} -- no icon can be generated, check classname in package.xml\n")
if classname:
try:
wb_handle = FreeCAD.Gui.getWorkbench(classname)
GeneratePackageIcon(dir, subdirectory, workbench_metadata, wb_handle)
except Exception:
Log(f"Failed to get handle to {classname} -- no icon can be generated, check classname in package.xml\n")
Log("Available workbenches at calltime were:\n")
all_workbenches = FreeCAD.Gui.listWorkbenches()
for wb in all_workbenches:
Log(f" * {wb}\n")
else:
continue # The package content says there are no workbenches here, so just skip
else: