Last week, we had a Indic Wikisource Proofreadthon 2020 event. see here for full details
https://meta.wikimedia.org/wiki/Indic_Wikisource_Proofreadthon_2020
Though I did not participate in this event, (feels sad for this. Life is too messy nowadays), I thought to build a small tool to give report on any wikipedia user’s contribution on a given wikisite for a given date range.
It may help to calculate, measure, decide on the contributions for such competitions.
Mediawiki has a good API to fetch user contributions. https://www.mediawiki.org/wiki/API:Usercontribs
Get all edits by a user. https://www.mediawiki.org/wiki/Special:MyLanguage/API:Usercontribs
For my wonder, there was a sample python code on the same page.
The code gave only 500 results. I wrote a loop to get the data batch by batch till all the data is received.
Published the tool here – https://github.com/tshrinivasan/wiki_user_contributions_report
How to run?
python3 get_user_contributions.py <language> <wikisite> <username> <start_date> <end_date>
This will give the data as a CSV file. Used a csv-to-html converter utility to convert this to a web page with all the data in a sortable table.
For my wonder, my friend Dinesh Karthik, converted this as a nice web application with flask, dash and hosted in heroku.
https://wiki-user-contributions.herokuapp.com/
Source : https://github.com/Dineshkarthik/wiki-user-contributions
Thanks to Info-farmer for providing the idea, Bartosz Dziewoński on wikipedia mailing list for answering all my questions, Dinesh for making a web application quickly.
https://lists.wikimedia.org/mailman/listinfo/wikitech-l is a good place to ask any tech questions regarding wikipedia.
Thanks to all wikisource contributors for the event and in general.