[python-bugzilla] Problem with my boolean query

Cole Robinson crobinso at redhat.com
Wed Apr 24 20:58:35 UTC 2013


On 04/24/2013 04:02 PM, Eric Sammons wrote:
> Hi,
> 
> I'm trying to write a simple python program that would search for all bugs
> with a specific set of flags.  Using the bugzilla cli the boolean query works.
> 
> <cli>
> bugzilla query --product='Red Hat Enterprise MRG' --component='distribution,
> qpid-cpp, qpid-java, qpid-jca'
> --boolean_query='flagtypes.name-substring-mrg-2.4.0 &
> flagtypes.name-notsubstring-mrg-2.4.0-'
> </cli>
> 
> When I try to use the following, I receive a malformed boolean error.
> 
> <code>
> bz_boolean = 'flagtypes.name-substring-mrg-2.4.0 &
> flagtypes.name-notsubstring-mrg-2.4.0-'
> bz = bugzilla.Bugzilla(url = bzurl)
> query_in = bz.build_query(
>                               product = "Red Hat Enterprise MRG",
>                               component = MRGM,
>                               boolean_query = bz_boolean)
> query_out = bz.query(query_in)
> for i in query_out:
>     print i
> </code>
> 
> RuntimeError: Malformed boolean query: flagtypes.name-substring-mrg-2.4.0 &
> flagtypes.name-notsubstring-mrg-2.4.0-
> 
> What am I doing wrong here or is it possible there is a bug in the library?

Yep, it's a bug. The API wanted boolean_query only as a list. I've pushed a
commit now that handles it as both a string and a list.

If you aren't using git, you can fix it by altering your code above like

...
boolean_query = [bz_boolean])
...

- Cole



More information about the python-bugzilla mailing list