Metadata-Version: 2.0
Name: cnx-query-grammar
Version: 0.2.2
Summary: Connexions project search query parsing library.
Home-page: https://github.com/connexions/cnx-query-grammar
Author: Connexions team
Author-email: info@cnx.org
License: AGPL, See also LICENSE.txt
Description-Content-Type: UNKNOWN
Platform: UNKNOWN
Requires-Dist: parsimonious

cnx-query-grammar
=================

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


