Browse Source

Gracefully handle missing libCharon

fieldOfView 7 years ago
parent
commit
ab9c415e26
1 changed files with 14 additions and 1 deletions
  1. 14 1
      plugins/UFPWriter/__init__.py

+ 14 - 1
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() }