[Xapian-discuss] Using a subclass of MatchSpy in Python bindings
Olly Betts
olly at survex.com
Wed Dec 1 21:52:16 GMT 2010
On Wed, Dec 01, 2010 at 01:18:40PM +0000, Doctor Munchkin wrote:
> >>> class MyMatchSpy(xapian.MatchSpy):
> ... def __init__(self):
> ... pass
> ... def __call__(self, *args, **kw):
> ... print "called with", args, kw
> ...
> >>> ms = MyMatchSpy()
> >>> enquire = xapian.Enquire(database)
> >>> enquire.add_matchspy(ms)
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "/usr/lib/python2.6/dist-packages/xapian/__init__.py", line
> 6920, in _enquire_match_spy_add
> _enquire_add_matchspy_orig(self, decider)
> TypeError: in method 'Enquire_add_matchspy', argument 2 of type
> 'Xapian::MatchSpy *'
>
> Am I missing something obvious here, or is swig misbehaving? The above
> works if ms is an instance of xapian.ValueCountMatchSpy, but I need to
> implement something different to this.
I think you need to call the base class constructor in your constructor:
def __init__(self):
xapian.MatchSpy.__init__(self)
Cheers,
Olly
More information about the Xapian-discuss
mailing list