User:Mathieu/bot: Difference between revisions
From Event-B
Jump to navigationJump to search
imported>Mathieu m →Add a category to the last uploaded images: Replace text matching regular expressions |
imported>Mathieu m wikipedia version = 1.12 |
||
(One intermediate revision by the same user not shown) | |||
Line 36: | Line 36: | ||
def version(self, code): | def version(self, code): | ||
return '1. | return '1.12' | ||
def path(self, code): | def path(self, code): | ||
Line 82: | Line 82: | ||
<pre><nowiki> | <pre><nowiki> | ||
python replace.py -cat -regex '{\\tt ([^}]*)}' '\texttt{\1}' | python replace.py -cat -regex '{\\tt ([^}]*)}' '\texttt{\1}' | ||
</nowiki></pre> | |||
=== Rename a category === | |||
<pre><nowiki> | |||
python category.py move -from:"Template" -to:"Templates" -batch -putthrottle:6 | |||
</nowiki></pre> | </nowiki></pre> |
Latest revision as of 10:34, 7 January 2010
A bot may be a useful tool to help a wiki maintenance.
I tried to use the python framework provided by http://pywikipediabot.sourceforge.net/. Hereafter are some guidelines to make it work on this wiki.
Requirements
- Python >2.5
Getting pywikipedia framewok
Get the source code from subversion:
(prompt) svn co http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia pywikipedia
Configuring the framework for this wiki
Add the following families/eventb_family.py file (be careful with the indentation):
# -*- coding: utf-8 -*- import family # The event-b family # user-config.py: usernames['event-b']['event-b'] = 'User name' class Family(family.Family): def __init__(self): family.Family.__init__(self) self.name = 'eventb' self.langs = { 'eventb': 'wiki.event-b.org', } self.namespaces[4] = { '_default': [u'Event-B', self.namespaces[4]['_default']], } self.namespaces[5] = { '_default': [u'Event-B talk', self.namespaces[5]['_default']], } def version(self, code): return '1.12' def path(self, code): return '/index.php' #The path of index.php, look at your wiki address. def scriptpath(self,code): return '' # def shared_image_repository(self, code): # return ('commons', 'commons')
Then add the following user-config.py file:
family='eventb' mylang='eventb' usernames['eventb']['eventb'] = 'your_bot_user_name'
Usage
Login
First you should log in:
(prompt) python login.py
Upload Images
(prompt) python upload.py -noverify -keep file.png "Image description"
For uploading several images from a directory, I use the following sh command:
for i in /tmp/imagedir/* ; do (yes | python upload.py -v -noverify -keep $i "Import of image $i"); done
Add a category to the last uploaded images
For the last 20 images, do :
python category.py -v add -newimages:20
Replace text matching regular expressions
python replace.py -cat -regex '{\\tt ([^}]*)}' '\texttt{\1}'
Rename a category
python category.py move -from:"Template" -to:"Templates" -batch -putthrottle:6