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()
