def setup(): global db db = xodb.temp() db.map(Person, PersonSchema) db.map(Department, DepartmentSchema) joe = Person( name=u'joe', last=u'bob', job='cake inspector', salary=4500, rank=2, hired=date(1999, 9, 9), clocked=datetime(2010, 10, 10, 10, 10), description="I am the eggmans walking", cualificaciones=u"páseador de perros", kw='one two walking shoes', friends=['rick', 'roll'], properties=dict(status='annoying', shoe_size=3), location=(7.0625, -95.677068), ) joe.nothing = None jane = Person( name=u'jane', last=u'bob', job='steak inspector', salary=5600, rank=100, hired=date(2000, 9, 9), clocked=datetime(2011, 11, 11, 11, 11), description="I am the womans modernize", cualificaciones="Devorador des pasteles fritos", kw='three four busting rhymes', friends=['alice', 'aligator'], properties=dict(status='pleasant', shoe_size=99), location=(51.500152, -0.126236), ) department = Department('housing', employees=[joe.name, jane.name]) department2 = Department('joe', employees=[joe.name]) joe.department = department2.name jane.department = department.name db.add(joe, jane, department, department2)
def setup(): global db db = xodb.temp() db.map(Person, PersonSchema) db.map(Department, DepartmentSchema) joe = Person(name=u'joe', last=u'bob', job='cake inspector', salary=4500, rank=2, hired=date(1999, 9, 9), clocked=datetime(2010, 10, 10, 10, 10), description="I am the eggmans walking", cualificaciones=u"páseador de perros", kw='one two walking shoes', friends=['rick', 'roll'], properties=dict(status='annoying', shoe_size=3), location=(7.0625, -95.677068), ) joe.nothing = None jane = Person(name=u'jane', last=u'bob', job='steak inspector', salary=5600, rank=100, hired=date(2000, 9, 9), clocked=datetime(2011, 11, 11, 11, 11), description="I am the womans modernize", cualificaciones="Devorador des pasteles fritos", kw='three four busting rhymes', friends=['alice', 'aligator'], properties=dict(status='pleasant', shoe_size=99), location=(51.500152, -0.126236), ) department = Department('housing', employees=[joe.name, jane.name]) department2 = Department('joe', employees=[joe.name]) joe.department = department2.name jane.department = department.name db.add(joe, jane, department, department2)
def test_value_range_processor(): vp = MultipleValueRangeProcessor(dict(foo=1, bar=2), str.upper) assert vp('foo:abc', 'def') == (1, 'ABC', 'DEF') assert vp('bar:news', 'def') == (2, 'NEWS', 'DEF') assert vp('bar:', 'def') == (2, '', 'DEF') assert vp('bar', 'def') == (xapian.BAD_VALUENO, 'bar', 'def') assert vp('baz:foo', 'def') == (xapian.BAD_VALUENO, 'baz:foo', 'def') qp = xapian.QueryParser() db = xodb.temp() qp.set_database(db.backend) qp.add_valuerangeprocessor(vp) query = qp.parse_query('foo:abc..def') assert str(query) == 'Xapian::Query(VALUE_RANGE 1 ABC DEF)' query = qp.parse_query('bar:abc..def') assert str(query) == 'Xapian::Query(VALUE_RANGE 2 ABC DEF)' query = qp.parse_query('bar:3..4') assert str(query) == 'Xapian::Query(VALUE_RANGE 2 3 4)' assert_raises(xapian.QueryParserError, qp.parse_query, 'baz:abc..def')
import xodb from xodb import Schema, String, Array class Department(object): def __init__(self, name, employees): self.name = name self.employees = employees class DepartmentSchema(Schema): language = String.using(default="en") name = String.using(facet=True) employees = Array.of(String.using(facet=True)) db = xodb.temp() db.map(Department, DepartmentSchema) housing = Department("housing", ['bob', 'jane']) monkeys = Department("monkeys", ['bob', 'rick']) db.add(housing, monkeys) db.backend.flush() assert db.query("name:monkeys").next().name == "monkeys" assert db.query("employees:jane").next().name == "housing"
def _writer(): db = xodb.temp() db.map(F, FS) return db