[tracker/tracker-store] tracker-indexer: Port evolution module to SparqlBuilder
- From: Jürg Billeter <juergbi src gnome org>
- To: svn-commits-list gnome org
- Subject: [tracker/tracker-store] tracker-indexer: Port evolution module to SparqlBuilder
- Date: Wed, 24 Jun 2009 06:50:31 +0000 (UTC)
commit ccbdb386e42294319df5e9e7a6a454b7643737ec
Author: Jürg Billeter <j bitron ch>
Date: Wed Jun 24 08:41:41 2009 +0200
tracker-indexer: Port evolution module to SparqlBuilder
src/libtracker-common/tracker-sparql-builder.vala | 6 +++++
src/tracker-indexer/modules/evolution-imap.c | 26 ++++++++++++++------
src/tracker-indexer/modules/evolution-pop.c | 25 +++++++++++++------
3 files changed, 41 insertions(+), 16 deletions(-)
---
diff --git a/src/libtracker-common/tracker-sparql-builder.vala b/src/libtracker-common/tracker-sparql-builder.vala
index 5a7829a..635c60b 100644
--- a/src/libtracker-common/tracker-sparql-builder.vala
+++ b/src/libtracker-common/tracker-sparql-builder.vala
@@ -162,6 +162,12 @@ public class Tracker.SparqlBuilder : Object {
object (literal.to_string ());
}
+ public void object_date (time_t literal) {
+ var tm = Time.gm (literal);
+
+ object_string ("%04d-%02d-%02dT%02d:%02d:%02d".printf (tm.year + 1900, tm.month + 1, tm.day, tm.hour, tm.minute, tm.second));
+ }
+
public void object_blank_open ()
requires (state == State.PREDICATE || state == State.OBJECT)
{
diff --git a/src/tracker-indexer/modules/evolution-imap.c b/src/tracker-indexer/modules/evolution-imap.c
index 59f07e1..56c1730 100644
--- a/src/tracker-indexer/modules/evolution-imap.c
+++ b/src/tracker-indexer/modules/evolution-imap.c
@@ -913,16 +913,24 @@ get_message_metadata (TrackerModuleFile *file)
metadata = tracker_module_metadata_new ();
- tracker_module_metadata_add_string (metadata, uri, RDF_TYPE, NMO_PREFIX "Email");
+ tracker_sparql_builder_subject_iri (metadata->sparql, uri);
+ tracker_sparql_builder_predicate (metadata->sparql, "a");
+ tracker_sparql_builder_object (metadata->sparql, "nmo:Email");
- tracker_module_metadata_add_date (metadata, uri, METADATA_EMAIL_DATE, t);
- tracker_module_metadata_add_string (metadata, uri, METADATA_EMAIL_SENDER, from);
- tracker_module_metadata_add_string (metadata, uri, METADATA_EMAIL_SUBJECT, subject);
+ tracker_sparql_builder_predicate (metadata->sparql, "nmo:sentDate");
+ tracker_sparql_builder_object_date (metadata->sparql, &t);
+
+ tracker_sparql_builder_predicate (metadata->sparql, "nmo:sender");
+ tracker_sparql_builder_object_string (metadata->sparql, from);
+
+ tracker_sparql_builder_predicate (metadata->sparql, "nmo:messageSubject");
+ tracker_sparql_builder_object_string (metadata->sparql, subject);
list = get_recipient_list (to);
for (l = list; l; l = l->next) {
- tracker_module_metadata_add_string (metadata, uri, METADATA_EMAIL_SENT_TO, l->data);
+ tracker_sparql_builder_predicate (metadata->sparql, "nmo:to");
+ tracker_sparql_builder_object_string (metadata->sparql, l->data);
g_free (l->data);
}
@@ -931,7 +939,8 @@ get_message_metadata (TrackerModuleFile *file)
list = get_recipient_list (cc);
for (l = list; l; l = l->next) {
- tracker_module_metadata_add_string (metadata, uri, METADATA_EMAIL_CC, l->data);
+ tracker_sparql_builder_predicate (metadata->sparql, "nmo:cc");
+ tracker_sparql_builder_object_string (metadata->sparql, l->data);
g_free (l->data);
}
@@ -1056,8 +1065,9 @@ get_attachment_metadata (TrackerModuleFile *file,
* Evolution opening the specific attachment anyway */
uri = g_strdup_printf ("%s#%s", tmp, mime_file);
-
- tracker_module_metadata_add_string (metadata, uri, RDF_TYPE, NMO_PREFIX "Attachment");
+ tracker_sparql_builder_subject_iri (metadata->sparql, uri);
+ tracker_sparql_builder_predicate (metadata->sparql, "a");
+ tracker_sparql_builder_object (metadata->sparql, "nmo:Attachment");
evolution_common_get_wrapper_metadata (wrapper, metadata, uri);
diff --git a/src/tracker-indexer/modules/evolution-pop.c b/src/tracker-indexer/modules/evolution-pop.c
index 1cbfabe..549cb9c 100644
--- a/src/tracker-indexer/modules/evolution-pop.c
+++ b/src/tracker-indexer/modules/evolution-pop.c
@@ -339,18 +339,25 @@ get_message_metadata (TrackerModuleFile *file, GMimeMessage *message)
metadata = tracker_module_metadata_new ();
- tracker_module_metadata_add_string (metadata, uri, RDF_TYPE, NMO_PREFIX "Email");
+ tracker_sparql_builder_subject_iri (metadata->sparql, uri);
+ tracker_sparql_builder_predicate (metadata->sparql, "a");
+ tracker_sparql_builder_object (metadata->sparql, "nmo:Email");
g_mime_message_get_date (message, &t, NULL);
+ tracker_sparql_builder_predicate (metadata->sparql, "nmo:sentDate");
+ tracker_sparql_builder_object_date (metadata->sparql, &t);
- tracker_module_metadata_add_date (metadata, uri, METADATA_EMAIL_DATE, t);
- tracker_module_metadata_add_string (metadata, uri, METADATA_EMAIL_SENDER, g_mime_message_get_sender (message));
- tracker_module_metadata_add_string (metadata, uri, METADATA_EMAIL_SUBJECT, g_mime_message_get_subject (message));
+ tracker_sparql_builder_predicate (metadata->sparql, "nmo:sender");
+ tracker_sparql_builder_object_string (metadata->sparql, g_mime_message_get_sender (message));
+
+ tracker_sparql_builder_predicate (metadata->sparql, "nmo:messageSubject");
+ tracker_sparql_builder_object_string (metadata->sparql, g_mime_message_get_subject (message));
list = get_message_recipients (message, GMIME_RECIPIENT_TYPE_TO);
for (l = list; l; l = l->next) {
- tracker_module_metadata_add_string (metadata, uri, METADATA_EMAIL_SENT_TO, l->data);
+ tracker_sparql_builder_predicate (metadata->sparql, "nmo:to");
+ tracker_sparql_builder_object_string (metadata->sparql, l->data);
g_free (l->data);
}
@@ -359,7 +366,8 @@ get_message_metadata (TrackerModuleFile *file, GMimeMessage *message)
list = get_message_recipients (message, GMIME_RECIPIENT_TYPE_CC);
for (l = list; l; l = l->next) {
- tracker_module_metadata_add_string (metadata, uri, METADATA_EMAIL_CC, l->data);
+ tracker_sparql_builder_predicate (metadata->sparql, "nmo:cc");
+ tracker_sparql_builder_object_string (metadata->sparql, l->data);
g_free (l->data);
}
@@ -394,8 +402,9 @@ get_attachment_metadata (TrackerModuleFile *file, GMimePart *part)
* Evolution opening the specific attachment anyway */
uri = g_strdup_printf ("%s#%s", tmp, g_mime_part_get_content_id (part));
-
- tracker_module_metadata_add_string (metadata, uri, RDF_TYPE, NMO_PREFIX "Attachment");
+ tracker_sparql_builder_subject_iri (metadata->sparql, uri);
+ tracker_sparql_builder_predicate (metadata->sparql, "a");
+ tracker_sparql_builder_object (metadata->sparql, "nmo:Attachment");
evolution_common_get_wrapper_metadata (content, metadata, uri);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]