Ghostkeeper 6 лет назад
Родитель
Сommit
d8a1d458cf

+ 22 - 16
plugins/Toolbox/src/Toolbox.py

@@ -265,21 +265,25 @@ class Toolbox(QObject, Extension):
             raise Exception("Failed to create Marketplace dialog")
         return dialog
 
-    def _convertPluginMetadata(self, plugin: Dict[str, Any]) -> Dict[str, Any]:
-        formatted = {
-            "package_id": plugin["id"],
-            "package_type": "plugin",
-            "display_name": plugin["plugin"]["name"],
-            "package_version": plugin["plugin"]["version"],
-            "sdk_version": plugin["plugin"]["api"],
-            "author": {
-                "author_id": plugin["plugin"]["author"],
-                "display_name": plugin["plugin"]["author"]
-            },
-            "is_installed": True,
-            "description": plugin["plugin"]["description"]
-        }
-        return formatted
+    def _convertPluginMetadata(self, plugin_data: Dict[str, Any]) -> Optional[Dict[str, Any]]:
+        try:
+            formatted = {
+                "package_id": plugin_data["id"],
+                "package_type": "plugin",
+                "display_name": plugin_data["plugin"]["name"],
+                "package_version": plugin_data["plugin"]["version"],
+                "sdk_version": plugin_data["plugin"]["api"],
+                "author": {
+                    "author_id": plugin_data["plugin"]["author"],
+                    "display_name": plugin_data["plugin"]["author"]
+                },
+                "is_installed": True,
+                "description": plugin_data["plugin"]["description"]
+            }
+            return formatted
+        except:
+            Logger.log("w", "Unable to convert plugin meta data %s", str(plugin_data))
+            return None
 
     @pyqtSlot()
     def _updateInstalledModels(self) -> None:
@@ -299,7 +303,9 @@ class Toolbox(QObject, Extension):
 
                 old_metadata = self._plugin_registry.getMetaData(plugin_id)
                 new_metadata = self._convertPluginMetadata(old_metadata)
-
+                if new_metadata is None:
+                    # Something went wrong converting it.
+                    continue
                 self._old_plugin_ids.add(plugin_id)
                 self._old_plugin_metadata[new_metadata["package_id"]] = new_metadata
 

+ 1 - 1
resources/i18n/ko_KR/cura.po

@@ -915,7 +915,7 @@ msgstr "프로파일 <filename>{0}</filename>에는 정확하지 않은 데이
 #, python-brace-format
 msgctxt "@info:status Don't translate the XML tags <filename>!"
 msgid "The machine defined in profile <filename>{0}</filename> ({1}) doesn't match with your current machine ({2}), could not import it."
-msgstr "The machine defined in profile <filename>{0}</filename> ({1}) doesn’t match with your current machine ({2}), could not import it."
+msgstr "프로필 <filename>{0}</filename>({1})에 정의된 제품이 현재 제품({2})과 일치하지 않으므로, 불러올 수 없습니다."
 
 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312
 #, python-brace-format

+ 0 - 42
resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg

@@ -1,42 +0,0 @@
-[general]
-version = 4
-name = Fast
-definition = ultimaker_s5
-
-[metadata]
-setting_version = 5
-type = quality
-quality_type = draft
-weight = -3
-material = generic_pla
-variant = CC 0.6
-
-[values]
-cool_fan_full_at_height = =layer_height_0 + 2 * layer_height
-cool_fan_speed_max = =100
-cool_min_speed = 2
-gradual_infill_step_height = =3 * layer_height
-infill_line_width = =round(line_width * 0.65 / 0.75, 2)
-infill_pattern = triangles
-line_width = =machine_nozzle_size * 0.9375
-machine_nozzle_cool_down_speed = 0.75
-machine_nozzle_heat_up_speed = 1.6
-material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
-material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
-material_print_temperature = =default_material_print_temperature + 10
-material_standby_temperature = 100
-prime_tower_enable = True
-retract_at_layer_change = False
-speed_print = 45
-speed_topbottom = =math.ceil(speed_print * 35 / 45)
-speed_wall = =math.ceil(speed_print * 40 / 45)
-speed_wall_x = =speed_wall
-speed_wall_0 = =math.ceil(speed_wall * 35 / 40)
-support_angle = 70
-support_line_width = =line_width * 0.75
-support_pattern = triangles
-support_xy_distance = =wall_line_width_0 * 1.5
-top_bottom_thickness = =layer_height * 4
-wall_line_width = =round(line_width * 0.75 / 0.75, 2)
-wall_line_width_x = =round(wall_line_width * 0.625 / 0.75, 2)
-wall_thickness = =wall_line_width_0 + wall_line_width_x

+ 0 - 42
resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg

@@ -1,42 +0,0 @@
-[general]
-version = 4
-name = Normal
-definition = ultimaker_s5
-
-[metadata]
-setting_version = 5
-type = quality
-quality_type = fast
-weight = -2
-material = generic_pla
-variant = CC 0.6
-
-[values]
-cool_fan_full_at_height = =layer_height_0 + 2 * layer_height
-cool_fan_speed_max = =100
-cool_min_speed = 2
-gradual_infill_step_height = =3 * layer_height
-infill_line_width = =round(line_width * 0.65 / 0.75, 2)
-infill_pattern = triangles
-line_width = =machine_nozzle_size * 0.9375
-machine_nozzle_cool_down_speed = 0.75
-machine_nozzle_heat_up_speed = 1.6
-material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
-material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
-material_print_temperature = =default_material_print_temperature + 10
-material_standby_temperature = 100
-prime_tower_enable = True
-retract_at_layer_change = False
-speed_print = 45
-speed_topbottom = =math.ceil(speed_print * 35 / 45)
-speed_wall = =math.ceil(speed_print * 40 / 45)
-speed_wall_x = =speed_wall
-speed_wall_0 = =math.ceil(speed_wall * 35 / 40)
-support_angle = 70
-support_line_width = =line_width * 0.75
-support_pattern = triangles
-support_xy_distance = =wall_line_width_0 * 1.5
-top_bottom_thickness = =layer_height * 4
-wall_line_width = =round(line_width * 0.75 / 0.75, 2)
-wall_line_width_x = =round(wall_line_width * 0.625 / 0.75, 2)
-wall_thickness = =wall_line_width_0 + wall_line_width_x