Connexions project search query parsing library.
Project description
The Connections project query grammar parsing library.
Install
Use setup.py to install cnx-query-grammar:
$ python setup.py install
This creates a script called query_parser.
Usage
>>> from cnxquerygrammar.query_parser import grammar, DictFormater >>> node_tree = grammar.parse('Some text') >>> DictFormater().visit(node_tree) [('text', 'Some'), ('text', 'text')] >>> node_tree = grammar.parse('"A phrase"') >>> DictFormater().visit(node_tree) [('text', 'A phrase')] >>> node_tree = grammar.parse('author:"John Smith" type:book') >>> DictFormater().visit(node_tree) [('author', 'John Smith'), ('type', 'book')] >>> node_tree = grammar.parse('author:"John Smith" type:book title:" A Title With Spaces"') >>> DictFormater().visit(node_tree) [('author', 'John Smith'), ('type', 'book'), ('title', 'A Title With Spaces')]
Test
To run the tests:
$ python -m unittest discover
License
This software is subject to the provisions of the GNU Affero General Public License Version 3.0 (AGPL). See license.txt for details. Copyright (c) 2013 Rice University