Subversion Repositories Local Hare Voting

Rev

Rev 37 | Rev 39 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 37 Rev 38
Line 1... Line -...
1
#!/p/python/python
-
 
2
#!/p/python-2.5.1/bin/python
1
#!/p/python-2.5.1/bin/python
3
 
2
 
4
import cgi
3
import cgi
5
import string
4
import string
6
import sys
5
import sys
Line 49... Line 48...
49
def emitHTML(s):
48
def emitHTML(s):
50
    global fHTML
49
    global fHTML
51
    if fHTML: print s
50
    if fHTML: print s
52
    return
51
    return
53
 
52
 
54
def main(argv=None):
53
def doone(nWinners, ballots):
-
 
54
    results = tally.dotally(nWinners, ballots)
-
 
55
    print "\nFINAL RESULTS"
55
    if argv is None:
56
    for winner in results:
56
        argv = sys.argv
57
        print "\t%s" % winner
-
 
58
 
57
        
59
def doweb(argv):
58
    emitPreHTML(formaction)
60
    emitPreHTML(formaction)
59
    emitHTML("argv = " + str(argv))
-
 
60
    form = cgi.FieldStorage()
61
    form = cgi.FieldStorage()
61
 
62
 
62
    if not form:
63
    if not form:
63
        emitHTML("Enter file name and press a button to see results.")
64
        emitHTML("Enter file name and press a button to see results.")
64
    elif form.has_key("fetch"):
65
    elif form.has_key("fetch"):
Line 76... Line 77...
76
        tally.trace("INPUT FILE")
77
        tally.trace("INPUT FILE")
77
        tally.trace(contents)
78
        tally.trace(contents)
78
 
79
 
79
        nWinners, ballots = parseinput.parsestring(contents)
80
        nWinners, ballots = parseinput.parsestring(contents)
80
        if form.has_key("run1"):
81
        if form.has_key("run1"):
81
            results = tally.dotally(nWinners, ballots)
-
 
82
            print "\nFINAL RESULTS"
-
 
83
            for winner in results:
82
            doone(nWinners, ballots)
84
                print "\t%s" % winner
-
 
85
        elif form.has_key("run1000"):
83
        elif form.has_key("run1000"):
86
            print "RUNNING 1000 TIMES"
84
            print "RUNNING 1000 TIMES"
87
            tally.fTrace = 0
85
            tally.fTrace = 0
88
            summary = {}
86
            summary = {}
89
            for i in range(1000):
87
            for i in range(1000):
Line 101... Line 99...
101
            print "UNEXPECTED SUBMIT BUTTON: %s" % form
99
            print "UNEXPECTED SUBMIT BUTTON: %s" % form
102
                
100
                
103
    emitPostHTML()
101
    emitPostHTML()
104
    return
102
    return
105
 
103
 
-
 
104
def main(argv=[__name__]):
-
 
105
    if len(argv) == 1:
-
 
106
        doweb(argv)
-
 
107
    else:
-
 
108
        nWinners, ballots = parseinput.parsefile(argv[1])
-
 
109
        doone(nWinners, ballots)
-
 
110
 
106
if __name__=='__main__':
111
if __name__=='__main__':
107
    main()
112
    main(sys.argv)