Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/olpc/datastore/xapianindex.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/olpc/datastore/xapianindex.py')
-rw-r--r--src/olpc/datastore/xapianindex.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/olpc/datastore/xapianindex.py b/src/olpc/datastore/xapianindex.py
index 06041aa..dfef53c 100644
--- a/src/olpc/datastore/xapianindex.py
+++ b/src/olpc/datastore/xapianindex.py
@@ -104,6 +104,12 @@ class IndexManager(object):
datamodel = kwargs.get('model', model.defaultModel)
datamodel.apply(self)
+ # configure the model according to the database
+ for field_name in self.write_index._field_actions:
+ if field_name not in datamodel.fields:
+ datamodel.addField(field_name, 'string')
+ self.fields.add(field_name)
+
# store a reference
self.datamodel = datamodel
@@ -308,6 +314,7 @@ class IndexManager(object):
d = {}
add_anything = False
for k,v in props.iteritems():
+ k = str(k)
p, added = self.datamodel.fromstring(k, v,
allowAddition=True)
if added is True: