User:Zai Lynch/Bot setup

From Second Life Wiki

Second Life Wiki > User:Zai Lynch > User: Zai Lynch/Bot setup
Jump to: navigation, 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

 
family = 'slwiki'
mylang = 'en'
usernames['slwiki']['en'] = 'Wiki Scribe'
 

families/slwiki_family.py

 
 # -*- 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 
 

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.

 
# -*- coding: utf-8  -*-
 
#
# user-fixes.py for Wiki Scribe
# written by Zai Lynch
#
 
 
# 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"[[\2|\4]]"),
        (r'<a href=\"(.*?)\"(.*?)>(.*?)</a>', r"[\1 \3]"),
        (r'\[https?://(www.)?wiki.secondlife.com/wiki/(.*?) (.*?)\]', r"[[\2|\3]]"),
    ]
}
 
# 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 "),
    ]
}
 
# fix for German quotation marks
# 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"),
    ]
 
}
 
 
Personal tools