2008-12-04 <email address hidden>
* setup.py: version 0.9
* electionaudits/models.py (Contest.select_units):
Add "selected" field to Contest
Use selected contests, rather than hard-coding selections in results view.
Factor out /reports/ code to provide a list of contest_batches for
the contest.
* electionaudits/views.py (results):
Add /results/ view to show main results and statistics.
Use selected contests, rather than hard-coding selections
(Contest.stats):
Add stats() parameters to override confidence or s (WPM) values.
* doc/index.html:
Bring project home page under source control
* electionaudits/tests.py (TestCsv.test_csv):
Add csv test
Add tests for /selections/ and /results/, including selection and
random seed
* root/templates/base.html:
Fix html validation error: commented-out </p>
2008-11-15 <email address hidden>
This is the state of the software as it was used to publish
the initial reports and selections on Thursday/Friday.
* electionaudits/templates/electionaudits/reports.html:
Add random selection of contests
* electionaudits/templates/electionaudits/report.html:
Add /selections/ url as a clone of /reports/ with random input
* electionaudits/templates/electionaudits/index.html:
Customize home page for Boulder
Change Home page link on base.html, comment out other links
Update README, ToDo (as usual....)
2008-11-13 <email address hidden>
* electionaudits/models.py (Contest.priority):
Add random selection, threshholds and priorities to /reports/ view
and Contest class.
* electionaudits/views.py (report):
Use custom view for /audit_report/<contest>/
Add threshhold and priority (threshhold/random), and sort by priority
Return blanks in ssr and priority if seed is not 15 chars long
* root/templates/base.html:
display links across one line at the top
* electionaudits/tests.py (SimpleTest.test_reports):
resume tests of diffs against report.html
2008-11-12 <email address hidden>
* root/templates/base.html:
cleaner mirroring: style.css => /media/style.css
and add trailing slash to urls like /report/1
* electionaudits/parsers.py (parse_xml_crystal):
Normalize contest names and candidate names: strip extra white space
in case different databases vary them for subtle formatting reasons
* electionaudits/erandom.py (ssr):
Add ssr (Sum of Square Roots) random number generator (Rivest)
* electionaudits/models.py (Batch.ssr):
Add NEGEXP threshhold for ContestBatch to compare to ssr (commented out)
* electionaudits/templates/electionaudits/report.html:
Put contest name first in <title>
Don't sort by batch object - makes order unstable
* electionaudits/templates/electionaudits/reports.html:
Comment out references to PPEBWR stats
2008-11-10 <email address hidden>
* electionaudits/util.py (AuditUnit.update):
Allow commas in vote counts, e.g. 1,345
* electionaudits/models.py (ContestBatch):
Add "proportion" to Contest for scaling selection numbers
Add random_seed, for use of verifiably seeded RNGs like Rivest's SSR
Add "selected" to ContestBatch
Add "notes" to ContestBatch and Batch
2008-11-05 <email address hidden>
* electionaudits/models.py (Contest):
Add confidence and overall_margin to Contest and use them
in calculating and displaying statistics.
* electionaudits/admin.py (CountyElectionAdmin):
Allow all contest margins, confidence levels to be audited inline by
linking them to the appropriate CountyElection and using ContestInline
* electionaudits/util.py (AuditUnit.__init__):
Create election and contest database records when first mentioned,
so they are created and listed in sequence.
* electionaudits/templates/electionaudits/report.html:
Clarify statistics more
Improve README
2008-11-03 <email address hidden>
* electionaudits/tests.py (SimpleTest.test_reports):
Add some unit tests: run via `manage.py test electionaudits`
* setup.py:
Generate sdist from original trunk rather than a different bzr branch,
to avoid bzr munging of mod times.
See https://bugs.edge.launchpad.net/bzr/+bug/245170
Drop use of find_packages, which was bringing in unneeded files
* README (FAQ):
Begin an FAQ
2008-11-02 <email address hidden>
* electionaudits/varsize.py (plotprobs):
Fix hidden dependency: Only import pylab when necessary
drop unused import matplotlib.numerix
* electionaudits/views.py (stats):
make default batch size distribution more like boulder county 2008
* root/settings.py:
Configure CsrfMiddleware to avoid CSRF attacks with POSTs
2008-11-01 <email address hidden>
* README (C):
Improve installation and use instructions in README
Version 0.9.dev-r47
2008-10-30 <email address hidden>
* electionaudits/views.py (parse):
New /parse/ form to parse incoming directory with -s -c
* electionaudits/templates/electionaudits/stats.html:
Call Ad-Hoc Contest Statistics a "Calculator" and fix title
2008-10-30 <email address hidden>
* README (C):
Document new -c and directory options in README
2008-10-29 <email address hidden>
* electionaudits/parsers.py (parse):
if a directory arg is given to parse, parse each file in the directory
implement --chronological option and change -c to be that, not --contest