diff options
Diffstat (limited to 'src/olpc/datastore')
-rw-r--r-- | src/olpc/datastore/model.py | 1 | ||||
-rw-r--r-- | src/olpc/datastore/xapianindex.py | 7 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/olpc/datastore/model.py b/src/olpc/datastore/model.py index acabae3..cdaee9f 100644 --- a/src/olpc/datastore/model.py +++ b/src/olpc/datastore/model.py @@ -399,6 +399,5 @@ defaultModel = Model().addFields( ('icon-color', 'string'), ('preview', 'external'), ('buddies', 'text'), - ('source', 'text'), ) 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: |