----- Original Nachricht ----
Von: Bináris <wikiposta(a)gmail.com>
An: Pywikipedia discussion list <pywikipedia-l(a)lists.wikimedia.org>
Datum: 21.07.2013 18:14
Betreff: [Pywikipedia-l] Additional parameter in a replace function
Hi,
I use functions in my fixes.py as written in
https://hu.wikipedia.org/wiki/Szerkeszt%C5%91:Bin%C3%A1ris/Fixes_and_functio
ns_HOWTO
.
Now, my idea is to use an additional parameter. (In case nobody breaks
the
framework. :-))
So my fix has something like this in replacements:
(ur'someregex', MyFunc),
Then MyFunc takes the match object as a parameter and is executed. I have
to write
def MyFunc(match):
etc.
Now I want to write def MyFunc(match, mode), but I can't pass mode to
MyFunc anyway.
I guessed the line in question is #195 in textlib.py:
replacement = new(match)
Here I stopped. How could I pass additional optional parameters?
Just an idea, I haven't investigated in it but you could try it out:
you may use a class instance inside fixes.py and pass the option through
the constructor. Your MyFunc should be an instance method.
e.g.
class myClass(object):
def __init__(self, option):
self.option = option
def myFunc(self, match):
result = u''
# change the result depending of match and self.option
# ...
return result
thisClass = myClass(option='submit anything as option')
and play with replacements using thisClass.myFunc
Best
xqt