[tracker-miners/wip/carlosg/indexed-folder-checks: 1/2] libtracker-miner: Ensure to make all index roots a tracker:IndexedFolder




commit 5dfcea8a45c1ccd805e45d5cd6e94f7b4cd577e7
Author: Carlos Garnacho <carlosg gnome org>
Date:   Sat Oct 9 14:12:53 2021 +0200

    libtracker-miner: Ensure to make all index roots a tracker:IndexedFolder
    
    In the case of receiving a symlink to a folder as a configured folder, we
    still want to make it be a tracker:IndexedFolder, and have all its contents
    set that as the nie:dataSource.
    
    Fixes: https://gitlab.gnome.org/GNOME/tracker-miners/-/issues/199

 src/miners/fs/tracker-miner-files.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
---
diff --git a/src/miners/fs/tracker-miner-files.c b/src/miners/fs/tracker-miner-files.c
index edb43c9d8..10de7fe2a 100644
--- a/src/miners/fs/tracker-miner-files.c
+++ b/src/miners/fs/tracker-miner-files.c
@@ -2062,6 +2062,7 @@ miner_files_process_file (TrackerMinerFS      *fs,
                           gboolean             create)
 {
        TrackerMinerFilesPrivate *priv;
+       TrackerIndexingTree *indexing_tree;
        TrackerResource *resource = NULL, *folder_resource = NULL, *graph_file = NULL;
        const gchar *mime_type, *graph;
        gchar *parent_urn;
@@ -2081,6 +2082,7 @@ miner_files_process_file (TrackerMinerFS      *fs,
 
        priv->start_extractor = TRUE;
        uri = g_file_get_uri (file);
+       indexing_tree = tracker_miner_fs_get_indexing_tree (fs);
        mime_type = g_file_info_get_content_type (file_info);
 
        is_directory = (g_file_info_get_file_type (file_info) == G_FILE_TYPE_DIRECTORY ?
@@ -2156,7 +2158,7 @@ miner_files_process_file (TrackerMinerFS      *fs,
        /* The URL of the DataObject (because IE = DO, this is correct) */
        tracker_resource_set_string (resource, "nie:url", uri);
 
-       if (is_directory) {
+       if (is_directory || tracker_indexing_tree_file_is_root (indexing_tree, file)) {
                folder_resource =
                        miner_files_create_folder_information_element (TRACKER_MINER_FILES (fs),
                                                                       file,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]