[tracker/tracker-0.6] Fixes NB#110584, Image:HasKeywords cannot be used for ImageViewer puprposes
- From: Mikael Ottela <mottela src gnome org>
- To: svn-commits-list gnome org
- Subject: [tracker/tracker-0.6] Fixes NB#110584, Image:HasKeywords cannot be used for ImageViewer puprposes
- Date: Wed, 27 May 2009 13:09:42 -0400 (EDT)
commit 1852f721ca79282721cc0805025900f76a367bd3
Author: Mikael Ottela <mikael ottela ixonos com>
Date: Wed May 27 20:06:14 2009 +0300
Fixes NB#110584, Image:HasKeywords cannot be used for ImageViewer puprposes
Fixes NB#100123, Image:Date is empty for some of the images
---
src/tracker-extract/tracker-extract-gstreamer.c | 1 -
src/tracker-extract/tracker-extract-jpeg.c | 2 +-
src/tracker-extract/tracker-extract-png.c | 1 -
src/tracker-extract/tracker-iptc.c | 17 ++++++++++++++++-
4 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/src/tracker-extract/tracker-extract-gstreamer.c b/src/tracker-extract/tracker-extract-gstreamer.c
index 0a46677..a1f3fe8 100644
--- a/src/tracker-extract/tracker-extract-gstreamer.c
+++ b/src/tracker-extract/tracker-extract-gstreamer.c
@@ -267,7 +267,6 @@ get_embedded_album_art(MetadataExtractor *extractor)
extractor->album_art_data = buffer->data;
extractor->album_art_size = buffer->size;
extractor->album_art_mime = gst_structure_get_name (caps_struct);
- g_debug ("Mime was %s", extractor->album_art_mime);
return;
}
diff --git a/src/tracker-extract/tracker-extract-jpeg.c b/src/tracker-extract/tracker-extract-jpeg.c
index 914f7b0..fd195ee 100644
--- a/src/tracker-extract/tracker-extract-jpeg.c
+++ b/src/tracker-extract/tracker-extract-jpeg.c
@@ -384,7 +384,7 @@ extract_jpeg (const gchar *filename,
*
* jpeg_calc_output_dimensions(&cinfo);
*/
-
+
marker = (struct jpeg_marker_struct *) &cinfo.marker_list;
while (marker) {
diff --git a/src/tracker-extract/tracker-extract-png.c b/src/tracker-extract/tracker-extract-png.c
index a3f8f46..38082e0 100644
--- a/src/tracker-extract/tracker-extract-png.c
+++ b/src/tracker-extract/tracker-extract-png.c
@@ -133,7 +133,6 @@ metadata_append (GHashTable *metadata, gchar *key, gchar *value, gboolean append
/* Adding certain fields also to keywords FIXME Postprocessing is evil */
if ((strcmp (key, "Image:Title") == 0) ||
(strcmp (key, "Image:Description") == 0) ) {
- metadata_append (metadata, "Image:Keywords", value, TRUE);
g_hash_table_insert (metadata,
g_strdup ("Image:HasKeywords"),
tracker_escape_metadata ("1"));
diff --git a/src/tracker-extract/tracker-iptc.c b/src/tracker-extract/tracker-iptc.c
index 8f0edaf..7d88402 100644
--- a/src/tracker-extract/tracker-iptc.c
+++ b/src/tracker-extract/tracker-iptc.c
@@ -26,11 +26,16 @@
#include <glib.h>
#include <string.h>
+#include <libtracker-common/tracker-type-utils.h>
+#include <libtracker-common/tracker-file-utils.h>
+
#ifdef HAVE_LIBIPTCDATA
#include <libiptcdata/iptc-data.h>
#include <libiptcdata/iptc-dataset.h>
+#define IPTC_DATE_FORMAT "%Y %m %d"
+
typedef gchar * (*IptcPostProcessor) (const gchar*);
typedef struct {
@@ -42,12 +47,13 @@ typedef struct {
} IptcTagType;
static gchar *fix_iptc_orientation (const gchar *orientation);
+static gchar *date_to_iso8601 (const gchar *date);
static IptcTagType iptctags[] = {
{ 2, IPTC_TAG_KEYWORDS, "Image:Keywords", TRUE, NULL },
/* { 2, IPTC_TAG_CONTENT_LOC_NAME, "Image:Location", NULL }, */
{ 2, IPTC_TAG_SUBLOCATION, "Image:Location", FALSE, NULL },
- { 2, IPTC_TAG_DATE_CREATED, "Image:Date", FALSE, NULL },
+ { 2, IPTC_TAG_DATE_CREATED, "Image:Date", FALSE, date_to_iso8601 },
{ 2, IPTC_TAG_BYLINE, "Image:Creator", FALSE, NULL },
{ 2, IPTC_TAG_CITY, "Image:City", FALSE, NULL },
{ 2, IPTC_TAG_COUNTRY_NAME, "Image:Country", FALSE, NULL },
@@ -122,6 +128,15 @@ metadata_append (GHashTable *metadata, gchar *key, gchar *value, gboolean append
}
static gchar *
+date_to_iso8601 (const gchar *date)
+{
+ /* From: ex; date "2007:04:15 15:35:58"
+ * To : ex. "2007-04-15T17:35:58+0200 where +0200 is localtime
+ */
+ return tracker_date_format_to_iso8601 (date, IPTC_DATE_FORMAT);
+}
+
+static gchar *
fix_iptc_orientation (const gchar *orientation)
{
if (strcmp(orientation, "P")==0) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]