[tracker] tracker-writeback, tracker-extract: Fixed various writeback related problems



commit ce66e5f24fdcd8dcbf8bebabb36b85b1f9d39c93
Author: Philip Van Hoof <philip codeminded be>
Date:   Mon Feb 22 13:19:59 2010 +0100

    tracker-writeback, tracker-extract: Fixed various writeback related problems
    
    Fixes NB #157813, NB #157429, NB# 157814, NB# 157822

 data/ontologies/33-nfo.ontology               |    1 +
 src/libtracker-extract/tracker-xmp.c          |    2 +-
 src/tracker-writeback/tracker-writeback-xmp.c |   15 ++++++++-------
 3 files changed, 10 insertions(+), 8 deletions(-)
---
diff --git a/data/ontologies/33-nfo.ontology b/data/ontologies/33-nfo.ontology
index 02c6ba6..13b4672 100644
--- a/data/ontologies/33-nfo.ontology
+++ b/data/ontologies/33-nfo.ontology
@@ -854,6 +854,7 @@ nfo:orientation-left a nfo:Orientation .
 nfo:orientation a rdf:Property ;
 	rdfs:domain nfo:Image ;
 	rdfs:range nfo:Orientation ;
+	nrl:maxCardinality 1 ;
 	tracker:writeback true .
 
 @prefix poi: <http://www.tracker-project.org/ontologies/poi#> .
diff --git a/src/libtracker-extract/tracker-xmp.c b/src/libtracker-extract/tracker-xmp.c
index 36bdaa4..130e122 100644
--- a/src/libtracker-extract/tracker-xmp.c
+++ b/src/libtracker-extract/tracker-xmp.c
@@ -116,7 +116,7 @@ fix_flash (const gchar *flash)
 static const gchar *
 fix_white_balance (const gchar *wb)
 {
-	if (wb) {
+	if (g_strcmp0 (wb, "1") == 0) {
 		return "nmm:white-balance-manual";
 	} else {
 		return "nmm:white-balance-auto";
diff --git a/src/tracker-writeback/tracker-writeback-xmp.c b/src/tracker-writeback/tracker-writeback-xmp.c
index 1144879..8d80825 100644
--- a/src/tracker-writeback/tracker-writeback-xmp.c
+++ b/src/tracker-writeback/tracker-writeback-xmp.c
@@ -251,9 +251,9 @@ writeback_xmp_update_file_metadata (TrackerWritebackFile *wbf,
 			} else if (g_strcmp0 (row[3], TRACKER_NFO_PREFIX "orientation-top-mirror") == 0) {
 				xmp_set_property (xmp, NS_EXIF, "Orientation", "top - right", 0);
 			} else if (g_strcmp0 (row[3], TRACKER_NFO_PREFIX "orientation-bottom") == 0) {
-				xmp_set_property (xmp, NS_EXIF, "Orientation", "bottom - right", 0);
-			} else if (g_strcmp0 (row[3], TRACKER_NFO_PREFIX "orientation-bottom-mirror") == 0) {
 				xmp_set_property (xmp, NS_EXIF, "Orientation", "bottom - left", 0);
+			} else if (g_strcmp0 (row[3], TRACKER_NFO_PREFIX "orientation-bottom-mirror") == 0) {
+				xmp_set_property (xmp, NS_EXIF, "Orientation", "bottom - right", 0);
 			} else if (g_strcmp0 (row[3], TRACKER_NFO_PREFIX "orientation-left-mirror") == 0) {
 				xmp_set_property (xmp, NS_EXIF, "Orientation", "left - top", 0);
 			} else if (g_strcmp0 (row[3], TRACKER_NFO_PREFIX "orientation-right") == 0) {
@@ -315,9 +315,9 @@ writeback_xmp_update_file_metadata (TrackerWritebackFile *wbf,
 			if (g_strcmp0 (row[3], TRACKER_NMM_PREFIX "flash-on") == 0) {
 				/* 0 = Flash did not fire
 				   1 = Flash fired */
-				xmp_set_property (xmp, NS_EXIF, "Flash", "0", 0);
-			} else {
 				xmp_set_property (xmp, NS_EXIF, "Flash", "1", 0);
+			} else {
+				xmp_set_property (xmp, NS_EXIF, "Flash", "0", 0);
 			}
 		}
 
@@ -355,6 +355,7 @@ writeback_xmp_update_file_metadata (TrackerWritebackFile *wbf,
 				xmp_delete_property (xmp, NS_EXIF, "Model");
 				xmp_set_property (xmp, NS_EXIF, "Model", ptr, 0);
 			} else {
+				xmp_delete_property (xmp, NS_EXIF, "Make");
 				xmp_delete_property (xmp, NS_EXIF, "Model");
 				xmp_set_property (xmp, NS_EXIF, "Model", work_on, 0);
 			}
@@ -372,9 +373,9 @@ writeback_xmp_update_file_metadata (TrackerWritebackFile *wbf,
 			GError *error = NULL;
 			gchar *query;
 
-			query = g_strdup_printf ("SELECT mlo:city (?city) mlo:state (?state) "
-			                               " mlo:address (?address) "
-			                               " mlo:country (?country) "
+			query = g_strdup_printf ("SELECT mlo:city (?location) mlo:state (?location) "
+			                               " mlo:address (?location) "
+			                               " mlo:country (?location) "
 			                         "WHERE { <%s> mlo:location ?location }",
 			                         row[1]); /* The urn is at 1 */
 



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