From f26b551befa7d27aa6aa1736b8a68775965dd80e Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Fri, 20 Jul 2007 18:49:26 +0000 Subject: Merge branch 'master' of git+ssh://dev.laptop.org/git/projects/datastore --- diff --git a/src/olpc/datastore/model.py b/src/olpc/datastore/model.py index 929c376..46f2225 100644 --- a/src/olpc/datastore/model.py +++ b/src/olpc/datastore/model.py @@ -202,8 +202,13 @@ class Content(object): if isinstance(v, list) and len(v) == 1: v = v[0] field = self._model.fields.get(k) - kind = propertyByKind(field[1]) - v = kind.from_xapian(v) + if field: + kind = propertyByKind(field[1]) + v = kind.from_xapian(v) + else: + # do some generic property handling + if v: v = str(v) + else: v = '' d[k] = v return d diff --git a/src/olpc/datastore/xapianindex.py b/src/olpc/datastore/xapianindex.py index 46eca98..0be462d 100644 --- a/src/olpc/datastore/xapianindex.py +++ b/src/olpc/datastore/xapianindex.py @@ -343,7 +343,7 @@ class IndexManager(object): q = query.pop('query', None) if q: queries.append(self.parse_query(q)) - if not query: + if not query and not queries: # we emptied it q = self.read_index.query_all() else: diff --git a/tests/test_model.py b/tests/test_model.py index bb30426..a346510 100644 --- a/tests/test_model.py +++ b/tests/test_model.py @@ -107,12 +107,16 @@ class Test(unittest.TestCase): ds.complete_indexing() - ds.update(uid, {'title' : 'Random Extras the sequel', 'foobar' : 'whodofoodo', + ds.update(uid, {'title' : 'Random Extras the sequel', + 'foobar' : 'whodofoodo', 'incept:date' : datetime.datetime.now().isoformat()}) ds.complete_indexing() - assert ds.find('whodofoodo')[1] == 1 + # ignored w/o prefix + assert ds.find('whodofoodo')[1] == 0 + # found with it + assert ds.find('foobar:whodofoodo')[1] == 1 c = ds.get_properties(uid) assert 'foobar' in c assert 'title' in c -- cgit v0.9.1