class _DownloadStatus(HBox): def __init__(self, queue): HBox.__init__(self) self.thread = DlWorker(queue, self.progress, self.set_url) self.label = Label("hello") self.pbar = ProgressBar() self.pack_start(self.label, FALSE, FALSE, 0) self.pack_end(self.pbar, FALSE, FALSE, 0) self.label.show() self.pbar.show() self.show() self._done = False self._started = False def progress(self, dt, dd, ut, ud): threads_enter() print "in progress", dt, dd, ut, ud if dt == 0: self._done += 0.1 if self._done >= 1: self._done = 0 else: self._done = float(dd) / float(dt) print "_done", self._done self.pbar.set_fraction(self._done) threads_leave() def set_url(self, url): self.label.set_text(url) def start(self, *args): if not self._started: self.thread.start() self._started = True
def __init__(self, queue): HBox.__init__(self) self.thread = DlWorker(queue, self.progress, self.set_url) self.label = Label("hello") self.pbar = ProgressBar() self.pack_start(self.label, FALSE, FALSE, 0) self.pack_end(self.pbar, FALSE, FALSE, 0) self.label.show() self.pbar.show() self.show() self._done = False self._started = False