def run(self): for job in iter(self.queue.get, self.QUIT): self.progress_topic.notify(Example.ClipData(job.get_url(), '',Example.status.InProgress)) value = job.execute() if value =='' self.progress_topic.notify(Example.ClipData(job.get_url(), '',Example.status.Error)) else: self.progress_topic.notify(Example.ClipData(job.get_url(), '',Example.status.Done)) self.queue.task_done() self.queue.task_done() self.queue.put(self.CANCEL) for job in iter(self.queue.get, self.CANCEL): job.cancel() self.queue.task_done() self.queue.task_done()
def add(self, cb, url): self.queue.put(Job(cb, url)) self.progress_topic.notify(Example.ClipData(job.get_url(), '', Example.status.InProgress))