|
@@ -62,10 +62,11 @@ class CuraPackageManager(PackageManager):
|
|
|
for path in Resources.getSecureSearchPaths():
|
|
|
# Secure search paths are install directory paths, if a material is in here it must be bundled.
|
|
|
|
|
|
- paths = [Path(p) for p in glob.glob(path + '/**/*.xml.fdm_material')]
|
|
|
+ paths = [Path(p) for p in glob.glob(path + '/**/*.xml.fdm_material', recursive=True)]
|
|
|
for material in paths:
|
|
|
if material.name == file_name:
|
|
|
- with open(str(material), encoding="utf-8") as f:
|
|
|
+ Logger.info(f"Found bundled material: {material.name}. Located in path: {str(material)}")
|
|
|
+ with open(material, encoding="utf-8") as f:
|
|
|
# Make sure the file we found has the same guid as our material
|
|
|
# Parsing this xml would be better but the namespace is needed to search it.
|
|
|
parsed_guid = PluginRegistry.getInstance().getPluginObject(
|
|
@@ -87,11 +88,12 @@ class CuraPackageManager(PackageManager):
|
|
|
# File with the name we are looking for is not in this directory
|
|
|
continue
|
|
|
|
|
|
- with open(root + "/" + file_name, encoding="utf-8") as f:
|
|
|
+ with open(os.path.join(root, file_name), encoding="utf-8") as f:
|
|
|
# Make sure the file we found has the same guid as our material
|
|
|
# Parsing this xml would be better but the namespace is needed to search it.
|
|
|
parsed_guid = PluginRegistry.getInstance().getPluginObject("XmlMaterialProfile").getMetadataFromSerialized(
|
|
|
f.read(), "GUID")
|
|
|
+
|
|
|
if guid == parsed_guid:
|
|
|
return package_id
|
|
|
|