def __init__(self, username, password, config): self.members = {} self.unregistered_members = set() self.wrong_status_members = [] self.have_non_voting = False for c in config: cols = c['cols'] if cols['voting'] != True: self.have_non_voting = True for row in c['data'].rows: member = {} for col, val in cols.iteritems(): if val is None: pass elif val is True: member[col] = True else: member[col] = row[val] if 'voting' in member and voting_bool_map.get(str(member['voting']).lower(), False): self.unregistered_members.add(member['member']) self.members[ member['member'] ] = member report = MemberReportTask(self.members, self.unregistered_members, self.wrong_status_members, self.have_non_voting) tasks = [LoginTask(username, password), report] TaskList.__init__(self, tasks) report.progress = self.progress
def __init__(self, fetch_event, fetch_since, fetch_photos, username, password, progress, batch): tasks = [LoginTask(username, password)] if fetch_event: tasks.append(ReportTask(fetch_event, fetch_since, progress)) if fetch_photos != 'none': tasks.append(PhotosTask(progress, fetch_photos, batch)) broken_registrations = Registration.by_category('') if broken_registrations: tasks.append(CategoryTask(progress, list(broken_registrations), batch)) tasks.append(BatchFinishTask(progress, batch)) TaskList.__init__(self, tasks)
def start_fetch(self, username, password): self.reportslist_task = ReportParamsTask() self.task = TaskList(LoginTask(username, password), self.reportslist_task) self.task.task_finished.connect(self.handle_finished) self.task.task_exception.connect(self.handle_exception) self.task.start_task()
class ReportsFetchWorker(QtCore.QObject): completed = QtCore.pyqtSignal(list) error = QtCore.pyqtSignal(str) def __init__(self): QtCore.QObject.__init__(self) @QtCore.pyqtSlot(str, str) def start_fetch(self, username, password): self.reportslist_task = ReportParamsTask() self.task = TaskList(LoginTask(username, password), self.reportslist_task) self.task.task_finished.connect(self.handle_finished) self.task.task_exception.connect(self.handle_exception) self.task.start_task() def handle_finished(self): self.completed.emit(self.reportslist_task.reports) def handle_exception(self, e, msg): if isinstance(e, LoginError): self.error.emit(str(e)) else: self.error.emit(msg)
def __init__(self, person, username, password, progress, batch): tasks = [LoginTask(username, password)] # XXX: We should also fetch the person's record, but that would mean writing a parser for it tasks.append(PhotosTask(progress, [Person.get(id=person)], batch)) TaskList.__init__(self, tasks)