コード例 #1
0
def test_sq_range():
    p = default.QueryParser("t", None, [
        plugins.WhitespacePlugin(),
        plugins.SingleQuotePlugin(),
        plugins.RangePlugin()
    ])
    assert repr(p.process("['a b' to ']']")) == "<AndGroup <None:['a b' ']']>>"
コード例 #2
0
def test_range():
    p = default.QueryParser("t", None, [plugins.WhitespacePlugin(),
                                        plugins.RangePlugin()])
    ns = p.tag("a [b to c} d")
    assert_equal(repr(ns), "<AndGroup <None:'a'>, < >, <None:['b' 'c'}>, < >, <None:'d'>>")

    assert_equal(repr(p.process("a {b to]")), "<AndGroup <None:'a'>, <None:{'b' None]>>")
    assert_equal(repr(p.process("[to c] d")), "<AndGroup <None:[None 'c']>, <None:'d'>>")
    assert_equal(repr(p.process("[to]")), "<AndGroup <None:[None None]>>")
コード例 #3
0
    def default_set(self):
        """Returns the default list of plugins to use.
        """

        from whoosh.qparser import plugins

        return [plugins.WhitespacePlugin(),
                plugins.SingleQuotePlugin(),
                plugins.FieldsPlugin(),
                plugins.WildcardPlugin(),
                plugins.PhrasePlugin(),
                plugins.RangePlugin(),
                plugins.GroupPlugin(),
                plugins.OperatorsPlugin(),
                plugins.BoostPlugin(),
                plugins.EveryPlugin(),
                ]
コード例 #4
0
ファイル: test_parsing.py プロジェクト: sangensong/whoosh-1
def test_groups_with_range():
    p = default.QueryParser("t", None, [
        plugins.FieldsPlugin(),
        plugins.GtLtPlugin(),
        plugins.GroupPlugin(),
        plugins.OperatorsPlugin(),
        plugins.PhrasePlugin(),
        plugins.RangePlugin(),
        plugins.RegexPlugin()
    ])

    ns = p.process('a:b OR e:>=5 g:<6')
    assert repr(
        ns
    ) == "<AndGroup <OrGroup <'a':'b'>, <'e':['5' None]>>, <'g':[None '6'}>>"

    ns = p.process('a:b OR (e:>=5 g:<6)')
    assert repr(
        ns
    ) == "<AndGroup <OrGroup <'a':'b'>, <AndGroup <'e':['5' None]>, <'g':[None '6'}>>>>"