User:Zai Lynch/Bot setup
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 Filesuser-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> TasksThe 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>
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"),
]
}
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 "),
]
}
fixes['gq'] = { 'regex': True,
'msg': {
'_default':u'Robot: fixing German quotes',
},
'replacements': [
(r'([^=])\"([^>])(.*?)([^=])\"([^>])', ur"\1„\2\3\4”\5"),
]
} </python> |
|