From e30038435cf24395ac38c730b61330006f456c7e Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 8 Nov 2016 17:36:41 +0100 Subject: [PATCH] Added pre-read check for 3mf Reader CURA-1263 --- plugins/3MFReader/ThreeMFWorkspaceReader.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 3250706b97..c46b83bd1f 100644 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -1,5 +1,7 @@ from UM.Workspace.WorkspaceReader import WorkspaceReader +from UM.Application import Application +from UM.Logger import Logger ## Base implementation for reading 3MF workspace files. class ThreeMFWorkspaceReader(WorkspaceReader): @@ -7,7 +9,17 @@ class ThreeMFWorkspaceReader(WorkspaceReader): super().__init__() self._supported_extensions = [".3mf"] + self._3mf_mesh_reader = None + def preRead(self, file_name): - return WorkspaceReader.PreReadResult.accepted - # TODO: Find 3MFFileReader so we can load SceneNodes + self._3mf_mesh_reader = Application.getInstance().getMeshFileHandler().getReaderForFile(file_name) + if self._3mf_mesh_reader and self._3mf_mesh_reader.preRead(file_name) == WorkspaceReader.PreReadResult.accepted: + pass + else: + Logger.log("w", "Could not find reader that was able to read the scene data for 3MF workspace") + return WorkspaceReader.PreReadResult.failed # TODO: Ask user if it's okay for the scene to be cleared + return WorkspaceReader.PreReadResult.accepted + + def read(self, file_name): + pass