[tracker] tracker-tag: Fix looking up by filename



commit 40629cf7e38f34ba8ee5135b854b508c2a4e31e7
Author: Martyn Russell <martyn lanedo com>
Date:   Mon Feb 15 17:13:27 2010 +0000

    tracker-tag: Fix looking up by filename
    
    Use g_file_new_for_commandline_arg() and also fixed SPARQL.

 src/tracker-utils/tracker-tag.c |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)
---
diff --git a/src/tracker-utils/tracker-tag.c b/src/tracker-utils/tracker-tag.c
index 3a65858..57f160a 100644
--- a/src/tracker-utils/tracker-tag.c
+++ b/src/tracker-utils/tracker-tag.c
@@ -85,7 +85,7 @@ static GOptionEntry entries[] = {
 	},
 	{ G_OPTION_REMAINING, 0,
 	  G_OPTION_FLAG_FILENAME,
-	  G_OPTION_ARG_STRING_ARRAY, &files,
+	  G_OPTION_ARG_FILENAME_ARRAY, &files,
 	  N_("FILEâ?¦"),
 	  N_("FILE [FILEâ?¦]")},
 	{ NULL }
@@ -586,7 +586,7 @@ get_tags_by_file_foreach (gpointer value,
 
 static gboolean
 get_tags_by_file (TrackerClient *client,
-                  const gchar   *file)
+                  const gchar   *uri)
 {
 	GError *error = NULL;
 	GPtrArray *results;
@@ -594,13 +594,13 @@ get_tags_by_file (TrackerClient *client,
 
 	query = g_strdup_printf ("SELECT ?tags ?labels "
 	                         "WHERE {"
-	                         "  <%s>"
-	                         "  nao:hasTag ?tags ."
+	                         "  ?urn nao:hasTag ?tags ;"
+	                         "  nie:url <%s> ."
 	                         "  ?tags a nao:Tag ;"
 	                         "  nao:prefLabel ?labels "
 	                         "} "
 	                         "ORDER BY ASC(?labels)",
-	                         file);
+	                         uri);
 
 	results = tracker_resources_sparql_query (client, query, &error);
 	g_free (query);
@@ -723,9 +723,18 @@ main (int argc, char **argv)
 		gchar **p;
 
 		for (p = files; *p; p++) {
-			g_print ("<%s>\n", *p);
-			success &= get_tags_by_file (client, *p);
+			GFile *file;
+			gchar *uri;
+			
+			file = g_file_new_for_commandline_arg (*p);
+			uri = g_file_get_uri (file);
+			g_object_unref (file);
+
+			g_print ("%s\n", uri);
+			success &= get_tags_by_file (client, uri);
 			g_print ("\n");
+
+			g_free (uri);
 		}
 
 		g_object_unref (client);



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