[tracker/anonymous-file-nodes: 11/27] Some corrections after Jürg's review.



commit 9bfdba35e9fe6c071a1759c4edc83ac8cc48f694
Author: Philip Van Hoof <philip codeminded be>
Date:   Wed Jan 27 15:34:22 2010 +0100

    Some corrections after Jürg's review.
    
    Feel free to squash this commit

 src/tracker-extract/tracker-extract-gstreamer.c |   70 ++++++++++++++++-------
 src/tracker-extract/tracker-extract-mp3.c       |   35 +++++------
 src/tracker-extract/tracker-extract-vorbis.c    |   35 +++++------
 3 files changed, 82 insertions(+), 58 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract-gstreamer.c b/src/tracker-extract/tracker-extract-gstreamer.c
index d34e076..df5f1bb 100644
--- a/src/tracker-extract/tracker-extract-gstreamer.c
+++ b/src/tracker-extract/tracker-extract-gstreamer.c
@@ -540,8 +540,8 @@ extract_metadata (MetadataExtractor      *extractor,
 			s = NULL;
 			gst_tag_list_get_string (extractor->tagcache, GST_TAG_ALBUM, &s);
 			if (s) {
-				TrackerSparqlBuilder *delete_old;
-				const gchar *delete_old_qry;
+				gboolean has_it;
+				guint count;
 
 				album_uri = tracker_uri_printf_escaped ("urn:album:%s", s);
 
@@ -553,26 +553,56 @@ extract_metadata (MetadataExtractor      *extractor,
 				tracker_sparql_builder_predicate (preupdate, "nmm:albumTitle");
 				tracker_sparql_builder_object_unvalidated (preupdate, s);
 
+				has_it = gst_tag_list_get_uint (extractor->tagcache, 
+				                                GST_TAG_TRACK_COUNT, 
+				                                &count);
+
+				if (has_it) {
+					tracker_sparql_builder_insert_close (preupdate);
+
+					tracker_sparql_builder_delete_open (preupdate, NULL);
+					tracker_sparql_builder_subject_iri (preupdate, album_uri);
+					tracker_sparql_builder_predicate (preupdate, "nmm:albumTrackCount");
+					tracker_sparql_builder_object_variable (preupdate, "unknown");
+					tracker_sparql_builder_delete_close (preupdate);
+					tracker_sparql_builder_where_open (preupdate);
+					tracker_sparql_builder_subject_iri (preupdate, album_uri);
+					tracker_sparql_builder_predicate (preupdate, "nmm:albumTrackCount");
+					tracker_sparql_builder_object_variable (preupdate, "unknown");
+					tracker_sparql_builder_where_close (preupdate);
+
+					tracker_sparql_builder_insert_open (preupdate, NULL);
+					tracker_sparql_builder_subject_iri (preupdate, album_uri);
+
+					tracker_sparql_builder_predicate (metadata, "nmm:albumTrackCount");
+					tracker_sparql_builder_object_int64 (metadata, count);
+				}
 
-				delete_old = tracker_sparql_builder_new_update ();
-				tracker_sparql_builder_delete_open (delete_old, NULL);
-				tracker_sparql_builder_subject_iri (delete_old, album_uri);
-				tracker_sparql_builder_predicate (delete_old, "nmm:albumTrackCount");
-				tracker_sparql_builder_object_variable (delete_old, "unknown");
-				tracker_sparql_builder_delete_close (delete_old);
-				tracker_sparql_builder_where_open (delete_old);
-				tracker_sparql_builder_subject_iri (delete_old, album_uri);
-				tracker_sparql_builder_predicate (delete_old, "nmm:albumTrackCount");
-				tracker_sparql_builder_object_variable (delete_old, "unknown");
-				tracker_sparql_builder_where_close (delete_old);
-				delete_old_qry = tracker_sparql_builder_get_result (delete_old);
-
-				tracker_sparql_builder_prepend (preupdate, delete_old_qry);
-
-				g_object_unref (delete_old);
+				has_it = gst_tag_list_get_uint (extractor->tagcache, 
+				                                GST_TAG_ALBUM_VOLUME_NUMBER, 
+				                                &count);
+
+				if (has_it) {
+					tracker_sparql_builder_insert_close (preupdate);
+
+					tracker_sparql_builder_delete_open (preupdate, NULL);
+					tracker_sparql_builder_subject_iri (preupdate, album_uri);
+					tracker_sparql_builder_predicate (preupdate, "nmm:setNumber");
+					tracker_sparql_builder_object_variable (preupdate, "unknown");
+					tracker_sparql_builder_delete_close (preupdate);
+					tracker_sparql_builder_where_open (preupdate);
+					tracker_sparql_builder_subject_iri (preupdate, album_uri);
+					tracker_sparql_builder_predicate (preupdate, "nmm:setNumber");
+					tracker_sparql_builder_object_variable (preupdate, "unknown");
+					tracker_sparql_builder_where_close (preupdate);
+
+					tracker_sparql_builder_insert_open (preupdate, NULL);
+					tracker_sparql_builder_subject_iri (preupdate, album_uri);
+
+					tracker_sparql_builder_predicate (metadata, "nmm:setNumber");
+					tracker_sparql_builder_object_int64 (metadata, count);
+				}
 
-				add_uint_gst_tag (preupdate, album_uri, "nmm:albumTrackCount", extractor->tagcache, GST_TAG_TRACK_COUNT);
-				add_uint_gst_tag (preupdate, album_uri, "nmm:setNumber", extractor->tagcache, GST_TAG_ALBUM_VOLUME_NUMBER);
 				*album = s;
 
 				tracker_sparql_builder_insert_close (preupdate);
diff --git a/src/tracker-extract/tracker-extract-mp3.c b/src/tracker-extract/tracker-extract-mp3.c
index c8883b7..7ca073c 100644
--- a/src/tracker-extract/tracker-extract-mp3.c
+++ b/src/tracker-extract/tracker-extract-mp3.c
@@ -2001,25 +2001,22 @@ extract_mp3 (const gchar          *uri,
 		tracker_sparql_builder_object_unvalidated (preupdate, md.album);
 
 		if (md.track_count > 0) {
-			TrackerSparqlBuilder *delete_old;
-			const gchar *delete_old_qry;
-
-			delete_old = tracker_sparql_builder_new_update ();
-			tracker_sparql_builder_delete_open (delete_old, NULL);
-			tracker_sparql_builder_subject_iri (delete_old, md.album_uri);
-			tracker_sparql_builder_predicate (delete_old, "nmm:albumTrackCount");
-			tracker_sparql_builder_object_variable (delete_old, "unknown");
-			tracker_sparql_builder_delete_close (delete_old);
-			tracker_sparql_builder_where_open (delete_old);
-			tracker_sparql_builder_subject_iri (delete_old, md.album_uri);
-			tracker_sparql_builder_predicate (delete_old, "nmm:albumTrackCount");
-			tracker_sparql_builder_object_variable (delete_old, "unknown");
-			tracker_sparql_builder_where_close (delete_old);
-			delete_old_qry = tracker_sparql_builder_get_result (delete_old);
-
-			tracker_sparql_builder_prepend (preupdate, delete_old_qry);
-
-			g_object_unref (delete_old);
+
+			tracker_sparql_builder_insert_close (preupdate);
+
+			tracker_sparql_builder_delete_open (preupdate, NULL);
+			tracker_sparql_builder_subject_iri (preupdate, md.album_uri);
+			tracker_sparql_builder_predicate (preupdate, "nmm:albumTrackCount");
+			tracker_sparql_builder_object_variable (preupdate, "unknown");
+			tracker_sparql_builder_delete_close (preupdate);
+			tracker_sparql_builder_where_open (preupdate);
+			tracker_sparql_builder_subject_iri (preupdate, md.album_uri);
+			tracker_sparql_builder_predicate (preupdate, "nmm:albumTrackCount");
+			tracker_sparql_builder_object_variable (preupdate, "unknown");
+			tracker_sparql_builder_where_close (preupdate);
+
+			tracker_sparql_builder_insert_open (preupdate, NULL);
+			tracker_sparql_builder_subject_iri (preupdate, md.album_uri);
 
 			tracker_sparql_builder_predicate (preupdate, "nmm:albumTrackCount");
 			tracker_sparql_builder_object_int64 (preupdate, md.track_count);
diff --git a/src/tracker-extract/tracker-extract-vorbis.c b/src/tracker-extract/tracker-extract-vorbis.c
index 4a7ab1b..1e70cff 100644
--- a/src/tracker-extract/tracker-extract-vorbis.c
+++ b/src/tracker-extract/tracker-extract-vorbis.c
@@ -178,25 +178,22 @@ extract_vorbis (const char *uri,
 		tracker_sparql_builder_insert_close (preupdate);
 
 		if (vorbis_data.trackcount) {
-			TrackerSparqlBuilder *delete_old;
-			const gchar *delete_old_qry;
-
-			delete_old = tracker_sparql_builder_new_update ();
-			tracker_sparql_builder_delete_open (delete_old, NULL);
-			tracker_sparql_builder_subject_iri (delete_old, album_uri);
-			tracker_sparql_builder_predicate (delete_old, "nmm:albumTrackCount");
-			tracker_sparql_builder_object_variable (delete_old, "unknown");
-			tracker_sparql_builder_delete_close (delete_old);
-			tracker_sparql_builder_where_open (delete_old);
-			tracker_sparql_builder_subject_iri (delete_old, album_uri);
-			tracker_sparql_builder_predicate (delete_old, "nmm:albumTrackCount");
-			tracker_sparql_builder_object_variable (delete_old, "unknown");
-			tracker_sparql_builder_where_close (delete_old);
-			delete_old_qry = tracker_sparql_builder_get_result (delete_old);
-
-			tracker_sparql_builder_prepend (preupdate, delete_old_qry);
-
-			g_object_unref (delete_old);
+
+			tracker_sparql_builder_insert_close (preupdate);
+
+			tracker_sparql_builder_delete_open (preupdate, NULL);
+			tracker_sparql_builder_subject_iri (preupdate, album_uri);
+			tracker_sparql_builder_predicate (preupdate, "nmm:albumTrackCount");
+			tracker_sparql_builder_object_variable (preupdate, "unknown");
+			tracker_sparql_builder_delete_close (preupdate);
+			tracker_sparql_builder_where_open (preupdate);
+			tracker_sparql_builder_subject_iri (preupdate, album_uri);
+			tracker_sparql_builder_predicate (preupdate, "nmm:albumTrackCount");
+			tracker_sparql_builder_object_variable (preupdate, "unknown");
+			tracker_sparql_builder_where_close (preupdate);
+
+			tracker_sparql_builder_insert_open (preupdate, preupdate);
+			tracker_sparql_builder_subject_iri (preupdate, md.album_uri);
 
 			tracker_sparql_builder_predicate (metadata, "nmm:albumTrackCount");
 			tracker_sparql_builder_object_unvalidated (metadata, vorbis_data.trackcount);



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