示例#1
0
from jpath.query import interpreter, context
from jpath.query.data import StandardNull
from jpath.query.utils import create_number
import os

if __name__ == "__main__":
    i = interpreter.Interpreter()
    i.get_binder("jpath").add_path(os.path.expanduser("~"))
    m = i.bind_module("jpath", "/test.jpath")
    result = m.call_function(context.DynamicContext(
            StandardNull(), create_number(0), create_number(0)), [])
    print "\nQuery result was: " + result.to_jpath()
示例#2
0
def position(dynamic, check=None):
    if check is None:
        return utils.create_number(dynamic.context_position)
    return utils.create_boolean(
            utils.get_single_instance(check, d.Number).get_as_int() == dynamic.context_position)
示例#3
0
def count(dynamic, sequence=None):
    if sequence is None:
        return utils.create_number(dynamic.context_size)
    return sequence.get_size()
示例#4
0
def size(dynamic):
    thing = dynamic.context_item
    if not isinstance(thing, (d.List, d.Object)):
        raise e.TypeException("Expected " + str(thing) + " to be a list or object")
    return utils.create_number(dynamic.context_item.get_size())