Difference between revisions of "User:Zai Lynch/Bot setup"

From Second Life Wiki
Jump to: navigation, search
(first draft)
 
m
Line 6: Line 6:
 
== What's this? ==
 
== What's this? ==
 
<div style="padding: 0.5em">
 
<div style="padding: 0.5em">
This is the documentation page as well - as my personal notepad - for the wiki bot named [[User:Wiki Scribe|Wiki Scribe]]. It's relaying on the [http://pywikipediabot.sourceforge.net/ Python Wikipedia Robot Framework] and I'm trying to use it for maintenance issues.
+
This is the documentation page - as well as my personal notepad - for the wiki bot named [[User:Wiki Scribe|Wiki Scribe]]. It's relaying on the [http://pywikipediabot.sourceforge.net/ Python Wikipedia Robot Framework] and I'm trying to use it for maintenance issues.
 
</div></div>
 
</div></div>
  

Revision as of 17:33, 10 July 2009

What's this?

This is the documentation page - as well as my personal notepad - for the wiki bot named Wiki Scribe. It's relaying on the Python Wikipedia Robot Framework and I'm trying to use it for maintenance issues.

Configuration Files

user-config.py <python> family = 'slwiki' mylang = 'en' usernames['slwiki']['en'] = 'Wiki Scribe' </python>

families/slwiki_family.py <python>

# -*- coding: utf-8  -*-

import family

class Family(family.Family):

    def __init__(self):
        family.Family.__init__(self)
        self.name = 'slwiki' # family name
        self.langs = {
            'en': 'wiki.secondlife.com', # host
        }

        self.namespaces[4] = {
            '_default': u'Project', # 
        }

        self.namespaces[5] = {
            '_default': u'Project talk', 
        }

        self.namespaces[100] = {
            '_default': u'Linden Lab Official', 
        }

        self.namespaces[101] = {
            '_default': u'Linden Lab Official talk', 
        }

        self.namespaces[274] = {
            '_default': u'Widget', 
        }

        self.namespaces[275] = {
            '_default': u'Widget talk', 
        }

    def version(self, code):
        return "1.14.0"  # The MediaWiki version used.

    def scriptpath(self, code):
        return '/w' # relative path of api.php 

</python>

Tasks

The custom fixes for replace.py are stored in user-fixes.py. This is the file I've written and tested so far. It will change over time while I'm learning to use regular expressions and while I'm stumbling upon new tasks. <python>

  1. -*- coding: utf-8 -*-
  1. user-fixes.py for Wiki Scribe
  2. written by Zai Lynch


  1. fix for links quotation marks:

fixes['links'] = {

   'regex': True,
   'msg': {
       '_default':u'Robot: link fixes',
   },
   'replacements': [
       (r'<a href=\"https?://(www\.)?wiki.secondlife.com/wiki/(.*?)\"(.*?)>(.*?)</a>', r"\4"),
       (r'<a href=\"(.*?)\"(.*?)>(.*?)</a>', r"[\1 \3]"),
       (r'\[https?://(www.)?wiki.secondlife.com/wiki/(.*?) (.*?)\]', r"\3"),
   ]

}

  1. fix for common SL terms

fixes['slterms'] = {

   'regex': True,
   'msg': {
       '_default':u'Robot: fixing common SL terms',
   },
   'replacements': [
       (r' SLURL ', r" SLurl "),
       (r' resident ', r" Resident "),
       (r' residents ', r" Residents "),
       (r' lindenlab ', r" Linden Lab "),
       (r' Linden Labs ', r" Linden Lab "),
       (r' secondlife ', r" Second Life "),
       (r' SecondLife ', r" Second Life "),
   ]

}

  1. fix for German quotation marks
  2. not bullet proof, but a good start

fixes['gq'] = {

   'regex': True,
   'msg': {
       '_default':u'Robot: fixing German quotes',
   },
   'replacements': [
       (r'([^=])\"([^>])(.*?)([^=])\"([^>])', ur"\1„\2\3\4”\5"),
   ]

}

</python>