Difference between revisions of "User:GrabberBot/update counts.py"
From The Battle for Wesnoth Wiki
				
				
		
		 (new script for grabberbot to update contributor stats)  | 
			
(No difference) 
 | 
Latest revision as of 18:31, 18 February 2006
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.