def collect_failed(self, owner, state, message, *args): # this is to work around the remote access problem dispatcher.send("collect_finished") self.get_view().setText(1, "Failed") self.status = QUEUE_ENTRY_STATUS.FAILED logging.getLogger("user_level_log").error(message.replace('\n', ' ')) raise QueueExecutionException(message.replace('\n', ' '), self)
def get_grid(self): """ Returns the current grid object. """ grid_dict = dict() dispatcher.send("grid", self, grid_dict) return grid_dict
def image_taken(self, image_number): # this is to work around the remote access problem dispatcher.send("collect_started") num_images = str(self.get_data_model().acquisitions[0].\ acquisition_parameters.num_images) first_image = self.get_data_model().acquisitions[0].\ acquisition_parameters.first_image if first_image != 0: image_number = image_number - first_image + 1 self.get_view().setText(1, str(image_number) + "/" + num_images)
def stop(self): BaseQueueEntry.stop(self) try: self.get_view().setText(1, 'Stopping ...') self.collect_hwobj.stopCollect('mxCuBE') if self.centring_task: self.centring_task.kill(block=False) except gevent.GreenletExit: raise self.get_view().setText(1, 'Stopped') logging.getLogger('queue_exec').info('Calling stop on: ' + str(self)) # this is to work around the remote access problem dispatcher.send("collect_finished") raise QueueAbortedException('Queue stopped', self)
def image_taken(self, image_number): # this is to work around the remote access problem dispatcher.send("collect_started") num_images = str(self.get_data_model().acquisitions[0].\ acquisition_parameters.num_images) first_image = self.get_data_model().acquisitions[0].\ acquisition_parameters.first_image if first_image != 0: image_number = image_number - first_image + 1 #JN,20140915, add elapsed time and time remaining time_spent=time.time()-self.startTime time_spent_per_image=time_spent/image_number images_left=self.get_data_model().acquisitions[0].acquisition_parameters.num_images-image_number time_left=time_spent_per_image*images_left time_left3=time.gmtime(time_left) time_spent3=time.gmtime(time_spent) logging.info("time spent %s, time left %s", time.strftime("%H:%M",time_spent3),time.strftime("%H:%M",time_left3)) #self.get_view().setText(1, str(image_number) + "/" + num_images) #self.get_view().setText(1, str(image_number) + "/" + num_images + " " +time.strftime("%H:%M:%S",time_spent3) + "/" +time.strftime("%H:%M:%S",time_left3) ) self.get_view().setText(1, str(image_number) + "/" + num_images + " " +time.strftime("%H:%M",time_spent3) + "/" +time.strftime("%H:%M",time_left3) )
def set_grid_data(self, key, result_data): dispatcher.send("set_grid_data", self, key, result_data)
def collect_finished(self, owner, state, message, *args): # this is to work around the remote access problem dispatcher.send("collect_finished") self.get_view().setText(1, "Collection done") logging.getLogger("user_level_log").info('Collection completed')
def collect_started(self, owner, num_oscillations): # this is to work around the remote access problem dispatcher.send("collect_started")