[tracker] tracker-extract: Make sure we check filtered modules for dbus calls too



commit 706248844a03c445ddd89f094e99b0e9dc472b48
Author: Martyn Russell <martyn lanedo com>
Date:   Wed Aug 3 16:14:47 2011 +0100

    tracker-extract: Make sure we check filtered modules for dbus calls too
    
    The --force-module command line option was ignored for dbus calls and only
    available for command line use.

 src/tracker-extract/tracker-extract.c |   89 +++++++++++++++++----------------
 1 files changed, 45 insertions(+), 44 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract.c b/src/tracker-extract/tracker-extract.c
index 406ded6..9e2c0ef 100644
--- a/src/tracker-extract/tracker-extract.c
+++ b/src/tracker-extract/tracker-extract.c
@@ -463,6 +463,49 @@ extract_task_free (TrackerExtractTask *task)
 }
 
 static gboolean
+filter_module (TrackerExtract *extract,
+               GModule        *module)
+{
+	TrackerExtractPrivate *priv;
+	gchar *module_basename, *filter_name;
+	gboolean filter;
+
+	priv = TRACKER_EXTRACT_GET_PRIVATE (extract);
+
+	if (!priv->force_module) {
+		return FALSE;
+	}
+
+	/* Module name is the full path to it */
+	module_basename = g_path_get_basename (g_module_name (module));
+
+	if (g_str_has_prefix (priv->force_module, "lib") &&
+	    g_str_has_suffix (priv->force_module, "." G_MODULE_SUFFIX)) {
+		filter_name = g_strdup (priv->force_module);
+	} else {
+		filter_name = g_strdup_printf ("libextract-%s.so",
+		                               priv->force_module);
+	}
+
+	filter = strcmp (module_basename, filter_name) != 0;
+
+	if (filter) {
+		g_debug ("Module filtered out '%s' (due to --force-module='%s')",
+		         module_basename,
+		         filter_name);
+	} else {
+		g_debug ("Module used '%s' (due to --force-module='%s')",
+		         module_basename,
+		         filter_name);
+	}
+
+	g_free (module_basename);
+	g_free (filter_name);
+
+	return filter;
+}
+
+static gboolean
 get_metadata (TrackerExtractTask *task)
 {
 	TrackerExtractInfo *info;
@@ -488,7 +531,8 @@ get_metadata (TrackerExtractTask *task)
 		return FALSE;
 	}
 
-	if (get_file_metadata (task, &preupdate, &statements, &where)) {
+	if (!filter_module (task->extract, task->cur_module) &&
+	    get_file_metadata (task, &preupdate, &statements, &where)) {
 		info = tracker_extract_info_new ((preupdate) ? tracker_sparql_builder_get_result (preupdate) : NULL,
 		                                 (statements) ? tracker_sparql_builder_get_result (statements) : NULL,
 		                                 where);
@@ -708,49 +752,6 @@ tracker_extract_file (TrackerExtract      *extract,
 	g_object_unref (res);
 }
 
-static gboolean
-filter_module (TrackerExtract *extract,
-               GModule        *module)
-{
-	TrackerExtractPrivate *priv;
-	gchar *module_basename, *filter_name;
-	gboolean filter;
-
-	priv = TRACKER_EXTRACT_GET_PRIVATE (extract);
-
-	if (!priv->force_module) {
-		return FALSE;
-	}
-
-	/* Module name is the full path to it */
-	module_basename = g_path_get_basename (g_module_name (module));
-
-	if (g_str_has_prefix (priv->force_module, "lib") &&
-	    g_str_has_suffix (priv->force_module, "." G_MODULE_SUFFIX)) {
-		filter_name = g_strdup (priv->force_module);
-	} else {
-		filter_name = g_strdup_printf ("libextract-%s.so",
-		                               priv->force_module);
-	}
-
-	filter = strcmp (module_basename, filter_name) != 0;
-
-	if (filter) {
-		g_debug ("Module filtered out '%s' (due to --force-module='%s')",
-		         module_basename,
-		         filter_name);
-	} else {
-		g_debug ("Module used '%s' (due to --force-module='%s')",
-		         module_basename,
-		         filter_name);
-	}
-
-	g_free (module_basename);
-	g_free (filter_name);
-
-	return filter;
-}
-
 void
 tracker_extract_get_metadata_by_cmdline (TrackerExtract *object,
                                          const gchar    *uri,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]