Firstly Jason, sorry for no one responding for 2 months.
On 08/16/2012 11:07 PM, Jason L Tibbitts III wrote:
I'm doing some work with the Red Hat bugzilla and really need the performance increase of calling getbugs with a big list of bugs instead of letting it do the multicall. So I figure I'd just pass multicall=False to the constructor, but it fails:
TypeError: __init__() got an unexpected keyword argument 'multicall'
I have limited understanding of python, but it seems that the kwargs get passed all the way down to BugzillaBase.__init__ which bails if it gets anything other than user, password, url or cookiefile.
Thanks for the report. Indeed this has been busted for a while, and I fixed it upstream:
http://git.fedorahosted.org/cgit/python-bugzilla.git/commit/?id=8b1a472dc45e...
However multicall=True is the default behavior, so that option is only useful for turning it off.
Also, I really need to get flags back from getbugs, which requires you pass an extra_fields argument containing 'flags'. Is it at all possible to do this with python-bugzilla or should I just bypass it and make an xmlrpc call myself?
Yes:
bz = Bugzilla(url="https://bugzilla.redhat.com/xmlrpc.cgi") fields_i_need = ["flags", "component", ...] buglist = bz.query(bz.build_query(component="python-bugzilla", include_fields=fields_i_need)
If you don't specify every field you need, you'll see a large slow down as we need to hit xmlrpc again. But the above is the fastest way of doing things.
- Cole