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
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