[tracker] Fixed a bunch of XMP problems, changed from nie:keywords to nao:Tag
- From: Philip Van Hoof <pvanhoof src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [tracker] Fixed a bunch of XMP problems, changed from nie:keywords to nao:Tag
- Date: Tue, 17 Nov 2009 15:51:36 +0000 (UTC)
commit b58dd81ec9adbaf65d624501f929a29a0239b901
Author: Philip Van Hoof <philip codeminded be>
Date: Tue Nov 17 16:50:00 2009 +0100
Fixed a bunch of XMP problems, changed from nie:keywords to nao:Tag
src/tracker-extract/tracker-extract-jpeg.c | 12 ++-
src/tracker-extract/tracker-extract-pdf.c | 10 ++-
src/tracker-extract/tracker-extract-png.c | 10 ++-
src/tracker-extract/tracker-extract-tiff.c | 10 ++-
src/tracker-extract/tracker-xmp.c | 115 +++++++++++++++------------
5 files changed, 100 insertions(+), 57 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract-jpeg.c b/src/tracker-extract/tracker-extract-jpeg.c
index 99dcb94..69578fe 100644
--- a/src/tracker-extract/tracker-extract-jpeg.c
+++ b/src/tracker-extract/tracker-extract-jpeg.c
@@ -125,8 +125,16 @@ insert_keywords (TrackerSparqlBuilder *metadata,
for (p = strtok_r (keywords, ",; ", &saveptr);
p;
p = strtok_r (NULL, ",; ", &saveptr)) {
- tracker_sparql_builder_predicate (metadata, "nie:keyword");
+ tracker_sparql_builder_predicate (metadata, "nao:hasTag");
+
+ tracker_sparql_builder_object_blank_open (metadata);
+ tracker_sparql_builder_predicate (metadata, "a");
+ tracker_sparql_builder_object (metadata, "nao:Tag");
+
+ tracker_sparql_builder_predicate (metadata, "nao:prefLabel");
tracker_sparql_builder_object_unvalidated (metadata, p);
+
+ tracker_sparql_builder_object_blank_close (metadata);
}
}
@@ -229,8 +237,6 @@ extract_jpeg (const gchar *uri,
#ifdef HAVE_EXEMPI
if (strncmp (XMP_NAMESPACE, str, XMP_NAMESPACE_LENGTH) == 0) {
- TrackerXmpData xd = { 0 };
-
tracker_read_xmp (str + XMP_NAMESPACE_LENGTH,
len - XMP_NAMESPACE_LENGTH,
uri,
diff --git a/src/tracker-extract/tracker-extract-pdf.c b/src/tracker-extract/tracker-extract-pdf.c
index 51d7432..ea26934 100644
--- a/src/tracker-extract/tracker-extract-pdf.c
+++ b/src/tracker-extract/tracker-extract-pdf.c
@@ -76,8 +76,16 @@ insert_keywords (TrackerSparqlBuilder *metadata,
for (p = strtok_r (keywords, ",; ", &saveptr);
p;
p = strtok_r (NULL, ",; ", &saveptr)) {
- tracker_sparql_builder_predicate (metadata, "nie:keyword");
+ tracker_sparql_builder_predicate (metadata, "nao:hasTag");
+
+ tracker_sparql_builder_object_blank_open (metadata);
+ tracker_sparql_builder_predicate (metadata, "a");
+ tracker_sparql_builder_object (metadata, "nao:Tag");
+
+ tracker_sparql_builder_predicate (metadata, "nao:prefLabel");
tracker_sparql_builder_object_unvalidated (metadata, p);
+
+ tracker_sparql_builder_object_blank_close (metadata);
}
}
diff --git a/src/tracker-extract/tracker-extract-png.c b/src/tracker-extract/tracker-extract-png.c
index cbc1237..a667e51 100644
--- a/src/tracker-extract/tracker-extract-png.c
+++ b/src/tracker-extract/tracker-extract-png.c
@@ -102,8 +102,16 @@ insert_keywords (TrackerSparqlBuilder *metadata, const gchar *uri, gchar *keywor
for (keyw = strtok_r (keywords, ",; ", &lasts); keyw;
keyw = strtok_r (NULL, ",; ", &lasts)) {
- tracker_sparql_builder_predicate (metadata, "nie:keyword");
+ tracker_sparql_builder_predicate (metadata, "nao:hasTag");
+
+ tracker_sparql_builder_object_blank_open (metadata);
+ tracker_sparql_builder_predicate (metadata, "a");
+ tracker_sparql_builder_object (metadata, "nao:Tag");
+
+ tracker_sparql_builder_predicate (metadata, "nao:prefLabel");
tracker_sparql_builder_object_unvalidated (metadata, keyw);
+
+ tracker_sparql_builder_object_blank_close (metadata);
}
}
diff --git a/src/tracker-extract/tracker-extract-tiff.c b/src/tracker-extract/tracker-extract-tiff.c
index 3cdda05..c41c79a 100644
--- a/src/tracker-extract/tracker-extract-tiff.c
+++ b/src/tracker-extract/tracker-extract-tiff.c
@@ -252,8 +252,16 @@ insert_keywords (TrackerSparqlBuilder *metadata, const gchar *uri, gchar *keywor
for (keyw = strtok_r (keywords, ",; ", &lasts); keyw;
keyw = strtok_r (NULL, ",; ", &lasts)) {
- tracker_sparql_builder_predicate (metadata, "nie:keyword");
+ tracker_sparql_builder_predicate (metadata, "nao:hasTag");
+
+ tracker_sparql_builder_object_blank_open (metadata);
+ tracker_sparql_builder_predicate (metadata, "a");
+ tracker_sparql_builder_object (metadata, "nao:Tag");
+
+ tracker_sparql_builder_predicate (metadata, "nao:prefLabel");
tracker_sparql_builder_object_unvalidated (metadata, keyw);
+
+ tracker_sparql_builder_object_blank_close (metadata);
}
}
diff --git a/src/tracker-extract/tracker-xmp.c b/src/tracker-extract/tracker-xmp.c
index 5003c60..1512492 100644
--- a/src/tracker-extract/tracker-xmp.c
+++ b/src/tracker-extract/tracker-xmp.c
@@ -180,11 +180,11 @@ tracker_xmp_iter_simple_qual (XmpPtr xmp,
const gchar *qual_path = xmp_string_cstr (the_path);
const gchar *qual_value = xmp_string_cstr (the_prop);
- if (strcmp (qual_path, "xml:lang") == 0) {
+ if (g_ascii_strcasecmp (qual_path, "xml:lang") == 0) {
/* Is this a language we should ignore? */
- if (strcmp (qual_value, "x-default") != 0 &&
- strcmp (qual_value, "x-repair") != 0 &&
- strcmp (qual_value, locale) != 0) {
+ if (g_ascii_strcasecmp (qual_value, "x-default") != 0 &&
+ g_ascii_strcasecmp (qual_value, "x-repair") != 0 &&
+ g_ascii_strcasecmp (qual_value, locale) != 0) {
ignore_element = TRUE;
break;
}
@@ -218,7 +218,7 @@ fix_orientation (const gchar *orientation)
};
for (i=0; i < 8; i++) {
- if (g_strcmp0 (orientation,ostr[i]) == 0) {
+ if (orientation && ostr[i] && g_ascii_strcasecmp (orientation, ostr[i]) == 0) {
switch (i) {
default:
case 0:
@@ -267,123 +267,128 @@ tracker_xmp_iter_simple (const gchar *uri,
}
/* Dublin Core */
- if (strcmp (schema, NS_DC) == 0) {
- if (strcmp (name, "title") == 0 && !data->title) {
+ if (g_ascii_strcasecmp (schema, NS_DC) == 0) {
+ if (g_ascii_strcasecmp (name, "title") == 0 && !data->title) {
data->title = g_strdup (value);
}
- else if (strcmp (name, "rights") == 0 && !data->rights) {
+ else if (g_ascii_strcasecmp (name, "rights") == 0 && !data->rights) {
data->rights = g_strdup (value);
}
- else if (strcmp (name, "creator") == 0 && !data->creator) {
+ else if (g_ascii_strcasecmp (name, "creator") == 0 && !data->creator) {
data->creator = g_strdup (value);
}
- else if (strcmp (name, "description") == 0 && !data->description) {
+ else if (g_ascii_strcasecmp (name, "description") == 0 && !data->description) {
data->description = g_strdup (value);
}
- else if (strcmp (name, "date") == 0 && !data->date) {
+ else if (g_ascii_strcasecmp (name, "date") == 0 && !data->date) {
data->date = g_strdup (value);
}
- else if (strcmp (name, "keywords") == 0 && !data->keywords) {
+ else if (g_ascii_strcasecmp (name, "keywords") == 0 && !data->keywords) {
data->keywords = g_strdup (value);
}
- else if (strcmp (name, "subject") == 0 && !data->subject) {
+ else if (g_ascii_strcasecmp (name, "subject") == 0 && !data->subject) {
data->subject = g_strdup (value);
}
- else if (strcmp (name, "publisher") == 0 && !data->publisher) {
+ else if (g_ascii_strcasecmp (name, "publisher") == 0 && !data->publisher) {
data->publisher = g_strdup (value);
}
- else if (strcmp (name, "contributor") == 0 && !data->contributor) {
+ else if (g_ascii_strcasecmp (name, "contributor") == 0 && !data->contributor) {
data->contributor = g_strdup (value);
}
- else if (strcmp (name, "type") == 0 && !data->type) {
+ else if (g_ascii_strcasecmp (name, "type") == 0 && !data->type) {
data->type = g_strdup (value);
}
- else if (strcmp (name, "format") == 0 && !data->format) {
+ else if (g_ascii_strcasecmp (name, "format") == 0 && !data->format) {
data->format = g_strdup (value);
}
- else if (strcmp (name, "identifier") == 0 && !data->identifier) {
+ else if (g_ascii_strcasecmp (name, "identifier") == 0 && !data->identifier) {
data->identifier = g_strdup (value);
}
- else if (strcmp (name, "source") == 0 && !data->source) {
+ else if (g_ascii_strcasecmp (name, "source") == 0 && !data->source) {
data->source = g_strdup (value);
}
- else if (strcmp (name, "language") == 0 && !data->language) {
+ else if (g_ascii_strcasecmp (name, "language") == 0 && !data->language) {
data->language = g_strdup (value);
}
- else if (strcmp (name, "relation") == 0 && !data->relation) {
+ else if (g_ascii_strcasecmp (name, "relation") == 0 && !data->relation) {
data->relation = g_strdup (value);
}
- else if (strcmp (name, "coverage") == 0 && !data->coverage) {
+ else if (g_ascii_strcasecmp (name, "coverage") == 0 && !data->coverage) {
data->coverage = g_strdup (value);
}
}
/* Creative Commons */
- else if (strcmp (schema, NS_CC) == 0) {
- if (strcmp (name, "license") == 0 && !data->license) {
+ else if (g_ascii_strcasecmp (schema, NS_CC) == 0) {
+ if (g_ascii_strcasecmp (name, "license") == 0 && !data->license) {
data->license = g_strdup (value);
}
}
/* Exif basic scheme */
- else if (strcmp (schema, NS_EXIF) == 0) {
- if (strcmp (name, "Title") == 0 && !data->Title) {
+ else if (g_ascii_strcasecmp (schema, NS_EXIF) == 0) {
+ if (g_ascii_strcasecmp (name, "Title") == 0 && !data->Title) {
data->Title = g_strdup (value);
}
- else if (strcmp (name, "DateTimeOriginal") == 0 && !data->DateTimeOriginal) {
+ else if (g_ascii_strcasecmp (name, "DateTimeOriginal") == 0 && !data->DateTimeOriginal) {
data->DateTimeOriginal = g_strdup (value);
}
- else if (strcmp (name, "Artist") == 0 && !data->Artist) {
+ else if (g_ascii_strcasecmp (name, "Artist") == 0 && !data->Artist) {
data->Artist = g_strdup (value);
}
-/* else if (strcmp (name, "Software") == 0) {
+/* else if (g_ascii_strcasecmp (name, "Software") == 0) {
tracker_statement_list_insert (metadata, uri,
"Image:Software", value);
}*/
- else if (strcmp (name, "Make") == 0 && !data->Make) {
+ else if (g_ascii_strcasecmp (name, "Make") == 0 && !data->Make) {
data->Make = g_strdup (value);
}
- else if (strcmp (name, "Model") == 0 && !data->Model) {
+ else if (g_ascii_strcasecmp (name, "Model") == 0 && !data->Model) {
data->Model = g_strdup (value);
}
- else if (strcmp (name, "Orientation") == 0 && !data->Orientation) {
+ else if (g_ascii_strcasecmp (name, "Orientation") == 0 && !data->Orientation) {
data->Orientation = g_strdup (fix_orientation (value));
}
- else if (strcmp (name, "Flash") == 0 && !data->Flash) {
+ else if (g_ascii_strcasecmp (name, "Flash") == 0 && !data->Flash) {
data->Flash = g_strdup (fix_flash (value));
}
- else if (strcmp (name, "MeteringMode") == 0 && !data->MeteringMode) {
+ else if (g_ascii_strcasecmp (name, "MeteringMode") == 0 && !data->MeteringMode) {
data->MeteringMode = g_strdup (fix_metering_mode (value));
}
- /*else if (strcmp (name, "ExposureProgram") == 0) {
+ /*else if (g_ascii_strcasecmp (name, "ExposureProgram") == 0) {
tracker_statement_list_insert (metadata, uri,
"Image:ExposureProgram", value);
}*/
- else if (strcmp (name, "ExposureTime") == 0 && !data->ExposureTime) {
+ else if (g_ascii_strcasecmp (name, "ExposureTime") == 0 && !data->ExposureTime) {
data->ExposureTime = g_strdup (value);
}
- else if (strcmp (name, "FNumber") == 0 && !data->FNumber) {
+ else if (g_ascii_strcasecmp (name, "FNumber") == 0 && !data->FNumber) {
data->FNumber = g_strdup (value);
}
- else if (strcmp (name, "FocalLength") == 0 && !data->FocalLength) {
+ else if (g_ascii_strcasecmp (name, "FocalLength") == 0 && !data->FocalLength) {
data->FocalLength = g_strdup (value);
}
- else if (strcmp (name, "ISOSpeedRatings") == 0 && !data->ISOSpeedRatings) {
+ else if (g_ascii_strcasecmp (name, "ISOSpeedRatings") == 0 && !data->ISOSpeedRatings) {
data->ISOSpeedRatings = g_strdup (value);
}
- else if (strcmp (name, "WhiteBalance") == 0 && !data->WhiteBalance) {
+ else if (g_ascii_strcasecmp (name, "WhiteBalance") == 0 && !data->WhiteBalance) {
data->WhiteBalance = g_strdup (fix_white_balance (value));
}
- else if (strcmp (name, "Copyright") == 0 && !data->Copyright) {
+ else if (g_ascii_strcasecmp (name, "Copyright") == 0 && !data->Copyright) {
data->Copyright = g_strdup (value);
}
+ } else /* PDF*/ if (g_ascii_strcasecmp (schema, NS_PDF) == 0) {
+ if (g_ascii_strcasecmp (name, "keywords") == 0 && !data->keywords) {
+ data->keywords = g_strdup (value);
+ }
}
+
/* XAP (XMP)scheme */
- /*else if (strcmp (schema, NS_XAP) == 0) {
- if (strcmp (name, "Rating") == 0) {
+ /*else if (g_ascii_strcasecmp (schema, NS_XAP) == 0) {
+ if (g_ascii_strcasecmp (name, "Rating") == 0) {
tracker_statement_list_insert (metadata, uri,
"Image:Rating", value);
}
- if (strcmp (name, "MetadataDate") == 0) {
+ if (g_ascii_strcasecmp (name, "MetadataDate") == 0) {
tracker_statement_list_insert (metadata, uri,
"Image:Date", value);
}
@@ -392,8 +397,8 @@ tracker_xmp_iter_simple (const gchar *uri,
/*
GeoClue / location stuff, TODO
- else if (strcmp (schema, NS_IPTC4XMP) == 0) {
- if (strcmp (name, "Location") == 0) {
+ else if (g_ascii_strcasecmp (schema, NS_IPTC4XMP) == 0) {
+ if (g_ascii_strcasecmp (name, "Location") == 0) {
tracker_statement_list_insert (metadata, uri,
"Image:Location", value);
@@ -401,7 +406,7 @@ tracker_xmp_iter_simple (const gchar *uri,
tracker_statement_list_insert (metadata, uri,
"Image:Keywords", value);
}
- if (strcmp (name, "Sublocation") == 0) {
+ if (g_ascii_strcasecmp (name, "Sublocation") == 0) {
tracker_statement_list_insert (metadata, uri,
"Image:Sublocation", value);
@@ -411,8 +416,8 @@ tracker_xmp_iter_simple (const gchar *uri,
}
}
/ Photoshop scheme *
- else if (strcmp (schema, NS_PHOTOSHOP) == 0) {
- if (strcmp (name, "City") == 0) {
+ else if (g_ascii_strcasecmp (schema, NS_PHOTOSHOP) == 0) {
+ if (g_ascii_strcasecmp (name, "City") == 0) {
tracker_statement_list_insert (metadata, uri,
"Image:City", value);
@@ -420,7 +425,7 @@ tracker_xmp_iter_simple (const gchar *uri,
tracker_statement_list_insert (metadata, uri,
"Image:Keywords", value);
}
- else if (strcmp (name, "Country") == 0) {
+ else if (g_ascii_strcasecmp (name, "Country") == 0) {
tracker_statement_list_insert (metadata, uri,
"Image:Country", value);
@@ -529,8 +534,16 @@ insert_keywords (TrackerSparqlBuilder *metadata, const gchar *uri, gchar *keywor
for (keyw = strtok_r (keywords, ",; ", &lasts); keyw;
keyw = strtok_r (NULL, ",; ", &lasts)) {
- tracker_sparql_builder_predicate (metadata, "nie:keyword");
+ tracker_sparql_builder_predicate (metadata, "nao:hasTag");
+
+ tracker_sparql_builder_object_blank_open (metadata);
+ tracker_sparql_builder_predicate (metadata, "a");
+ tracker_sparql_builder_object (metadata, "nao:Tag");
+
+ tracker_sparql_builder_predicate (metadata, "nao:prefLabel");
tracker_sparql_builder_object_unvalidated (metadata, keyw);
+
+ tracker_sparql_builder_object_blank_close (metadata);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]