コード例 #1
0
ファイル: memberscan.py プロジェクト: asuffield/ef-editor
    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
コード例 #2
0
ファイル: fetch.py プロジェクト: asuffield/ef-editor
 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)
コード例 #3
0
ファイル: fetchreports.py プロジェクト: asuffield/ef-editor
    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()
コード例 #4
0
ファイル: fetchreports.py プロジェクト: asuffield/ef-editor
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)
コード例 #5
0
ファイル: fetch.py プロジェクト: asuffield/ef-editor
 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)