User:RussBlau/dplcount.py

Following is a Python script to count the progress of link-fixing on WP:DPL. This script requires the Pywikipedia framework.

For those not familiar with Python, please be aware that indentation is significant. You can copy-and-paste this text into a plain text file on your local machine, but do not change any of the white space unless you know what you are doing.

Note that the current disambiguation dump page location is hard-coded into the script; this will need to be updated, where indicated, whenever a new dump is started.


 * 1) script to count progress on WP:DPL

import re import wikipedia

try: site = wikipedia.getSite dplpage = wikipedia.Page(site, "Wikipedia:Disambiguation pages with links/2006-07-17 dump") text = dplpage.get todomark = text.index("===To do===") donemark = text.index("===Done===") counter = re.compile(r": ([0-9]+) ?(?: )? ?\[\[Special:Whatlinkshere/") todocount = 0 todolinks = 0 donecount = 0 donelinks = 0
 * 1) Edit the following line whenever a new dump is posted

for match in counter.finditer(text, todomark, donemark): todocount += 1 if not int(match.group(1)): print "Check formatting:" print text[match.start-40, match.end+40] todolinks += int(match.group(1))

for match in counter.finditer(text, donemark): donecount += 1 if not int(match.group(1)): print "Check formatting:" print text[match.start-40, match.end+40] donelinks += int(match.group(1))

print "Found %i articles, %i links to do; %i articles, %i links done." % (       todocount, todolinks, donecount, donelinks)

print "Progress: %i out of %i links (%.1f%%)" % (       donelinks, donelinks + todolinks,        100.0 * donelinks / (donelinks + todolinks)) finally: wikipedia.stopme