diff options
author | Benjamin Saller <bcsaller@objectrealms.net> | 2007-06-29 09:07:58 (GMT) |
---|---|---|
committer | Benjamin Saller <bcsaller@objectrealms.net> | 2007-06-29 09:07:58 (GMT) |
commit | 251900b46bf2dc42dcacdd1cb8ae4c6447a03a27 (patch) | |
tree | dfd962fde88ac72999f3952f333b74161d4184bc /src/olpc/datastore/model.py | |
parent | d23ee8a383f9abd30f7f4f979d843c4d510033a4 (diff) |
sanitize dbus input to methods by reducing it to base types
save mount options persistently
factored out bits of model into a domain class to anticipate a xapian move
Diffstat (limited to 'src/olpc/datastore/model.py')
-rw-r--r-- | src/olpc/datastore/model.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/olpc/datastore/model.py b/src/olpc/datastore/model.py index ccca0f1..f70e68f 100644 --- a/src/olpc/datastore/model.py +++ b/src/olpc/datastore/model.py @@ -56,7 +56,7 @@ class Content(object): query = session.query(Property) return query.select_by(content_id=self.id, **kwargs) - + # Backingstore dependent bindings def get_file(self): @@ -152,11 +152,19 @@ class Property(object): self.type = type def __repr__(self): - return "<Property %s:%r of %s>" % (self.key, self.value, - self.content.id) + return "<%s %s:%r>" % (self.__class__.__name__, + self.key, self.value) def marshall(self): """Return the value marshalled as a string""" return str(self.value) + +class TextProperty(Property): + """A text property is one that will also get full automatic text + indexing when available. This is used for fields like title where + searching in the text is more important than doing a direct match + """ + def __init__(self, key, value, type='text'): + Property.__init__(self, key, value, type) class DateProperty(Property): format = "%Y-%m-%dT%H:%M:%S" @@ -316,6 +324,7 @@ class Model(object): # default Property types are mapped to classes here self.addPropertyType(DateProperty, 'date') self.addPropertyType(NumberProperty, 'number') + self.addPropertyType(TextProperty, 'text') |