Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/olpc/datastore/model.py
diff options
context:
space:
mode:
authorBenjamin Saller <bcsaller@objectrealms.net>2007-06-29 09:07:58 (GMT)
committer Benjamin Saller <bcsaller@objectrealms.net>2007-06-29 09:07:58 (GMT)
commit251900b46bf2dc42dcacdd1cb8ae4c6447a03a27 (patch)
treedfd962fde88ac72999f3952f333b74161d4184bc /src/olpc/datastore/model.py
parentd23ee8a383f9abd30f7f4f979d843c4d510033a4 (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.py15
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')