mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-25 15:44:04 -06:00
Merge pull request #1578 from fieldOfView/fix_savitar_gracefull_degradation
Fail gracefully when libSavitar is not found
This commit is contained in:
commit
5de3a614ea
2 changed files with 46 additions and 19 deletions
|
@ -1,9 +1,16 @@
|
||||||
# Copyright (c) 2015 Ultimaker B.V.
|
# Copyright (c) 2015 Ultimaker B.V.
|
||||||
# Cura is released under the terms of the AGPLv3 or higher.
|
# Cura is released under the terms of the AGPLv3 or higher.
|
||||||
from typing import Dict
|
from typing import Dict
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from UM.Logger import Logger
|
||||||
|
try:
|
||||||
|
from . import ThreeMFReader
|
||||||
|
except ImportError:
|
||||||
|
Logger.log("w", "Could not import ThreeMFReader; libSavitar may be missing")
|
||||||
|
|
||||||
from . import ThreeMFReader
|
|
||||||
from . import ThreeMFWorkspaceReader
|
from . import ThreeMFWorkspaceReader
|
||||||
|
|
||||||
from UM.i18n import i18nCatalog
|
from UM.i18n import i18nCatalog
|
||||||
from UM.Platform import Platform
|
from UM.Platform import Platform
|
||||||
catalog = i18nCatalog("cura")
|
catalog = i18nCatalog("cura")
|
||||||
|
@ -14,30 +21,36 @@ def getMetaData() -> Dict:
|
||||||
workspace_extension = "3mf"
|
workspace_extension = "3mf"
|
||||||
else:
|
else:
|
||||||
workspace_extension = "curaproject.3mf"
|
workspace_extension = "curaproject.3mf"
|
||||||
return {
|
|
||||||
|
metaData = {
|
||||||
"plugin": {
|
"plugin": {
|
||||||
"name": catalog.i18nc("@label", "3MF Reader"),
|
"name": catalog.i18nc("@label", "3MF Reader"),
|
||||||
"author": "Ultimaker",
|
"author": "Ultimaker",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"description": catalog.i18nc("@info:whatsthis", "Provides support for reading 3MF files."),
|
"description": catalog.i18nc("@info:whatsthis", "Provides support for reading 3MF files."),
|
||||||
"api": 3
|
"api": 3
|
||||||
},
|
}
|
||||||
"mesh_reader": [
|
}
|
||||||
|
if "3MFReader.ThreeMFReader" in sys.modules:
|
||||||
|
metaData["mesh_reader"] = [
|
||||||
{
|
{
|
||||||
"extension": "3mf",
|
"extension": "3mf",
|
||||||
"description": catalog.i18nc("@item:inlistbox", "3MF File")
|
"description": catalog.i18nc("@item:inlistbox", "3MF File")
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
"workspace_reader":
|
metaData["workspace_reader"] = [
|
||||||
[
|
|
||||||
{
|
{
|
||||||
"extension": workspace_extension,
|
"extension": workspace_extension,
|
||||||
"description": catalog.i18nc("@item:inlistbox", "3MF File")
|
"description": catalog.i18nc("@item:inlistbox", "3MF File")
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
|
||||||
|
return metaData
|
||||||
|
|
||||||
|
|
||||||
def register(app):
|
def register(app):
|
||||||
return {"mesh_reader": ThreeMFReader.ThreeMFReader(),
|
if "3MFReader.ThreeMFReader" in sys.modules:
|
||||||
"workspace_reader": ThreeMFWorkspaceReader.ThreeMFWorkspaceReader()}
|
return {"mesh_reader": ThreeMFReader.ThreeMFReader(),
|
||||||
|
"workspace_reader": ThreeMFWorkspaceReader.ThreeMFWorkspaceReader()}
|
||||||
|
else:
|
||||||
|
return {}
|
||||||
|
|
|
@ -1,30 +1,39 @@
|
||||||
# Copyright (c) 2015 Ultimaker B.V.
|
# Copyright (c) 2015 Ultimaker B.V.
|
||||||
# Uranium is released under the terms of the AGPLv3 or higher.
|
# Uranium is released under the terms of the AGPLv3 or higher.
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from UM.Logger import Logger
|
||||||
|
try:
|
||||||
|
from . import ThreeMFWriter
|
||||||
|
except ImportError:
|
||||||
|
Logger.log("w", "Could not import ThreeMFWriter; libSavitar may be missing")
|
||||||
|
from . import ThreeMFWorkspaceWriter
|
||||||
|
|
||||||
from UM.i18n import i18nCatalog
|
from UM.i18n import i18nCatalog
|
||||||
from . import ThreeMFWorkspaceWriter
|
|
||||||
from . import ThreeMFWriter
|
|
||||||
|
|
||||||
i18n_catalog = i18nCatalog("uranium")
|
i18n_catalog = i18nCatalog("uranium")
|
||||||
|
|
||||||
def getMetaData():
|
def getMetaData():
|
||||||
return {
|
metaData = {
|
||||||
"plugin": {
|
"plugin": {
|
||||||
"name": i18n_catalog.i18nc("@label", "3MF Writer"),
|
"name": i18n_catalog.i18nc("@label", "3MF Writer"),
|
||||||
"author": "Ultimaker",
|
"author": "Ultimaker",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"description": i18n_catalog.i18nc("@info:whatsthis", "Provides support for writing 3MF files."),
|
"description": i18n_catalog.i18nc("@info:whatsthis", "Provides support for writing 3MF files."),
|
||||||
"api": 3
|
"api": 3
|
||||||
},
|
}
|
||||||
"mesh_writer": {
|
}
|
||||||
|
|
||||||
|
if "3MFWriter.ThreeMFWriter" in sys.modules:
|
||||||
|
metaData["mesh_writer"] = {
|
||||||
"output": [{
|
"output": [{
|
||||||
"extension": "3mf",
|
"extension": "3mf",
|
||||||
"description": i18n_catalog.i18nc("@item:inlistbox", "3MF file"),
|
"description": i18n_catalog.i18nc("@item:inlistbox", "3MF file"),
|
||||||
"mime_type": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml",
|
"mime_type": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml",
|
||||||
"mode": ThreeMFWriter.ThreeMFWriter.OutputMode.BinaryMode
|
"mode": ThreeMFWriter.ThreeMFWriter.OutputMode.BinaryMode
|
||||||
}]
|
}]
|
||||||
},
|
}
|
||||||
"workspace_writer": {
|
metaData["workspace_writer"] = {
|
||||||
"output": [{
|
"output": [{
|
||||||
"extension": "curaproject.3mf",
|
"extension": "curaproject.3mf",
|
||||||
"description": i18n_catalog.i18nc("@item:inlistbox", "Cura Project 3MF file"),
|
"description": i18n_catalog.i18nc("@item:inlistbox", "Cura Project 3MF file"),
|
||||||
|
@ -32,7 +41,12 @@ def getMetaData():
|
||||||
"mode": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter.OutputMode.BinaryMode
|
"mode": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter.OutputMode.BinaryMode
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
return metaData
|
||||||
|
|
||||||
def register(app):
|
def register(app):
|
||||||
return {"mesh_writer": ThreeMFWriter.ThreeMFWriter(), "workspace_writer": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter()}
|
if "3MFWriter.ThreeMFWriter" in sys.modules:
|
||||||
|
return {"mesh_writer": ThreeMFWriter.ThreeMFWriter(),
|
||||||
|
"workspace_writer": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter()}
|
||||||
|
else:
|
||||||
|
return {}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue