Просмотр исходного кода

Split requestWrite to allow intercepting writes.

zxc8027 3 лет назад
Родитель
Сommit
d7c24f8bea
1 измененных файлов с 12 добавлено и 0 удалено
  1. 12 0
      plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py

+ 12 - 0
plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py

@@ -80,6 +80,18 @@ class RemovableDriveOutputDevice(OutputDevice):
         if extension:  # Not empty string.
             extension = "." + extension
         file_name = os.path.join(self.getId(), file_name + extension)
+        self._performWrite(file_name, preferred_format, writer, nodes)
+
+    def _performWrite(self, file_name, preferred_format, writer, nodes):
+        """Writes the specified nodes to the removable drive. This is split from
+        requestWrite to allow interception in other plugins. See Ultimaker/Cura#10917.
+
+        :param file_name: File path to write to.
+        :param preferred_format: Preferred file format to write to.
+        :param writer: Writer for writing to the file.
+        :param nodes: A collection of scene nodes that should be written to the
+        file.
+        """
 
         try:
             Logger.log("d", "Writing to %s", file_name)