From a34ca45c38c3ae1cedb3aa8415688b02211b606c Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 31 Jan 2018 17:08:49 +0100 Subject: [PATCH] Remove outdated UCP writer The real file extension became .ufp. The plug-in was rewritten. Contributes to issue CURA-4872. --- plugins/UCPWriter/UCPWriter.py | 68 ---------------------------------- plugins/UCPWriter/__init__.py | 25 ------------- plugins/UCPWriter/plugin.json | 8 ---- 3 files changed, 101 deletions(-) delete mode 100644 plugins/UCPWriter/UCPWriter.py delete mode 100644 plugins/UCPWriter/__init__.py delete mode 100644 plugins/UCPWriter/plugin.json diff --git a/plugins/UCPWriter/UCPWriter.py b/plugins/UCPWriter/UCPWriter.py deleted file mode 100644 index cd858b912a..0000000000 --- a/plugins/UCPWriter/UCPWriter.py +++ /dev/null @@ -1,68 +0,0 @@ -import zipfile - -from io import StringIO - -from UM.Resources import Resources -from UM.Mesh.MeshWriter import MeshWriter -from UM.Logger import Logger -from UM.PluginRegistry import PluginRegistry - -MYPY = False -try: - if not MYPY: - import xml.etree.cElementTree as ET -except ImportError: - Logger.log("w", "Unable to load cElementTree, switching to slower version") - import xml.etree.ElementTree as ET - - -class UCPWriter(MeshWriter): - def __init__(self): - super().__init__() - self._namespaces = { - "content-types": "http://schemas.openxmlformats.org/package/2006/content-types", - "relationships": "http://schemas.openxmlformats.org/package/2006/relationships", - } - - def write(self, stream, nodes, mode = MeshWriter.OutputMode.BinaryMode): - self._archive = None # Reset archive - archive = zipfile.ZipFile(stream, "w", compression=zipfile.ZIP_DEFLATED) - - gcode_file = zipfile.ZipInfo("3D/model.gcode") - gcode_file.compress_type = zipfile.ZIP_DEFLATED - - # Create content types file - content_types_file = zipfile.ZipInfo("[Content_Types].xml") - content_types_file.compress_type = zipfile.ZIP_DEFLATED - content_types = ET.Element("Types", xmlns=self._namespaces["content-types"]) - - rels_type = ET.SubElement(content_types, "Default", Extension="rels", - ContentType="application/vnd.openxmlformats-package.relationships+xml") - gcode_type = ET.SubElement(content_types, "Default", Extension="gcode", - ContentType="text/x-gcode") - image_type = ET.SubElement(content_types, "Default", Extension="png", - ContentType="image/png") - - # Create _rels/.rels file - relations_file = zipfile.ZipInfo("_rels/.rels") - relations_file.compress_type = zipfile.ZIP_DEFLATED - relations_element = ET.Element("Relationships", xmlns=self._namespaces["relationships"]) - - thumbnail_relation_element = ET.SubElement(relations_element, "Relationship", Target="/Metadata/thumbnail.png", Id="rel0", - Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail") - - model_relation_element = ET.SubElement(relations_element, "Relationship", Target="/3D/model.gcode", - Id="rel1", - Type="http://schemas.ultimaker.org/package/2018/relationships/gcode") - - gcode_string = StringIO() - - PluginRegistry.getInstance().getPluginObject("GCodeWriter").write(gcode_string, None) - - archive.write(Resources.getPath(Resources.Images, "cura-icon.png"), "Metadata/thumbnail.png") - - archive.writestr(gcode_file, gcode_string.getvalue()) - archive.writestr(content_types_file, b' \n' + ET.tostring(content_types)) - archive.writestr(relations_file, b' \n' + ET.tostring(relations_element)) - - archive.close() diff --git a/plugins/UCPWriter/__init__.py b/plugins/UCPWriter/__init__.py deleted file mode 100644 index 24a4856c34..0000000000 --- a/plugins/UCPWriter/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright (c) 2017 Ultimaker B.V. -# Uranium is released under the terms of the LGPLv3 or higher. - -from . import UCPWriter - -from UM.i18n import i18nCatalog - -i18n_catalog = i18nCatalog("cura") - -def getMetaData(): - return { - "mesh_writer": { - "output": [ - { - "mime_type": "application/x-ucp", - "mode": UCPWriter.UCPWriter.OutputMode.BinaryMode, - "extension": "UCP", - "description": i18n_catalog.i18nc("@item:inlistbox", "UCP File (WIP)") - } - ] - } - } - -def register(app): - return { "mesh_writer": UCPWriter.UCPWriter() } diff --git a/plugins/UCPWriter/plugin.json b/plugins/UCPWriter/plugin.json deleted file mode 100644 index d1e3ce3d1c..0000000000 --- a/plugins/UCPWriter/plugin.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "UCP Writer", - "author": "Ultimaker B.V.", - "version": "1.0.0", - "description": "Provides support for writing UCP files.", - "api": 4, - "i18n-catalog": "cura" -}