#131: Correct parentheses support in in search parsing
------------------------+---------------------------------------------------
Reporter: jblayloc | Owner: jblayloc
Type: defect | Status: assigned
Priority: critical | Milestone:
Component: WebSearch | Version:
Resolution: | Keywords: INSPIRE Invenio Syntax News Oct
------------------------+---------------------------------------------------
Comment (by jblayloc):
Ok I think it's as fixed as I can make it. Tibor, to get better I think I
need your help.
I've pushed my branch
131-WebSearch_SearchQueryParenthesisedParser_rewrite_and_bugfix, which
should be clean and ready for merge. I fixed a few small bugs.
I also found the source of the U(1) problem is the set of lines above,
which were normally not called for this parenthesised case in the past
because search_engine would simply throw an exception when it saw the
parens were nested. If you run an ipython session and import the parser,
and manually call .parse_query('(U(1) OR SL(2,Z))') though, you'll see
that it's output is correct.
I think the next step is to remove the lines above, but I don't understand
the consequences of doing that. My unit tests continued to work fine
(including the unit test for U(1)) but many regression tests fail. With
this patch applied the number of failing regression tests falls from 10 to
6. If search_engine is fixed that number will go to 5. But with that set
of lines in #comment20 commented out, the number of failures jumps to
something like 19.
I'm out of energy for figuring out why, and I'm going to go sleep.
If possible I'd like to get this branch merged and then worry about fixing
search_engine tomorrow. Or Wednesday.
--
Ticket URL: <http://invenio-software.org/ticket/131#comment:21>
Invenio <http://invenio-software.org>