def process(self): self._max_qtasks = 0 self._current_progress = 0 result = [] for item in self._wrangletasklist: frange = str(item.text(2)) fids = Frange(input_range=frange) self._max_qtasks += len(fids.frames) self.setNumberOfQTasks.emit(self._max_qtasks) self.updateProgress.emit(self._current_progress) for item in self._wrangletasklist: self._mutex.lock() flag = self._abort self._mutex.unlock() if flag: break taskid = str(item.text(5)) frange = str(item.text(2)) fids = Frange(input_range=frange) frameList = fids.frames dl = DPADataLibrary.DjangoLibrary(BaseQName) for frame in frameList: tid = taskid + "_" + DpaPipeFormattedFrame( frame ) entry = ["~", "~", "~", "~", "~", "~"] entry[0] = tid task = dl.get(tid) entry[1] = task.queueName entry[2] = task.queueStatus entry[3] = task.queueMachine entry[4] = task.queueStartTime entry[5] = task.queueElapsedTime if task.queueStatus == "archived": entry[2] = "done" elif task.queueStatus == "open": entry[2] = "waiting" else: if task.queueStartTime != "" and task.queueEndTime == "": entry[5] = DpaPipeElapsedUnspacedTime( task.queueStartTime, DpaPipeFormattedUnspacedTime() ) # if task.queueStartTime != "" and task.queueEndTime != "": # entry[5] = DpaPipeElapsedUnspacedTime( task.queueStartTime, task.queueEndTime ) result.append(entry) self._current_progress += 1 self.updateProgress.emit(self._current_progress) self._mutex.lock() self._working = False self._mutex.unlock() self.jobComplete.emit(result) self.finished.emit() # End of QTaskListWorker class
def verify(self): ver_range = Frange() ver_range.add([v.number for v in self.versions]) versions_disp = str(ver_range) ptask_field = "PTask" versions_field = "Version(s)" output = Output() output.header_names = [ ptask_field, versions_field, ] output.add_item( { ptask_field: self.ptask.spec, versions_field: versions_disp, }, color_all=Style.bright, ) if self.force: output.title = "Syncing: " else: output.title = "Confirm sync:" output.dump() if not self.force: if not Output.prompt_yes_no(Style.bright + "Sync" + Style.reset): raise ActionAborted("Sync aborted by user.")
def qtaskList(taskid, frange): fids = Frange(input_range=frange) frameList = fids.frames dl = DPADataLibrary.DjangoLibrary(BaseQName) ret = [] for frame in frameList: tid = taskid + "_" + str(frame).zfill(4) entry = ["~", "~", "~", "~", "~", "~"] entry[0] = tid task = dl.get(tid) entry[1] = task.queueName entry[2] = task.queueStatus if task.queueStatus == "archived": entry[2] = "done" if task.queueStatus == "open": entry[2] = "waiting" entry[3] = task.queueMachine entry[4] = task.queueStartTime entry[5] = task.queueElapsedTime if task.queueStartTime != "" and task.queueEndTime == "": entry[5] = DpaPipeElapsedUnspacedTime( task.queueStartTime, DpaPipeFormattedUnspacedTime()) if task.queueStartTime != "" and task.queueEndTime != "": entry[5] = DpaPipeElapsedUnspacedTime(task.queueStartTime, task.queueEndTime) ret.append(entry) return ret
def setUp(self): """Get a new location object for each test.""" self.f1 = Frange() self.f2 = Frange("1") self.f3 = Frange("-1, 0, 1") self.f4 = Frange("-5-5") self.f5 = Frange("-10-10:2") self.f6 = Frange("10-20:3, 1, 4-7") self.f7 = Frange(["4, 7", "10-20:3", "1"])
def _get_frange_from_controls(self): # auto frame range if self._frange_stack.currentIndex() == 0: frange_str = str(self._frame_start.value()) + "-" + \ str(self._frame_end.value()) + ":" + \ str(self._frame_step.value()) # manual frame range else: frange_str = self._manual_frange.text() try: frange = Frange(frange_str) except FrangeError: self._show_error( "Unable to determine frame range from: " + frange_str) return None return frange