Ejemplo n.º 1
0
def syncPrintingAuthority(electionID, syncType):
    paState = db.printingAuthorityStates.find_one({'election': electionID})
    if paState != None:
        paState = deserializeState(paState["state"])
        emitToClient('syncPrintingAuthority', paState.toJSON(), syncType,
                     electionID)
    else:
        raise RuntimeError(
            "No PrintingAuthorityState for election {}!".format(electionID))
Ejemplo n.º 2
0
def syncBulletinBoard(electionID, syncType):
    bbState = db.bulletinBoardStates.find_one({'election': electionID})
    if bbState != None:
        bbState = deserializeState(bbState["state"])
        emitToClient('SyncBulletinBoard', bbState.toJSON(), syncType,
                     electionID)
    else:
        raise RuntimeError(
            "No BulletinBoardState for election {}!".format(electionID))
Ejemplo n.º 3
0
def syncElectionAdministrator(electionID, syncType):
    eaState = db.electionAdministratorStates.find_one({'election': electionID})
    if eaState != None:
        eaState = deserializeState(eaState["state"])
        emitToClient('syncElectionAdministrator', eaState.toJSON(), syncType,
                     electionID)
    else:
        raise RuntimeError(
            "No ElectionAdministrator.py for election {}!".format(electionID))
Ejemplo n.º 4
0
    def loadState(self):
        loadCondition = {'election': self.electionID}
        if self.additionalConditions != None:
            loadCondition.update(self.additionalConditions)

        loadState = self.collection.find_one(loadCondition)
        if loadState != None:
            self.state = deserializeState(loadState["state"])
            self.originalState = copy.deepcopy(self.state)
        else:
            raise RuntimeError("Failed to load state in {}".format(
                self.__class__.__name__))
Ejemplo n.º 5
0
def syncVoters(electionID, syncType):
    voters = []
    try:
        for voterState in db.voterStates.find({
                'election': electionID
        }).sort([("voterID", pymongo.ASCENDING)]):
            state = deserializeState(voterState["state"])
            voters.append(state)
        emitToClient('syncVoters', json.dumps(voters, default=mpzconverter),
                     syncType, electionID)
    except Exception as ex:
        raise RuntimeError(
            "No VoterStates for election {}!".format(electionID))
Ejemplo n.º 6
0
def syncElectionAuthorities(electionID, syncType):
    electionAuthorities = []
    try:
        for authorityState in db.electionAuthorityStates.find({
                'election':
                electionID
        }).sort([("authorityID", pymongo.ASCENDING)]):
            state = deserializeState(authorityState["state"])
            electionAuthorities.append(state)
        emitToClient('syncElectionAuthorities',
                     json.dumps(electionAuthorities, default=mpzconverter),
                     syncType, electionID)
    except Exception as ex:
        raise RuntimeError(
            "No ElectionAuthorityStates for election {}!".format(electionID))