tracker r1146 - trunk/src/trackerd
- From: jamiemcc svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r1146 - trunk/src/trackerd
- Date: Mon, 25 Feb 2008 01:58:32 +0000 (GMT)
Author: jamiemcc
Date: Mon Feb 25 01:58:32 2008
New Revision: 1146
URL: http://svn.gnome.org/viewvc/tracker?rev=1146&view=rev
Log:
added web history
Modified:
trunk/src/trackerd/tracker-db.c
trunk/src/trackerd/tracker-dbus-methods.c
trunk/src/trackerd/tracker-utils.c
trunk/src/trackerd/tracker-utils.h
trunk/src/trackerd/trackerd.c
Modified: trunk/src/trackerd/tracker-db.c
==============================================================================
--- trunk/src/trackerd/tracker-db.c (original)
+++ trunk/src/trackerd/tracker-db.c Mon Feb 25 01:58:32 2008
@@ -918,9 +918,9 @@
void
tracker_db_index_file (DBConnection *db_con, FileInfo *info, const char *attachment_uri, const char *attachment_service)
{
- char *services_with_metadata[] = {"Documents", "Music", "Videos", "Images", NULL};
- char *services_with_text[] = {"Documents", "Development", "Text", NULL};
- char *services_with_thumbs[] = {"Documents", "Images", "Videos", NULL};
+ char *services_with_metadata[] = {"Documents", "Music", "Videos", "Images","WebHistory", NULL};
+ char *services_with_text[] = {"Documents", "Development", "Text", "WebHistory",NULL};
+ char *services_with_thumbs[] = {"Documents", "Images", "Videos", "WebHistory",NULL};
GHashTable *meta_table;
const char *ext;
@@ -993,6 +993,41 @@
tracker_add_metadata_to_table (meta_table, g_strdup ("File:Modified"), tracker_date_to_str (info->mtime));
tracker_add_metadata_to_table (meta_table, g_strdup ("File:Accessed"), tracker_date_to_str (info->atime));
+ /* need to add special data for web history */
+ if ( attachment_service != NULL && strcmp(attachment_service,"WebHistory") == 0) {
+ gchar* meta_file = g_strconcat(dirname,"/.",filename,NULL);
+ FILE* fp = g_fopen(meta_file, "r");
+ if (fp != NULL) {
+ char buf[512];
+ fgets(buf,512,fp); //get the first line, it is URL for this web history object
+ tracker_debug("URL for this WebHistory is %s\n",buf);
+ tracker_add_metadata_to_table (meta_table, g_strdup ("Doc:URL"), g_strdup(buf));
+ fgets(buf,512,fp);
+ fgets(buf,512,fp);
+ fgets(buf,512,fp);
+ fgets(buf,512,fp); // get the keywords for this file
+ if (buf != NULL) {
+ /* format like t:dc:keyword=xxx */
+ gchar** keys = g_strsplit(buf,"=",0);
+ if (keys != NULL && strcmp(keys[0],"t:dc:keyword") == 0) {
+ char doc_keyword[512];
+ int i;
+ for (i=0; i<512; i++) doc_keyword[i] = NULL;
+
+ strncat(doc_keyword,keys[1],strlen(keys[1])-1);
+ tracker_debug("keywords for this is %s\n",doc_keyword);
+ tracker_add_metadata_to_table (meta_table, g_strdup ("Doc:Keywords"), g_strdup(doc_keyword));
+ g_strfreev(keys);
+ }
+ }
+
+ fclose(fp);
+ }
+ g_free(meta_file);
+ }
+
+
+
is_external_service = g_str_has_prefix (info->mime, "service/");
is_file_indexable = (!info->is_directory && (strcmp (info->mime, "unknown") != 0) && (strcmp (info->mime, "symlink") != 0) && tracker_file_is_indexable (info->uri));
@@ -1061,5 +1096,9 @@
tracker_db_index_file (db_con, info, NULL, "GaimConversations");
}
-
+void
+tracker_db_index_webhistory(DBConnection *db_con, FileInfo *info)
+{
+ tracker_db_index_file (db_con, info, NULL, "WebHistory");
+}
Modified: trunk/src/trackerd/tracker-dbus-methods.c
==============================================================================
--- trunk/src/trackerd/tracker-dbus-methods.c (original)
+++ trunk/src/trackerd/tracker-dbus-methods.c Mon Feb 25 01:58:32 2008
@@ -472,6 +472,14 @@
if (strcasecmp (option, "Pause") == 0) {
tracker->pause_manual = value;
+
+ if (value) {
+ tracker_log ("trackerd is paused by user");
+ } else {
+ tracker_log ("trackerd is unpaused by user");
+ }
+
+
} else if (strcasecmp (option, "FastMerges") == 0) {
tracker->fast_merges = value;
tracker_log ("fast merges set to %d", value);
Modified: trunk/src/trackerd/tracker-utils.c
==============================================================================
--- trunk/src/trackerd/tracker-utils.c (original)
+++ trunk/src/trackerd/tracker-utils.c Mon Feb 25 01:58:32 2008
@@ -3873,7 +3873,7 @@
return FALSE;
}
- if ((st.f_bavail * 100 / st.f_blocks) <= tracker->low_diskspace_limit) {
+ if (((long long) st.f_bavail * 100 / st.f_blocks) <= tracker->low_diskspace_limit) {
tracker_error ("Disk space is low!");
return TRUE;
}
Modified: trunk/src/trackerd/tracker-utils.h
==============================================================================
--- trunk/src/trackerd/tracker-utils.h (original)
+++ trunk/src/trackerd/tracker-utils.h Mon Feb 25 01:58:32 2008
@@ -124,6 +124,7 @@
INDEX_CONFIG,
INDEX_APPLICATIONS,
INDEX_FILES,
+ INDEX_WEBHISTORY,
INDEX_CRAWL_FILES,
INDEX_CONVERSATIONS,
INDEX_EXTERNAL,
Modified: trunk/src/trackerd/trackerd.c
==============================================================================
--- trunk/src/trackerd/trackerd.c (original)
+++ trunk/src/trackerd/trackerd.c Mon Feb 25 01:58:32 2008
@@ -914,6 +914,9 @@
} else if (strcmp (service_info, "Files") == 0) {
tracker_db_index_file (db_con, info, NULL, NULL);
+ } else if (strcmp (service_info, "WebHistory") ==0 ) {
+ tracker_db_index_webhistory (db_con, info);
+
} else if (g_str_has_suffix (service_info, "Conversations")) {
tracker_db_index_conversation (db_con, info);
@@ -1238,7 +1241,28 @@
break;
-
+ case INDEX_WEBHISTORY: {
+
+ gchar *firefox_dir;
+ GSList *list = NULL;
+ firefox_dir = g_build_filename(g_get_home_dir(),".xesam/Firefox/ToIndex",NULL);
+ if (tracker_file_is_valid(firefox_dir)) {
+ list = g_slist_prepend( NULL, firefox_dir);
+
+ tracker_log("Starting firefox web history indexing...");
+ tracker_add_service_path("WebHistory",firefox_dir);
+
+ tracker_db_start_transaction (db_con->cache);
+ tracker_add_root_directories(list);
+ process_directory_list(db_con,list, TRUE);
+ tracker_db_end_transaction (db_con->cache);
+ g_slist_free(list);
+
+ }
+ g_free(firefox_dir);
+ }
+ break;
+
case INDEX_EXTERNAL:
break;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]