> On Mar 22, 2015, at 2:48 PM, humbed...@apache.org wrote: > > Author: humbedooh > Date: Sun Mar 22 21:48:53 2015 > New Revision: 1668487 > > URL: http://svn.apache.org/r1668487 > Log: > first stab at an STV calculator. This may be filled with errors, what do I > know :) > > Modified: > steve/trunk/pysteve/www/cgi-bin/lib/election.py > > Modified: steve/trunk/pysteve/www/cgi-bin/lib/election.py > URL: > http://svn.apache.org/viewvc/steve/trunk/pysteve/www/cgi-bin/lib/election.py?rev=1668487&r1=1668486&r2=1668487&view=diff > ============================================================================== > --- steve/trunk/pysteve/www/cgi-bin/lib/election.py (original) > +++ steve/trunk/pysteve/www/cgi-bin/lib/election.py Sun Mar 22 21:48:53 2015 > @@ -32,6 +32,16 @@ def getIssue(electionID, issueID): > issuedata['APIURL'] = "https://%s/steve/voter/view/%s/%s" % > (config.get("general", "rooturl"), electionID, issueID) > issuedata['prettyURL'] = "https://%s/steve/ballot?%s/%s" % > (config.get("general", "rooturl"), electionID, issueID) > return issuedata > + > +def getVotes(electionID, issueID): > + issuepath = os.path.join(homedir, "issues", electionID, issueID) + > ".json.votes" > + issuedata = {} > + if os.path.isfile(issuepath): > + with open(issuepath, "r") as f: > + data = f.read() > + f.close() > + issuedata = json.loads(data) > + return issuedata > > def listIssues(election): > issues = [] > @@ -80,4 +90,110 @@ def deleteIssue(electionID, issueID): > os.unlink(issuepath + ".votes") > return True > else: > - raise Exception("No such election") > \ No newline at end of file > + raise Exception("No such election") > + > + > +debug = [] > + > +def getproportion(votes, winners, step, surplus): > + > + # If this isn't the initial 1st place tally, do the proportional math: > + # surplus votes / votes with an Nth preference * number of votes in that > preference for the candidate > + if step > 0: > + for c in prop: > + prop[c] = surplus / tvotes * prop[c] > + > + debug.append("Proportional move: %s" % json.dumps(prop)) > + return prop
Why wouldn’t we log these messages? Regards, Alan