[tracker] Fixed XMP Title's coalesce



commit 5f72ff940edec21d0438d5cd0bbdd70d1e0bef31
Author: Philip Van Hoof <philip codeminded be>
Date:   Wed Nov 25 13:22:23 2009 +0100

    Fixed XMP Title's coalesce

 src/tracker-extract/tracker-extract-jpeg.c |    2 +-
 src/tracker-extract/tracker-extract-pdf.c  |    2 +-
 src/tracker-extract/tracker-extract-png.c  |    2 +-
 src/tracker-extract/tracker-extract-tiff.c |    2 +-
 src/tracker-extract/tracker-xmp.c          |    9 ++++++---
 5 files changed, 10 insertions(+), 7 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract-jpeg.c b/src/tracker-extract/tracker-extract-jpeg.c
index 69578fe..b8a8477 100644
--- a/src/tracker-extract/tracker-extract-jpeg.c
+++ b/src/tracker-extract/tracker-extract-jpeg.c
@@ -295,7 +295,7 @@ extract_jpeg (const gchar          *uri,
 			g_free (ed.make);
 		}
 
-		md.title = tracker_coalesce (2, xd.title, ed.document_name);
+		md.title = tracker_coalesce (2, xd.title, xd.Title, ed.document_name);
 		md.orientation = tracker_coalesce (3, ed.orientation, xd.Orientation, id.image_orientation);
 		md.copyright = tracker_coalesce (3, ed.copyright, xd.rights, id.copyright_notice);
 		md.white_balance = tracker_coalesce (2, ed.white_balance, xd.WhiteBalance);
diff --git a/src/tracker-extract/tracker-extract-pdf.c b/src/tracker-extract/tracker-extract-pdf.c
index ea26934..a8e20d4 100644
--- a/src/tracker-extract/tracker-extract-pdf.c
+++ b/src/tracker-extract/tracker-extract-pdf.c
@@ -225,7 +225,7 @@ extract_pdf (const gchar          *uri,
 		g_free (xml);
 		xml = NULL;
 
-		md.title = tracker_coalesce (2, pd.title, xd.title);
+		md.title = tracker_coalesce (2, pd.title, xd.title, xd.Title);
 		md.subject = tracker_coalesce (2, pd.subject, xd.subject);
 		md.date = tracker_coalesce (3, pd.creation_date, xd.date, xd.DateTimeOriginal);
 		md.author = tracker_coalesce (2, pd.author, xd.creator);
diff --git a/src/tracker-extract/tracker-extract-png.c b/src/tracker-extract/tracker-extract-png.c
index a667e51..49701b4 100644
--- a/src/tracker-extract/tracker-extract-png.c
+++ b/src/tracker-extract/tracker-extract-png.c
@@ -196,7 +196,7 @@ read_metadata (png_structp png_ptr, png_infop info_ptr, const gchar *uri, Tracke
 		                                       xmp_data.creator);
 
 		merge_data.title = tracker_coalesce (2, png_data.title,
-		                                     xmp_data.title);
+		                                     xmp_data.title, xmp_data.Title);
 
 		merge_data.copyright = tracker_coalesce (2, png_data.copyright,
 		                                         xmp_data.rights);
diff --git a/src/tracker-extract/tracker-extract-tiff.c b/src/tracker-extract/tracker-extract-tiff.c
index c41c79a..fd9f1b2 100644
--- a/src/tracker-extract/tracker-extract-tiff.c
+++ b/src/tracker-extract/tracker-extract-tiff.c
@@ -382,7 +382,7 @@ extract_tiff (const gchar *uri, TrackerSparqlBuilder *metadata)
 	}
 
 	merge_data.title = tracker_coalesce (3, tiff_data.documentname,
-	                                     xmp_data.title,
+	                                     xmp_data.title, xmp_data.Title,
 	                                     exif_data.document_name);
 
 	merge_data.orientation = tracker_coalesce (4, tiff_data.orientation,
diff --git a/src/tracker-extract/tracker-xmp.c b/src/tracker-extract/tracker-xmp.c
index 1512492..97e08e7 100644
--- a/src/tracker-extract/tracker-xmp.c
+++ b/src/tracker-extract/tracker-xmp.c
@@ -379,6 +379,8 @@ tracker_xmp_iter_simple (const gchar          *uri,
 	} else 	/* PDF*/ if (g_ascii_strcasecmp (schema, NS_PDF) == 0) {
 		if (g_ascii_strcasecmp (name, "keywords") == 0 && !data->keywords) {
 			data->keywords = g_strdup (value);
+		} else if (g_ascii_strcasecmp (name, "title") == 0 && !data->title) {
+			data->title = g_strdup (value);
 		}
 	}
 
@@ -629,10 +631,11 @@ tracker_apply_xmp (TrackerSparqlBuilder *metadata, const gchar *uri, TrackerXmpD
 		g_free (final_camera);
 	}
 
-	if (xmp_data->title) {
+	if (xmp_data->title || xmp_data->Title) {
+		gchar *final_title = tracker_coalesce (2, xmp_data->title, xmp_data->Title); 
 		tracker_sparql_builder_predicate (metadata, "nie:title");
-		tracker_sparql_builder_object_unvalidated (metadata, xmp_data->title);
-		g_free (xmp_data->title);
+		tracker_sparql_builder_object_unvalidated (metadata, final_title);
+		g_free (final_title);
 	}
 
 	if (xmp_data->Orientation) {



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