Beispiel #1
0
    def _onWriteJobFinished(self, job):
        self._writing = False
        self.writeFinished.emit(self)
        if job.getResult():
            self.writeSuccess.emit(self)
            message = Message(
                catalog.i18nc("@info:status Don't translate the XML tags <filename>!", "Saved to <filename>{0}</filename>").format(job.getFileName()),
                title = catalog.i18nc("@info:title", "File Saved"),
                message_type = Message.MessageType.POSITIVE)
            message.addAction("open_folder", catalog.i18nc("@action:button", "Open Folder"), "open-folder", catalog.i18nc("@info:tooltip", "Open the folder containing the file"))
            message._folder = os.path.dirname(job.getFileName())
            message.actionTriggered.connect(self._onMessageActionTriggered)
            message.show()
        else:
            message = Message(catalog.i18nc("@info:status Don't translate the XML tags <filename> or <message>!",
                                            "Could not save to <filename>{0}</filename>: <message>{1}</message>").format(job.getFileName(), str(job.getError())),
                                            lifetime = 0,
                                            title = catalog.i18nc("@info:title", "Error"),
                                            message_type = Message.MessageType.ERROR)
            message.show()
            self.writeError.emit(self)

        try:
            job.getStream().close()
        except (OSError, PermissionError): #When you don't have the rights to do the final flush or the disk is full.
            message = Message(catalog.i18nc("@info:status",
                                            "Something went wrong saving to <filename>{0}</filename>: <message>{1}</message>").format(job.getFileName(), str(job.getError())),
                                            title = catalog.i18nc("@info:title", "Error"),
                                            message_type = Message.MessageType.ERROR)
            message.show()
            self.writeError.emit(self)
    def _onWriteJobFinished(self, job):
        if hasattr(job, "_message"):
            job._message.hide()
            job._message = None

        self._writing = False
        self.writeFinished.emit(self)
        if job.getResult():
            self.writeSuccess.emit(self)
            message = Message(
                catalog.i18nc("@info:status",
                              "Saved to <filename>{0}</filename>").format(
                                  job.getFileName()))
            message.addAction(
                "open_folder", catalog.i18nc("@action:button", "Open Folder"),
                "open-folder",
                catalog.i18nc("@info:tooltip",
                              "Open the folder containing the file"))
            message._folder = os.path.dirname(job.getFileName())
            message.actionTriggered.connect(self._onMessageActionTriggered)
            message.show()
        else:
            message = Message(catalog.i18nc(
                "@info:status",
                "Could not save to <filename>{0}</filename>: <message>{1}</message>"
            ).format(job.getFileName(), str(job.getError())),
                              lifetime=0)
            message.show()
            self.writeError.emit(self)
        job.getStream().close()
    def _onWriteJobFinished(self, job):
        self._writing = False
        self.writeFinished.emit(self)
        if job.getResult():
            self.writeSuccess.emit(self)
            message = Message(
                self._translations.get("file_saved_status").format(
                    job.getFileName()),
                title=self._translations.get("file_saved_title"))
            message.addAction("open_folder",
                              self._translations.get("open_folder_button"),
                              "open-folder",
                              self._translations.get("open_folder_tooltip"))
            message._folder = os.path.dirname(job.getFileName())
            message.actionTriggered.connect(self._onMessageActionTriggered)
            message.show()
        else:
            message = Message(self._translations.get("file_cant_save").format(
                job.getFileName(), str(job.getError())),
                              lifetime=0,
                              title=self._translations.get("warning"))
            message.show()
            self.writeError.emit(self)

        try:
            job.getStream().close()
        # When you don't have the rights to do the final flush or the disk is full.
        except (OSError, PermissionError):
            message = Message(
                self._translations.get("file_something_wrong").format(
                    job.getFileName(), str(job.getError())),
                title=self._translations.get("error"))
            message.show()
            self.writeError.emit(self)
 def save_gcode(self, file_name, _gcode):
     global_container_stack = Application.getInstance(
     ).getGlobalContainerStack()
     if not global_container_stack:
         return
     job_name = Application.getInstance().getPrintInformation(
     ).jobName.strip()
     if job_name is "":
         job_name = "untitled_print"
     job_name = "%s.gcode" % job_name
     image = utils.take_screenshot()
     # Logger.log("d", os.path.abspath("")+"\\test.png")
     message = Message(
         catalog.i18nc(
             "@info:status",
             "Saving to <filename>{0}</filename>").format(file_name), 0,
         False, -1)
     try:
         message.show()
         save_file = open(file_name, "w")
         if image:
             save_file.write(
                 utils.add_screenshot(image, 100, 100, ";simage:"))
             save_file.write(
                 utils.add_screenshot(image, 200, 200, ";;gimage:"))
             save_file.write("\r")
         for line in _gcode:
             save_file.write(line)
         save_file.close()
         message.hide()
         self.writeFinished.emit(self)
         self.writeSuccess.emit(self)
         message = Message(
             catalog.i18nc(
                 "@info:status",
                 "Saved to <filename>{0}</filename>").format(job_name))
         message.addAction(
             "open_folder", catalog.i18nc("@action:button", "Open Folder"),
             "open-folder",
             catalog.i18nc("@info:tooltip",
                           "Open the folder containing the file"))
         message._folder = os.path.dirname(file_name)
         message.actionTriggered.connect(self._onMessageActionTriggered)
         message.show()
     except Exception as e:
         message.hide()
         message = Message(catalog.i18nc(
             "@info:status",
             "Could not save to <filename>{0}</filename>: <message>{1}</message>"
         ).format(file_name, str(e)),
                           lifetime=0)
         message.show()
         self.writeError.emit(self)
 def _onWriteJobFinished(self, job):
     self._writing = False
     self.writeFinished.emit(self)
     if job.getResult():
         self.writeSuccess.emit(self)
         message = Message(catalog.i18nc("@info:status", "Saved to <filename>{0}</filename>").format(job.getFileName()))
         message.addAction("open_folder", catalog.i18nc("@action:button", "Open Folder"), "open-folder", catalog.i18nc("@info:tooltip","Open the folder containing the file"))
         message._folder = os.path.dirname(job.getFileName())
         message.actionTriggered.connect(self._onMessageActionTriggered)
         message.show()
     else:
         message = Message(catalog.i18nc("@info:status", "Could not save to <filename>{0}</filename>: <message>{1}</message>").format(job.getFileName(), str(job.getError())), lifetime = 0)
         message.show()
         self.writeError.emit(self)
     job.getStream().close()
    def _onWriteJobFinished(self, job):
        self._writing = False
        self.writeFinished.emit(self)
        if job.getResult():
            self.writeSuccess.emit(self)
            message = Message(catalog.i18nc("@info:status Don't translate the XML tags <filename>!", "Saved to <filename>{0}</filename>").format(job.getFileName()), title = catalog.i18nc("@info:title", "File Saved"))
            message.addAction("open_folder", catalog.i18nc("@action:button", "Open Folder"), "open-folder", catalog.i18nc("@info:tooltip", "Open the folder containing the file"))
            message._folder = os.path.dirname(job.getFileName())
            message.actionTriggered.connect(self._onMessageActionTriggered)
            message.show()
        else:
            message = Message(catalog.i18nc("@info:status Don't translate the XML tags <filename> or <message>!", "Could not save to <filename>{0}</filename>: <message>{1}</message>").format(job.getFileName(), str(job.getError())), lifetime = 0, title = catalog.i18nc("@info:title", "Warning"))
            message.show()
            self.writeError.emit(self)

        try:
            job.getStream().close()
        except (OSError, PermissionError): #When you don't have the rights to do the final flush or the disk is full.
            message = Message(catalog.i18nc("@info:status", "Something went wrong saving to <filename>{0}</filename>: <message>{1}</message>").format(job.getFileName(), str(job.getError())), title = catalog.i18nc("@info:title", "Error"))
            message.show()
            self.writeError.emit(self)