User:HuggyBot
From Hanfburgwiki
(Difference between revisions)
Revision as of 13:24, 11 May 2008
Der huggyBot nimmt seinem Besitzer triviale Arbeiten ab. Vorerst wird er nur eingesetzt, um von Captchas verkrüppelte Zeichensätze zu reparieren.
Contents |
Quellcode
Der huggyBot basiert auf dem pyWikipediaBot Framework, an dem kleine Änderungen vorgenommen wurden.
wikipedia.py
- Erweiterte Unterstützung des oldid Parameters
- Veränderter User-Agent (Zur Umgehung der Bot-Aussperrung)
466c466 < def get(self, force = False, get_redirect=False, throttle = True, sysop = False, nofollow_redirects=False, change_edit_time = True): --- > def get(self, force = False, get_redirect=False, throttle = True, sysop = False, nofollow_redirects=False, change_edit_time = True, oldid = None): 519c519 < self._contents, self._isWatched, self.editRestriction = self.getEditPage(get_redirect = get_redirect, throttle = throttle, sysop = sysop, nofollow_redirects=nofollow_redirects) --- > self._contents, self._isWatched, self.editRestriction = self.getEditPage(get_redirect = get_redirect, throttle = throttle, sysop = sysop, nofollow_redirects=nofollow_redirects, oldid = oldid) 2355c2355,2356 < setUserAgent('PythonWikipediaBot/1.0') --- > #setUserAgent('PythonWikipediaBot/1.0') > setUserAgent('Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.2) Gecko/0000000000 BonEcho/2.0.0.2') 4711c4712,4713 < version="PythonWikipediaBot/1.0" --- > #version="PythonWikipediaBot/1.0" > version="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.2) Gecko/0000000000 BonEcho/2.0.0.2"
families/family.py
# -*- coding: utf-8 -*- import family # Hanfburgwiki class Family(family.Family): def __init__(self): family.Family.__init__(self) self.name = 'hanfburgwiki' self.langs = { 'en': None, } self.namespaces[1] = { '_default': u'Discussion' } self.namespaces[2] = { '_default': u'User' } self.namespaces[3] = { '_default': u'User Discussion' } self.namespaces[4] = { '_default': u'Hanfburgwiki' } self.namespaces[5] = { '_default': u'Hanfburgwiki Discussion' } self.namespaces[6] = { '_default': u'Image' } self.namespaces[7] = { '_default': u'Image Discussion' } def hostname(self,code): return 'hanfburgwiki.editthis.info' def path(self, code): return '/wiki/index.php' def code2encodings(self, code): return 'utf-8', 'iso8859-1' def RversionTab(self, code): return r'<li id="ca-history"\\s*><a href=".*?title=.*?&action=history".*?>.*?</a></li>'
user-config.py
family = 'hanfburgwiki' mylang = 'en' usernames['hanfburgwiki']['en'] = 'HuggyBot'
iconv.py
Bot-Script zur Zeichensatz-Reparatur.
# -*- coding: utf-8 -*- """ Dieser Bot korrigiert von Captchas zerstoerte Zeichensaetze. Die Captchas kodieren den Text ein zweites Mal nach UTF-8 und verkrueppeln dabei das scharfe s. Der Bot macht dies rueckgaengig. Benutzung: python iconv.py -page:PAGE_NAME [-oldid:OLD_ID] PAGE_NAME: Artikel-Titel OLD_ID: ID der zu bearbeitenden Version """ import wikipedia for arg in wikipedia.handleArgs(): if arg.startswith('-page'): pageName = arg[6:] elif arg.startswith('-oldid'): oldId = arg[7:] if pageName == None: pageName = wikipedia.input(u'Page title:') site = wikipedia.getSite() page = wikipedia.Page(site, pageName) text = page.get(get_redirect = True, oldid = oldId) text = text.replace(u'\\ufffd', u'\\x9f') # fix: scharfes s newtext = unicode(text.encode('latin-1'), 'utf-8') page.put(newtext, "Zeichensatz repariert") wikipedia.stopme()