summaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
authorSiegfried-Angel Gevatter Pujals <siegfried@gevatter.com>2012-03-29 20:02:44 +0200
committerSiegfried-Angel Gevatter Pujals <siegfried@gevatter.com>2012-03-29 20:02:44 +0200
commit2d38dfab686c5f6a99f6f5c54cb606c620c5071b (patch)
tree2bfe4e7e5c6dac04596c90f2e759020e75a5ad21 /extensions
parent657dec3270e7a69ffd68c08fdb3726ffaa5e3eda (diff)
downloadzeitgeist-2d38dfab686c5f6a99f6f5c54cb606c620c5071b.tar.gz
FTS++: Ignore Ubuntu One events
See also: https://wiki.ubuntu.com/UbuntuOne/Specs/ZeitgeistIntegration/EventsSpec
Diffstat (limited to 'extensions')
-rw-r--r--extensions/fts++/indexer.cpp8
-rw-r--r--extensions/fts++/test/test-indexer.cpp19
2 files changed, 27 insertions, 0 deletions
diff --git a/extensions/fts++/indexer.cpp b/extensions/fts++/indexer.cpp
index 6dcda548..21b03847 100644
--- a/extensions/fts++/indexer.cpp
+++ b/extensions/fts++/indexer.cpp
@@ -1303,6 +1303,14 @@ get_digest_for_uri (GChecksum *checksum, const gchar *uri,
void Indexer::IndexEvent (ZeitgeistEvent *event)
{
+ // Blacklist Ubuntu One events...
+ const gchar *actor;
+ actor = zeitgeist_event_get_actor (event);
+ if (strcmp(actor, "dbus://com.ubuntuone.SyncDaemon.service") == 0)
+ return;
+ if (strcmp(actor, "dbus://org.desktopcouch.CouchDB.service") == 0)
+ return;
+
try
{
const gchar *val;
diff --git a/extensions/fts++/test/test-indexer.cpp b/extensions/fts++/test/test-indexer.cpp
index 3d293d84..41beac81 100644
--- a/extensions/fts++/test/test-indexer.cpp
+++ b/extensions/fts++/test/test-indexer.cpp
@@ -1074,6 +1074,23 @@ test_query_most_popular_subjects (Fixture *fix, gconstpointer data)
assert_nth_result_has_id (results, 2, event_id6);
}
+static void
+test_index_ignore_ubuntu_one (Fixture *fix, gconstpointer data)
+{
+ guint matches;
+
+ // add test events to DBs
+ index_event (fix, create_test_event_simple ("ubuntuone:uuid", "failme"));
+ ZeitgeistEvent *event = create_test_event_simple ("file:///nice%20uri", "failme");
+ zeitgeist_event_set_actor (event, "dbus://com.ubuntuone.SyncDaemon.service");
+ index_event (fix, event);
+
+ GPtrArray *results = search_simple (fix, "failme", NULL,
+ ZEITGEIST_RESULT_TYPE_MOST_RECENT_EVENTS, &matches);
+
+ g_assert_cmpuint (results->len, ==, 0);
+}
+
G_BEGIN_DECLS
static void discard_message (const gchar *domain,
@@ -1138,6 +1155,8 @@ void test_indexer_create_suite (void)
g_test_add ("/Zeitgeist/FTS/Indexer/Query/MostPopularSubjects", Fixture, 0,
setup, test_query_most_popular_subjects, teardown);
*/
+ g_test_add ("/Zeitgeist/FTS/Indexer/Index/IgnoreUbuntuOne", Fixture, 0,
+ setup, test_index_ignore_ubuntu_one, teardown);
// get rid of the "rebuilding index..." messages
g_log_set_handler (NULL, G_LOG_LEVEL_MESSAGE, discard_message, NULL);