User:Zai Lynch/Bot setup

From Second Life Wiki
< User:Zai Lynch
Revision as of 13:10, 17 August 2009 by Zai Lynch (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.

See User:Zai_Lynch/Bot_setup/i18n for bot use related to the CT Projects.

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.1"  # 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:

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': False,
   'msg': {
       '_default':u'Robot: fixing common SL terms',
   },
   'replacements': [
       (' SLURL ', " SLurl "),
       (' resident ', " Resident "),
       (' residents ', " Residents "),
       (' lindenlab ', " Linden Lab "),
       (' Linden Labs ', " Linden Lab "),
       (' secondlife ', " Second Life "),
       (' SecondLife ', " 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>