From ab9c415e261a9d8f4ca678c8ea4d6d2600f517a6 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Mon, 5 Feb 2018 18:30:25 +0100 Subject: [PATCH] Gracefully handle missing libCharon --- plugins/UFPWriter/__init__.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/plugins/UFPWriter/__init__.py b/plugins/UFPWriter/__init__.py index 77f8e81222..9db6b042f8 100644 --- a/plugins/UFPWriter/__init__.py +++ b/plugins/UFPWriter/__init__.py @@ -1,13 +1,23 @@ #Copyright (c) 2018 Ultimaker B.V. #Cura is released under the terms of the LGPLv3 or higher. -from . import UFPWriter +import sys + +from UM.Logger import Logger +try: + from . import UFPWriter +except ImportError: + Logger.log("w", "Could not import UFPWriter; libCharon may be missing") + from UM.i18n import i18nCatalog #To translate the file format description. from UM.Mesh.MeshWriter import MeshWriter #For the binary mode flag. i18n_catalog = i18nCatalog("cura") def getMetaData(): + if "UFPWriter.UFPWriter" not in sys.modules: + return {} + return { "mesh_writer": { "output": [ @@ -22,4 +32,7 @@ def getMetaData(): } def register(app): + if "UFPWriter.UFPWriter" not in sys.modules: + return {} + return { "mesh_writer": UFPWriter.UFPWriter() }