diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-08-22 16:28:53 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-08-22 16:41:45 (GMT) |
commit | 379163bd4c9a60b5ac8b1417c1a3d34ad884c687 (patch) | |
tree | b3f0d766ca789114332401368730193332fcface /src | |
parent | 224db6960bb8aa8184299ab23749a7f0a8868b0d (diff) |
Implement mime_type filter
Diffstat (limited to 'src')
-rw-r--r-- | src/olpc/datastore/indexstore.py | 8 |
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('')) |