User:AmaureaUploadBot
This bot will periodically update my graphs of opinion poll data for Norwegian elections with new data from PollOfPolls. Examples of such plots (made by User:Amaurea) can be found here .
Source code
The bot has 3 parts. The first is an overall driver script that fetches the raw data and then calls the plotting and uploading parts:
wget -O tmp/gallup.json http://www.pollofpolls.no/api/gallup.php
wget -O storting.csv 'http://www.pollofpolls.no/lastned.csv?tabell=gallupsnitttabell&antall=0&type=riks&int=m&kommuneid=0&start=1950-01-01&slutt=2100-01-01'
./csv2table storting.csv > storting.txt
./json2table gallup.json > gallup.txt
gnuplot storting.gpi
gnuplot storting_errs.gpi
# Make the svgs palatable to wikipedia
for i in storting.svg storting_blocks.svg storting_small.svg; do
sed 's/ onmouse[^>]*>/>/g' $i > tmp.svg;
mv tmp.svg $i;
done
./wikipedia_upload
The various conversion and plotting scripts are here: csv2table, json2table, storting.gpi, storting_errs.gpi.
Finally, the actual upload script, which is the only thing that interacts with Wikipedia, is here: wikipedia_upload.
This script is a bit crufty because it grew gradually from a much simpler and less capable one. If I were to do this again I would probably write the whole thing in python.