User:HuggyBot
From Hanfburgwiki
Der HuggyBot nimmt seinem Besitzer triviale Arbeiten ab. Vorerst wird er nur eingesetzt, um von Captchas verkrüppelte Zeichensätze zu reparieren.
Eine Liste der von ihm bearbeiteten Artikel ist hier zu finden.
Quellcode
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()