User:GrabberBot/update counts.py
From The Battle for Wesnoth Wiki
import re, urlgrabber.grabber, sys import mediawiki mw = mediawiki.MediaWiki() allpages = urlgrabber.grabber.urlread("http://www.wesnoth.org/wiki/Special:Allpages&namespace=102") allpages = re.compile('title="(.*?)"').findall(allpages) counts = {} allpages.remove("Special:Allpages") print allpages for page in allpages: print page, c = mw.fetch(page) count = 0 if c: for line in c.splitlines(): if re.compile(".*?://.*?\\.(gif|jpg|png|bmp|tga|jpeg)", re.I).match(line): count += 1 counts[page] = count print count allpages.sort() newlist = ["* [[%s]] (%d)" % (x, counts[x]) for x in allpages] newlist = "\n".join(newlist) newlist = """ == Contributors == %s == See Also ==""" % newlist glib = mw.fetch("GraphicLibrary") if glib and glib != newlist: glib = re.compile(r"\n== Contributors ==\s*(.*?)\s*\n== See Also ==", re.S).sub(newlist, glib) mw.post("GraphicLibrary", glib, "automated update of contributor stats") print "Successfully updated GraphicLibrary counts!"
This page was last edited on 18 February 2006, at 18:31.