User:HuggyBot
From Hanfburgwiki
(Difference between revisions)
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
- | <div style="float:right">http:// | + | <div style="float:right">http://img383.imageshack.us/img383/6290/bender21ib8.jpg</div> |
Der HuggyBot nimmt seinem [[User:Admin|Besitzer]] triviale Arbeiten ab. Vorerst wird er nur eingesetzt, um von Captchas verkrüppelte Zeichensätze zu reparieren. | Der HuggyBot nimmt seinem [[User:Admin|Besitzer]] triviale Arbeiten ab. Vorerst wird er nur eingesetzt, um von Captchas verkrüppelte Zeichensätze zu reparieren. | ||
Line 9: | Line 9: | ||
== Quellcode == | == Quellcode == | ||
- | + | HuggyBot basiert auf dem [http://de.wikipedia.org/wiki/Wikipedia:Pywikipediabot pyWikipediaBot] Framework, an dem kleine Änderungen vorgenommen wurden. | |
=== wikipedia.py === | === wikipedia.py === |
Current revision as of 18:03, 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.
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()