Esempio n. 1
0
 def load_archived_ballots(self):
     bc = BallotCounter()
     if settings.BALLOT_SAVEFILE_FORMAT is not None:
         try:
             filename = settings.BALLOT_SAVEFILE_FORMAT % {
                 'election_id': self.id,
                 'voting_system': self.voting_system
             }
             bc.load_ballots(filename)
         except:
             import traceback
             traceback.print_exc()
     return bc
Esempio n. 2
0
    def process_votes(self):
        if self.deadline_joined_org:
            votes = ElectionVote.objects.select_related(
                'candidate__user').filter(
                    election=self,
                    user__userprofile__joined_org__lt=self.deadline_joined_org)
        else:
            votes = ElectionVote.objects.select_related(
                'candidate__user').filter(election=self)

        votemap = {}
        for vote in votes:
            if not votemap.has_key(vote.user_id):
                votemap[vote.user_id] = []
            votemap[vote.user_id].append(vote)

        ballots = []
        for user_id in votemap:
            ballot = [(int(v.value), v.candidate) for v in votemap[user_id]]
            ballots.append(ballot)

        ballot_counter = BallotCounter(ballots)
        return ballot_counter.results(self.voting_system), ballot_counter