[pkg-fso-commits] [SCM] FSO frameworkd Debian packaging branch, debian, updated. upstream/0.9.5.5-717-g0f98819
Sebastian Krzyszkowiak
seba.dos1 at gmail.com
Sat Aug 6 08:17:38 UTC 2011
The following commit has been merged in the debian branch:
commit 6c8ebc1ffa4837d3c28bc46565d4f0eb2f81b75e
Author: Sebastian Krzyszkowiak <seba.dos1 at gmail.com>
Date: Sat Aug 1 17:20:14 2009 +0200
opimd: GenericDomain: implement EntryAdded signal in queries
diff --git a/framework/subsystems/opimd/pimd_generic.py b/framework/subsystems/opimd/pimd_generic.py
index 930820f..c61e297 100644
--- a/framework/subsystems/opimd/pimd_generic.py
+++ b/framework/subsystems/opimd/pimd_generic.py
@@ -57,6 +57,13 @@ class QueryMatcher(object):
self.query_obj = query
+ def single_entry_matches(self, entry):
+ assert(self.query_obj, "Query object is empty, cannot match!")
+
+ if entry:
+ return entry.match_query(self.query_obj)
+ else:
+ return False
def match(self, entries):
"""Tries to match a given set of entries to the current query
@@ -71,10 +78,9 @@ class QueryMatcher(object):
# Match all entires
for (entry_id, entry) in enumerate(entries):
- if entry:
- match = entry.match_query(self.query_obj)
- if match > 0.0:
- matches.append((match, entry_id))
+ match = self.single_call_matches(entry)
+ if match:
+ matches.append((match, entry_id))
result_count = len(matches)
# Sort matches by relevance and return the best hits
@@ -576,7 +582,7 @@ class SingleQueryHandler(object):
result = False
matcher = QueryMatcher(self.query)
- if matcher.single_entry_matches():
+ if matcher.single_entry_matches(self._calls[call_id]):
self.entries = matcher.match(self._entries)
# TODO Register with the new entry to receive changes
@@ -645,8 +651,7 @@ class QueryManager(DBusFBObject):
if query_handler.check_new_entry(entry_id):
entry = self._entries[entry_id]
entry_path = entry['Path']
- # TODO: make it working! :)
- # self.entryAdded(query_id, entry_path)
+ self.EntryAdded(entry_path, rel_path='/' + str(query_id))
def check_query_id_ok( self, num_id ):
"""
@@ -655,6 +660,10 @@ class QueryManager(DBusFBObject):
if not num_id in self._queries:
raise InvalidQueryID( "Existing query IDs: %s" % self._queries.keys() )
+ @dbus_signal(_DIN_QUERY, "s", rel_path_keyword="rel_path")
+ def EntryAdded(self, path, rel_path=None):
+ pass
+
@dbus_method(_DIN_QUERY, "", "i", rel_path_keyword="rel_path")
def GetResultCount(self, rel_path):
num_id = int(rel_path[1:])
@@ -829,9 +838,7 @@ class GenericDomain(Domain):
result = entry['Path']
# As we just added a new entry, we check it against all queries to see if it matches
- # XXX: I comment this out because it doesn't work : Charlie
- # TODO: uncomment it
- # self.query_manager.check_new_entry(entry_id)
+ self.query_manager.check_new_entry(entry_id)
return result
--
FSO frameworkd Debian packaging
More information about the pkg-fso-commits
mailing list