Add logs for debugging

CURA-8610
This commit is contained in:
j.delarago 2022-06-15 14:09:05 +02:00
parent 5d0e4238d5
commit 4e80d170d1
2 changed files with 9 additions and 2 deletions

View file

@ -63,8 +63,10 @@ class CuraPackageManager(PackageManager):
# 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')]
Logger.info(f"All bundled Materials Found: {[str(path) for path in paths]}")
for material in paths:
if material.name == file_name:
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.
@ -79,19 +81,21 @@ class CuraPackageManager(PackageManager):
def getMaterialFilePackageId(self, file_name: str, guid: str) -> str:
"""Get the id of the installed material package that contains file_name"""
Logger.info(f'Searching paths for package: {[f for f in os.scandir(self._installation_dirs_dict["materials"]) if f.is_dir()]}')
for material_package in [f for f in os.scandir(self._installation_dirs_dict["materials"]) if f.is_dir()]:
package_id = material_package.name
for root, _, file_names in os.walk(material_package.path):
if file_name not in file_names:
# File with the name we are looking for is not in this directory
continue
Logger.info(f"Found file: {file_name}")
Logger.info(f"Attempting to open {os.path.join(root, file_name)}")
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

View file

@ -10,6 +10,7 @@ from UM.Logger import Logger
from UM.Math.Matrix import Matrix
from UM.Application import Application
from UM.Message import Message
from UM.Resources import Resources
from UM.Scene.SceneNode import SceneNode
from cura.CuraApplication import CuraApplication
@ -276,6 +277,8 @@ class ThreeMFWriter(MeshWriter):
if not package_data:
# We failed to find the package for this material
Logger.info(f"Secure resource paths searched for: {Resources.getSecureSearchPaths()}")
message = Message(catalog.i18nc("@error:material",
"It was not possible to store material package information in project file: {material}. This project may not open correctly on other systems.".format(material=extruder.getName())),
title=catalog.i18nc("@info:title", "Failed to save material package information"),