def showMessage(self, message: Message) -> None: with self._message_lock: if message not in self._visible_messages: self._visible_messages.append(message) message.setLifetimeTimer(QTimer()) message.setInactivityTimer(QTimer()) self.visibleMessageAdded.emit(message) # also show toast message when the main window is minimized self.showToastMessage(self._app_name, message.getText())
def test_gettersAndSetters(): message = Message(text = "OMG", title="YAY", image_caption="DERP", image_source= "HERP", option_text="FOO", option_state= False) message.setMaxProgress(200) assert message.getText() == "OMG" assert message.getTitle() == "YAY" assert message.getImageCaption() == "DERP" assert message.getImageSource() == "HERP" assert message.getOptionText() == "FOO" assert message.getMaxProgress() == 200 assert message.getOptionState() == False message.setTitle("whoo") assert message.getTitle() == "whoo"
def test_gettersAndSetters(): message = Message(text="OMG", title="YAY", image_caption="DERP", image_source="HERP", option_text="FOO", option_state=False, message_type=Message.MessageType.POSITIVE) message.setMaxProgress(200) assert message.getText() == "OMG" assert message.getTitle() == "YAY" assert message.getImageCaption() == "DERP" assert message.getImageSource() == "HERP" assert message.getOptionText() == "FOO" assert message.getMaxProgress() == 200 assert message.getOptionState() == False message.setTitle("whoo") assert message.getTitle() == "whoo"
def submitSmartSliceJob(self, cloud_job, threemf_data): thor_status_code, task = self.executeApiCall( lambda: self._client.new_smartslice_job(threemf_data), self.ConnectionErrorCodes.genericInternetConnectionError ) job_status_tracker = JobStatusTracker(self.connector, self.connector.status) Logger.log("d", "API Status after posting: {}".format(thor_status_code)) if thor_status_code != 200: self._handleThorErrors(thor_status_code, task) self.connector.cancelCurrentJob() if getattr(task, 'status', None): Logger.log("d", "Job status after posting: {}".format(task.status)) # While the task status is not finished/failed/crashed/aborted continue to # wait on the status using the API. thor_status_code = None while thor_status_code != self.ConnectionErrorCodes.genericInternetConnectionError and not cloud_job.canceled and task.status not in ( pywim.http.thor.JobInfo.Status.failed, pywim.http.thor.JobInfo.Status.crashed, pywim.http.thor.JobInfo.Status.aborted, pywim.http.thor.JobInfo.Status.finished ): self.job_status = task.status cloud_job.api_job_id = task.id thor_status_code, task = self.executeApiCall( lambda: self._client.smartslice_job_wait(task.id, callback=job_status_tracker), self.ConnectionErrorCodes.genericInternetConnectionError ) if thor_status_code == 200: thor_status_code, task = self.executeApiCall( lambda: self._client.smartslice_job_wait(task.id, callback=job_status_tracker), self.ConnectionErrorCodes.genericInternetConnectionError ) if thor_status_code not in (200, None): self._handleThorErrors(thor_status_code, task) self.connector.cancelCurrentJob() if not cloud_job.canceled: self.connector.propertyHandler._cancelChanges = False if task.status == pywim.http.thor.JobInfo.Status.failed: error_message = Message() error_message.setTitle("Smart Slice Solver") error_message.setText(i18n_catalog.i18nc( "@info:status", "Error while processing the job:\n{}".format(task.errors[0].message) )) error_message.show() self.connector.cancelCurrentJob() cloud_job.setError(SmartSliceCloudJob.JobException(error_message.getText())) Logger.log( "e", "An error occured while sending and receiving cloud job: {}".format(error_message.getText()) ) self.connector.propertyHandler._cancelChanges = False return None elif task.status == pywim.http.thor.JobInfo.Status.finished: return task elif len(task.errors) > 0: error_message = Message() error_message.setTitle("Smart Slice Solver") error_message.setText(i18n_catalog.i18nc( "@info:status", "Unexpected status occured:\n{}".format(task.errors[0].message) )) error_message.show() self.connector.cancelCurrentJob() cloud_job.setError(SmartSliceCloudJob.JobException(error_message.getText())) Logger.log( "e", "An unexpected status occured while sending and receiving cloud job: {}".format(error_message.getText()) ) self.connector.propertyHandler._cancelChanges = False return None