User:HuggyBot

From Hanfburgwiki

(Difference between revisions)
 
Line 1: Line 1:
__NOTOC__
__NOTOC__
-
<div style="float:right">http://img143.imageshack.us/img143/3584/bender2xf4.jpg</div>
+
<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 ==
-
Der huggyBot basiert auf dem [http://de.wikipedia.org/wiki/Wikipedia:Pywikipediabot pyWikipediaBot] Framework, an dem kleine Änderungen vorgenommen wurden.
+
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


bender21ib8.jpg

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