def prepare(self): self.items_done = [] missing = getAllRecentlyAddedMissing() ids = set([id for id, title in missing]) self.items_searching = missing self.items_searching_ids = ids self.items_failed = [] self.percentage = 0 self.time_start = datetime.datetime.now() self.ready_for_display = True
def run(self): self.items_done = [] missing = getAllRecentlyAddedMissing() ids = set([id for id, title in missing]) self.items_searching = ids self.ready_for_display = True missing_count = len(ids) # dispatch all searches time_start = datetime.datetime.now() searchMissing(missing) while 1: if set(self.items_done).intersection(ids) == ids: Log.Debug("Task: %s, all items done", self.name) break self.percentage = int(round(len(self.items_done) * 100 / missing_count)) time.sleep(0.1) self.last_run_time = datetime.datetime.now() - time_start self.percentage = 0 self.ready_for_display = False