[tracker/evolution] Code reuse (will squash this)
- From: Philip Van Hoof <pvanhoof src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [tracker/evolution] Code reuse (will squash this)
- Date: Thu, 24 Sep 2009 10:41:55 +0000 (UTC)
commit 3a9a6effd180db1c5ef6f50e3a3eff8b5d054983
Author: Philip Van Hoof <philip codeminded be>
Date: Thu Sep 24 12:40:46 2009 +0200
Code reuse (will squash this)
src/plugins/evolution/tracker-evolution-plugin.c | 173 +++++++---------------
1 files changed, 56 insertions(+), 117 deletions(-)
---
diff --git a/src/plugins/evolution/tracker-evolution-plugin.c b/src/plugins/evolution/tracker-evolution-plugin.c
index 8031837..0016c1f 100644
--- a/src/plugins/evolution/tracker-evolution-plugin.c
+++ b/src/plugins/evolution/tracker-evolution-plugin.c
@@ -332,11 +332,12 @@ send_sparql_commit (TrackerEvolutionPlugin *self, gboolean update)
if (priv->client) {
if (update) {
+ gchar *date_s = tracker_date_to_string (time (NULL));
gchar *update = g_strdup_printf ("DELETE { <" DATASOURCE_URN "> nie:contentLastModified ?d } "
"WHERE { <" DATASOURCE_URN "> a nie:InformationElement ; nie:contentLastModified ?d } \n"
"INSERT { <" DATASOURCE_URN "> nie:contentLastModified \"%s\" }",
- tracker_date_to_string (time (NULL)));
-
+ date_s);
+ g_free (date_s);
tracker_resources_batch_sparql_update_async (priv->client, update,
on_replied,
g_object_ref (self));
@@ -349,6 +350,46 @@ send_sparql_commit (TrackerEvolutionPlugin *self, gboolean update)
}
}
+static void
+add_contact (TrackerSparqlBuilder *sparql, const gchar *predicate, const gchar *uri, gchar *value)
+{
+ gchar *email_uri, *email = NULL, *fullname = NULL;
+
+ get_email_and_fullname (value, &email, &fullname);
+
+ email_uri = tracker_uri_printf_escaped ("mailto:%s", email);
+
+ tracker_sparql_builder_subject_iri (sparql, email_uri);
+ tracker_sparql_builder_predicate (sparql, "rdf:type");
+ tracker_sparql_builder_object (sparql, "nco:EmailAddress");
+
+ tracker_sparql_builder_subject_iri (sparql, email_uri);
+ tracker_sparql_builder_predicate (sparql, "nco:emailAddress");
+ tracker_sparql_builder_object_string (sparql, email);
+
+ tracker_sparql_builder_subject_iri (sparql, uri);
+ tracker_sparql_builder_predicate (sparql, predicate);
+
+ tracker_sparql_builder_object_blank_open (sparql);
+
+ tracker_sparql_builder_predicate (sparql, "rdf:type");
+ tracker_sparql_builder_object (sparql, "nco:Contact");
+
+ if (fullname) {
+ tracker_sparql_builder_predicate (sparql, "nco:fullname");
+ tracker_sparql_builder_object_string (sparql, fullname);
+ g_free (fullname);
+ }
+
+ tracker_sparql_builder_predicate (sparql, "nco:hasEmailAddress");
+ tracker_sparql_builder_object_iri (sparql, email_uri);
+
+ tracker_sparql_builder_object_blank_close (sparql);
+
+ g_free (email_uri);
+ g_free (email);
+}
+
static void
process_fields (TrackerSparqlBuilder *sparql, gchar *uid, guint flags,
time_t sent, gchar *subject, gchar *from, gchar *to,
@@ -418,131 +459,29 @@ process_fields (TrackerSparqlBuilder *sparql, gchar *uid, guint flags,
g_ptr_array_add (values_temp, g_strdup ((flags & CAMEL_MESSAGE_FORWARDED) ? "True" : "False"));
*/
- if (to && (arr = g_strsplit (to, ",", -1)) != NULL) {;
- for (i = 0; arr[i]; i++) {
- g_strstrip (arr[i]);
-
- if (arr[i] && g_utf8_validate (arr[i], -1, NULL)) {
- gchar *email_uri, *email = NULL, *fullname = NULL;
-
- get_email_and_fullname (arr[i], &email, &fullname);
-
- email_uri = tracker_uri_printf_escaped ("mailto:%s", email);
-
- tracker_sparql_builder_subject_iri (sparql, email_uri);
- tracker_sparql_builder_predicate (sparql, "rdf:type");
- tracker_sparql_builder_object (sparql, "nco:EmailAddress");
-
- tracker_sparql_builder_subject_iri (sparql, email_uri);
- tracker_sparql_builder_predicate (sparql, "nco:emailAddress");
- tracker_sparql_builder_object_string (sparql, email);
-
- tracker_sparql_builder_subject_iri (sparql, uri);
- tracker_sparql_builder_predicate (sparql, "nmo:to");
-
- tracker_sparql_builder_object_blank_open (sparql);
-
- tracker_sparql_builder_predicate (sparql, "rdf:type");
- tracker_sparql_builder_object (sparql, "nco:Contact");
+ if (to && (arr = g_strsplit (to, ",", -1)) != NULL) {
+ for (i = 0; arr[i]; i++) {
+ g_strstrip (arr[i]);
- if (fullname) {
- tracker_sparql_builder_predicate (sparql, "nco:fullname");
- tracker_sparql_builder_object_string (sparql, fullname);
- g_free (fullname);
+ if (g_utf8_validate (arr[i], -1, NULL)) {
+ add_contact (sparql, "nmo:to", uri, arr[i]);
}
-
- tracker_sparql_builder_predicate (sparql, "nco:hasEmailAddress");
- tracker_sparql_builder_object_iri (sparql, email_uri);
-
- tracker_sparql_builder_object_blank_close (sparql);
-
- g_free (email_uri);
- g_free (email);
}
- }
- g_strfreev (arr);
+ g_strfreev (arr);
}
if (from && g_utf8_validate (from, -1, NULL)) {
- gchar *email_uri, *email = NULL, *fullname = NULL;
-
- get_email_and_fullname (from, &email, &fullname);
-
- email_uri = tracker_uri_printf_escaped ("mailto:%s", email);
-
- tracker_sparql_builder_subject_iri (sparql, email_uri);
- tracker_sparql_builder_predicate (sparql, "rdf:type");
- tracker_sparql_builder_object (sparql, "nco:EmailAddress");
-
- tracker_sparql_builder_subject_iri (sparql, email_uri);
- tracker_sparql_builder_predicate (sparql, "nco:emailAddress");
- tracker_sparql_builder_object_string (sparql, email);
-
- tracker_sparql_builder_subject_iri (sparql, uri);
- tracker_sparql_builder_predicate (sparql, "nmo:from");
-
- tracker_sparql_builder_object_blank_open (sparql);
-
- tracker_sparql_builder_predicate (sparql, "rdf:type");
- tracker_sparql_builder_object (sparql, "nco:Contact");
-
- if (fullname) {
- tracker_sparql_builder_predicate (sparql, "nco:fullname");
- tracker_sparql_builder_object_string (sparql, fullname);
- g_free (fullname);
- }
-
- tracker_sparql_builder_predicate (sparql, "nco:hasEmailAddress");
- tracker_sparql_builder_object_iri (sparql, email_uri);
-
- tracker_sparql_builder_object_blank_close (sparql);
-
- g_free (email_uri);
- g_free (email);
+ add_contact (sparql, "nmo:from", uri, arr[i]);
}
if (cc && (arr = g_strsplit (cc, ",", -1)) != NULL) {
- for (i = 0; arr[i]; i++) {
- g_strstrip (arr[i]);
- if (arr[i] && g_utf8_validate (arr[i], -1, NULL)) {
- gchar *email_uri, *email = NULL, *fullname = NULL;
-
- get_email_and_fullname (arr[i], &email, &fullname);
-
- email_uri = tracker_uri_printf_escaped ("mailto:%s", email);
-
- tracker_sparql_builder_subject_iri (sparql, email_uri);
- tracker_sparql_builder_predicate (sparql, "rdf:type");
- tracker_sparql_builder_object (sparql, "nco:EmailAddress");
-
- tracker_sparql_builder_subject_iri (sparql, email_uri);
- tracker_sparql_builder_predicate (sparql, "nco:emailAddress");
- tracker_sparql_builder_object_string (sparql, email);
-
- tracker_sparql_builder_subject_iri (sparql, uri);
- tracker_sparql_builder_predicate (sparql, "nmo:cc");
-
- tracker_sparql_builder_object_blank_open (sparql);
-
- tracker_sparql_builder_predicate (sparql, "rdf:type");
- tracker_sparql_builder_object (sparql, "nco:Contact");
-
- if (fullname) {
- tracker_sparql_builder_predicate (sparql, "nco:fullname");
- tracker_sparql_builder_object_string (sparql, fullname);
- g_free (fullname);
+ for (i = 0; arr[i]; i++) {
+ g_strstrip (arr[i]);
+ if (g_utf8_validate (arr[i], -1, NULL)) {
+ add_contact (sparql, "nmo:cc", uri, arr[i]);
}
-
- tracker_sparql_builder_predicate (sparql, "nco:hasEmailAddress");
- tracker_sparql_builder_object_iri (sparql, email_uri);
-
- tracker_sparql_builder_object_blank_close (sparql);
-
- g_free (email_uri);
- g_free (email);
- }
- }
- g_strfreev (arr);
+ }
+ g_strfreev (arr);
}
#if 0
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]