Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2008-08-22 16:28:53 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-08-22 16:41:45 (GMT)
commit379163bd4c9a60b5ac8b1417c1a3d34ad884c687 (patch)
treeb3f0d766ca789114332401368730193332fcface /src
parent224db6960bb8aa8184299ab23749a7f0a8868b0d (diff)
Implement mime_type filter
Diffstat (limited to 'src')
-rw-r--r--src/olpc/datastore/indexstore.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/olpc/datastore/indexstore.py b/src/olpc/datastore/indexstore.py
index 915e41a..120c2e3 100644
--- a/src/olpc/datastore/indexstore.py
+++ b/src/olpc/datastore/indexstore.py
@@ -17,6 +17,7 @@ _VALUE_KEEP = 5
_PREFIX_UID = 'Q'
_PREFIX_ACTIVITY = 'A'
+_PREFIX_MIME_TYPE = 'M'
_PROPERTIES_NOT_TO_INDEX = ['timestamp', 'activity_id', 'keep', 'preview']
@@ -37,6 +38,7 @@ class IndexStore(object):
document = Document()
document.add_term(_PREFIX_UID + uid)
document.add_term(_PREFIX_ACTIVITY + properties['activity'])
+ document.add_term(_PREFIX_MIME_TYPE + properties['mime_type'])
document.add_value(_VALUE_UID, uid)
document.add_value(_VALUE_TIMESTAMP, str(properties['timestamp']))
@@ -133,6 +135,12 @@ class IndexStore(object):
if query_dict.has_key('activity'):
queries.append(Query(_PREFIX_ACTIVITY + query_dict['activity']))
+ if query_dict.has_key('mime_type'):
+ mime_queries = []
+ for mime_type in query_dict['mime_type']:
+ mime_queries.append(Query(_PREFIX_MIME_TYPE + mime_type))
+ queries.append(Query(Query.OP_OR, mime_queries))
+
if not queries:
queries.append(Query(''))