[tracker] tracker-extract: Always favor XMP over IPTC, EXIF or native



commit 851420ef359ac9ea0e4c2884f92385649c5feb2c
Author: Philip Van Hoof <philip codeminded be>
Date:   Wed Feb 3 12:57:14 2010 +0100

    tracker-extract: Always favor XMP over IPTC, EXIF or native

 src/tracker-extract/tracker-extract-jpeg.c |   40 +++++++-------
 src/tracker-extract/tracker-extract-png.c  |   72 ++++++++++++------------
 src/tracker-extract/tracker-extract-tiff.c |   86 ++++++++++++++--------------
 3 files changed, 99 insertions(+), 99 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract-jpeg.c b/src/tracker-extract/tracker-extract-jpeg.c
index ce6f9cc..3d13f09 100644
--- a/src/tracker-extract/tracker-extract-jpeg.c
+++ b/src/tracker-extract/tracker-extract-jpeg.c
@@ -299,26 +299,26 @@ extract_jpeg (const gchar          *uri,
 			g_free (ed.make);
 		}
 
-		md.title = tracker_coalesce (3, xd.title, xd.title2, ed.document_name, xd.pdf_title);
-		md.orientation = tracker_coalesce (3, ed.orientation, xd.orientation, id.image_orientation);
-		md.copyright = tracker_coalesce (3, ed.copyright, xd.copyright, xd.rights, id.copyright_notice);
-		md.white_balance = tracker_coalesce (2, ed.white_balance, xd.white_balance);
-		md.fnumber =  tracker_coalesce (2, ed.fnumber, xd.fnumber);
-		md.flash =  tracker_coalesce (2, ed.flash, xd.flash);
-		md.focal_length =  tracker_coalesce (2, ed.focal_length, xd.focal_length);
-		md.artist =  tracker_coalesce (3, ed.artist, xd.artist, xd.contributor);
-		md.exposure_time =  tracker_coalesce (2, ed.exposure_time, xd.exposure_time);
-		md.iso_speed_ratings =  tracker_coalesce (2, ed.iso_speed_ratings, xd.iso_speed_ratings);
-		md.date =  tracker_coalesce (5, ed.time, xd.date, id.date_created, ed.time_original, xd.time_original);
-		md.description = tracker_coalesce (2, ed.description, xd.description);
-		md.metering_mode = tracker_coalesce (2, ed.metering_mode, xd.metering_mode);
-
-		md.city = tracker_coalesce (2, id.city, xd.city);
-		md.state = tracker_coalesce (2, id.state, xd.state);
-		md.address = tracker_coalesce (2, id.sublocation, xd.address);
-		md.country  = tracker_coalesce (2, id.country_name, xd.country);
-
-		md.creator =  tracker_coalesce (3, id.byline, xd.creator, id.credit);
+		md.title = tracker_coalesce (4, xd.title, ed.document_name, xd.title2, xd.pdf_title);
+		md.orientation = tracker_coalesce (3, xd.orientation, ed.orientation, id.image_orientation);
+		md.copyright = tracker_coalesce (4, xd.copyright, xd.rights, ed.copyright, id.copyright_notice);
+		md.white_balance = tracker_coalesce (2, xd.white_balance, ed.white_balance);
+		md.fnumber =  tracker_coalesce (2, xd.fnumber, ed.fnumber);
+		md.flash =  tracker_coalesce (2, xd.flash, ed.flash);
+		md.focal_length =  tracker_coalesce (2, xd.focal_length, ed.focal_length);
+		md.artist =  tracker_coalesce (3, xd.artist, ed.artist, xd.contributor);
+		md.exposure_time =  tracker_coalesce (2, xd.exposure_time, ed.exposure_time);
+		md.iso_speed_ratings =  tracker_coalesce (2, xd.iso_speed_ratings, ed.iso_speed_ratings);
+		md.date =  tracker_coalesce (5, xd.date, xd.time_original, ed.time, id.date_created, ed.time_original);
+		md.description = tracker_coalesce (2, xd.description, ed.description);
+		md.metering_mode = tracker_coalesce (2, xd.metering_mode, ed.metering_mode);
+
+		md.city = tracker_coalesce (2, xd.city, id.city);
+		md.state = tracker_coalesce (2, xd.state, id.state);
+		md.address = tracker_coalesce (2, xd.address, id.sublocation);
+		md.country  = tracker_coalesce (2, xd.country, id.country_name);
+
+		md.creator =  tracker_coalesce (3, xd.creator, id.byline, id.credit);
 		md.comment = tracker_coalesce (2, comment, ed.user_comment);
 
 		/* Prioritize on native dimention in all cases */
diff --git a/src/tracker-extract/tracker-extract-png.c b/src/tracker-extract/tracker-extract-png.c
index 2ca2aa0..e7f3e54 100644
--- a/src/tracker-extract/tracker-extract-png.c
+++ b/src/tracker-extract/tracker-extract-png.c
@@ -245,30 +245,30 @@ read_metadata (png_structp png_ptr, png_infop info_ptr, const gchar *uri, Tracke
 			g_free (exif_data.make);
 		}
 
-		merge_data.creator = tracker_coalesce (3, png_data.creator,
-		                                       png_data.author,
-		                                       xmp_data.creator);
-
-		merge_data.title = tracker_coalesce (5, png_data.title,
-		                                     xmp_data.title, 
-		                                     xmp_data.title,
-		                                     xmp_data.pdf_title,
-		                                     exif_data.document_name);
-
-		merge_data.copyright = tracker_coalesce (3, png_data.copyright,
-		                                         xmp_data.rights,
+		merge_data.creator = tracker_coalesce (3, xmp_data.creator, 
+		                                       png_data.creator,
+		                                       png_data.author);
+
+		merge_data.title = tracker_coalesce (5, xmp_data.title, 
+		                                     png_data.title,
+		                                     exif_data.document_name,
+		                                     xmp_data.title2,
+		                                     xmp_data.pdf_title);
+
+		merge_data.copyright = tracker_coalesce (3, xmp_data.rights, 
+		                                         png_data.copyright,
 		                                         exif_data.copyright);
 
-		merge_data.license = tracker_coalesce (2, png_data.disclaimer,
-		                                       xmp_data.license);
+		merge_data.license = tracker_coalesce (2, xmp_data.license, 
+		                                       png_data.disclaimer);
 
-		merge_data.description = tracker_coalesce (3, png_data.description,
-		                                           xmp_data.description,
+		merge_data.description = tracker_coalesce (3, xmp_data.description,
+		                                           png_data.description,
 		                                           exif_data.description);
 
-		merge_data.date = tracker_coalesce (5, png_data.creation_time,
-		                                    xmp_data.date,
+		merge_data.date = tracker_coalesce (5, xmp_data.date,
 		                                    xmp_data.time_original,
+		                                    png_data.creation_time,
 		                                    exif_data.time,
 		                                    exif_data.time_original);
 
@@ -276,32 +276,32 @@ read_metadata (png_structp png_ptr, png_infop info_ptr, const gchar *uri, Tracke
 		                                       exif_data.user_comment);
 
 		merge_data.artist = tracker_coalesce (3, xmp_data.artist,
-		                                      xmp_data.contributor,
-		                                      exif_data.artist);
+		                                      exif_data.artist,
+		                                      xmp_data.contributor);
 
-		merge_data.orientation = tracker_coalesce (2, exif_data.orientation, 
-		                                           xmp_data.orientation);
+		merge_data.orientation = tracker_coalesce (2, xmp_data.orientation, 
+		                                           exif_data.orientation);
 
-		merge_data.exposure_time = tracker_coalesce (2, exif_data.exposure_time, 
-		                                             xmp_data.exposure_time);
+		merge_data.exposure_time = tracker_coalesce (2, xmp_data.exposure_time, 
+		                                             exif_data.exposure_time);
 
-		merge_data.iso_speed_ratings = tracker_coalesce (2, exif_data.iso_speed_ratings, 
-		                                                 xmp_data.iso_speed_ratings);
+		merge_data.iso_speed_ratings = tracker_coalesce (2, xmp_data.iso_speed_ratings, 
+		                                                 exif_data.iso_speed_ratings);
 
-		merge_data.fnumber = tracker_coalesce (2, exif_data.fnumber, 
-		                                       xmp_data.fnumber);
+		merge_data.fnumber = tracker_coalesce (2, xmp_data.fnumber, 
+		                                       exif_data.fnumber);
 
-		merge_data.flash = tracker_coalesce (2, exif_data.flash, 
-		                                     xmp_data.flash);
+		merge_data.flash = tracker_coalesce (2, xmp_data.flash, 
+		                                     exif_data.flash);
 
-		merge_data.focal_length = tracker_coalesce (2, exif_data.focal_length, 
-		                                            xmp_data.focal_length);
+		merge_data.focal_length = tracker_coalesce (2, xmp_data.focal_length, 
+		                                            exif_data.focal_length);
 
-		merge_data.metering_mode = tracker_coalesce (2, exif_data.metering_mode, 
-		                                             xmp_data.metering_mode);
+		merge_data.metering_mode = tracker_coalesce (2, xmp_data.metering_mode, 
+		                                             exif_data.metering_mode);
 
-		merge_data.white_balance = tracker_coalesce (2, exif_data.white_balance, 
-		                                             xmp_data.white_balance);
+		merge_data.white_balance = tracker_coalesce (2, xmp_data.white_balance, 
+		                                             exif_data.white_balance);
 
 		if (merge_data.comment) {
 			tracker_sparql_builder_predicate (metadata, "nie:comment");
diff --git a/src/tracker-extract/tracker-extract-tiff.c b/src/tracker-extract/tracker-extract-tiff.c
index 78b7011..779887c 100644
--- a/src/tracker-extract/tracker-extract-tiff.c
+++ b/src/tracker-extract/tracker-extract-tiff.c
@@ -366,12 +366,12 @@ extract_tiff (const gchar *uri, TrackerSparqlBuilder *metadata)
 	TIFFClose (image);
 	g_free (filename);
 
-	merge_data.camera = tracker_merge (" ", 2, tiff_data.make,
-	                                   tiff_data.model);
+	merge_data.camera = tracker_merge (" ", 2, xmp_data.make,
+	                                   xmp_data.model);
 
 	if (!merge_data.camera) {
-		merge_data.camera = tracker_merge (" ", 2, xmp_data.make,
-		                                   xmp_data.model);
+		merge_data.camera = tracker_merge (" ", 2, tiff_data.make,
+		                                   tiff_data.model);
 
 		if (!merge_data.camera) {
 			merge_data.camera = tracker_merge (" ", 2, exif_data.make,
@@ -381,73 +381,73 @@ extract_tiff (const gchar *uri, TrackerSparqlBuilder *metadata)
 			g_free (exif_data.make);
 		}
 	} else {
-		g_free (xmp_data.model);
-		g_free (xmp_data.make);
+		g_free (tiff_data.model);
+		g_free (tiff_data.make);
 		g_free (exif_data.model);
 		g_free (exif_data.make);
 	}
 
-	merge_data.title = tracker_coalesce (5, tiff_data.documentname,
-	                                     xmp_data.title, 
-	                                     xmp_data.title2,
+	merge_data.title = tracker_coalesce (5, xmp_data.title,
+	                                     xmp_data.pdf_title,
+	                                     tiff_data.documentname,
 	                                     exif_data.document_name,
-	                                     xmp_data.pdf_title);
+	                                     xmp_data.title2);
 
-	merge_data.orientation = tracker_coalesce (4, tiff_data.orientation,
+	merge_data.orientation = tracker_coalesce (4, xmp_data.orientation,
+	                                           tiff_data.orientation,
 	                                           exif_data.orientation,
-	                                           xmp_data.orientation,
 	                                           iptc_data.image_orientation);
 
-	merge_data.copyright = tracker_coalesce (4, tiff_data.copyright,
+	merge_data.copyright = tracker_coalesce (4, xmp_data.rights,
+	                                         tiff_data.copyright,
 	                                         exif_data.copyright,
-	                                         xmp_data.rights,
 	                                         iptc_data.copyright_notice);
 
-	merge_data.white_balance = tracker_coalesce (2, exif_data.white_balance,
-	                                             xmp_data.white_balance);
+	merge_data.white_balance = tracker_coalesce (2, xmp_data.white_balance,
+	                                             exif_data.white_balance);
 
 
-	merge_data.fnumber =  tracker_coalesce (2, exif_data.fnumber,
-	                                        xmp_data.fnumber);
+	merge_data.fnumber =  tracker_coalesce (2, xmp_data.fnumber,
+	                                        exif_data.fnumber);
 
-	merge_data.flash =  tracker_coalesce (2, exif_data.flash,
-	                                      xmp_data.flash);
+	merge_data.flash =  tracker_coalesce (2, xmp_data.flash,
+	                                      exif_data.flash);
 
-	merge_data.focal_length =  tracker_coalesce (2, exif_data.focal_length,
-	                                             xmp_data.focal_length);
+	merge_data.focal_length =  tracker_coalesce (2, xmp_data.focal_length,
+	                                             exif_data.focal_length);
 
-	merge_data.artist =  tracker_coalesce (4, tiff_data.artist,
+	merge_data.artist =  tracker_coalesce (4, xmp_data.artist,
+	                                       tiff_data.artist,
 	                                       exif_data.artist,
-	                                       xmp_data.artist,
 	                                       xmp_data.contributor);
 
-	merge_data.exposure_time =  tracker_coalesce (2, exif_data.exposure_time,
-	                                              xmp_data.exposure_time);
+	merge_data.exposure_time =  tracker_coalesce (2, xmp_data.exposure_time,
+	                                              exif_data.exposure_time);
 
-	merge_data.iso_speed_ratings =  tracker_coalesce (2, exif_data.iso_speed_ratings,
-	                                                  xmp_data.iso_speed_ratings);
+	merge_data.iso_speed_ratings =  tracker_coalesce (2, xmp_data.iso_speed_ratings,
+	                                                  exif_data.iso_speed_ratings);
 
-	merge_data.date =  tracker_coalesce (6, tiff_data.datetime,
+	merge_data.date =  tracker_coalesce (6, xmp_data.date,
+	                                     xmp_data.time_original,
+	                                     tiff_data.datetime,
 	                                     exif_data.time,
-	                                     xmp_data.date,
 	                                     iptc_data.date_created,
-	                                     exif_data.time_original,
-	                                     xmp_data.time_original);
+	                                     exif_data.time_original);
 
-	merge_data.description = tracker_coalesce (3, tiff_data.imagedescription,
-	                                           exif_data.description,
-	                                           xmp_data.description);
+	merge_data.description = tracker_coalesce (3, xmp_data.description,
+	                                           tiff_data.imagedescription,
+	                                           exif_data.description);
 
-	merge_data.metering_mode =  tracker_coalesce (2, exif_data.metering_mode,
-	                                              xmp_data.metering_mode);
+	merge_data.metering_mode =  tracker_coalesce (2, xmp_data.metering_mode,
+	                                              exif_data.metering_mode);
 
-	merge_data.city = tracker_coalesce (2, iptc_data.city, xmp_data.city);
-	merge_data.state = tracker_coalesce (2, iptc_data.state, xmp_data.state);
-	merge_data.address = tracker_coalesce (2, iptc_data.sublocation, xmp_data.address);
-	merge_data.country  = tracker_coalesce (2, iptc_data.country_name, xmp_data.country);
+	merge_data.city = tracker_coalesce (2, xmp_data.city, iptc_data.city);
+	merge_data.state = tracker_coalesce (2, xmp_data.state, iptc_data.state);
+	merge_data.address = tracker_coalesce (2, xmp_data.address, iptc_data.sublocation);
+	merge_data.country  = tracker_coalesce (2, xmp_data.country, iptc_data.country_name);
 
-	merge_data.creator =  tracker_coalesce (3, iptc_data.byline,
-	                                        xmp_data.creator,
+	merge_data.creator =  tracker_coalesce (3, xmp_data.creator,
+	                                        iptc_data.byline,
 	                                        iptc_data.credit);
 
 	merge_data.x_dimension =  tracker_coalesce (2, tiff_data.imagewidth,



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