From d7c24f8bea29fd161b600a2a78751cda06af163a Mon Sep 17 00:00:00 2001 From: zxc8027 Date: Thu, 3 Feb 2022 15:33:07 -0500 Subject: [PATCH] Split requestWrite to allow intercepting writes. --- .../RemovableDriveOutputDevice.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py b/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py index 067773d988..e93473c25f 100644 --- a/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py +++ b/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)