[tracker-miners/wip/jfelder/external-reference-fixes: 2/4] tracker-extract-mp3: Use add_relation logic for hasExternalReference



commit 9fa415baf58f30822d92e87a1fbb81d11b29dae4
Author: Jean Felder <jfelder src gnome org>
Date:   Sun Sep 1 16:01:01 2019 +0200

    tracker-extract-mp3: Use add_relation logic for hasExternalReference
    
    tracker:hasExternalReference is a multi-valued property.

 src/tracker-extract/tracker-extract-mp3.c                  | 11 +++--------
 .../test-extraction-data/audio/audio-test-1.expected.json  | 14 ++++++++------
 .../test-extraction-data/audio/audio-test-2.expected.json  | 14 ++++++++------
 3 files changed, 19 insertions(+), 20 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract-mp3.c b/src/tracker-extract/tracker-extract-mp3.c
index b52437730..e9ccd9211 100644
--- a/src/tracker-extract/tracker-extract-mp3.c
+++ b/src/tracker-extract/tracker-extract-mp3.c
@@ -2770,7 +2770,7 @@ tracker_extract_get_metadata (TrackerExtractInfo *info)
                        TrackerResource *mb_artist_id = 
tracker_extract_new_external_reference("https://musicbrainz.org/doc/Artist";,
                                                                                               
md.mb_artist_id);
 
-                       tracker_resource_set_relation (md.performer, "tracker:hasExternalReference", 
mb_artist_id);
+                       tracker_resource_add_relation (md.performer, "tracker:hasExternalReference", 
mb_artist_id);
                        g_object_unref (mb_artist_id);
                }
        }
@@ -2818,7 +2818,7 @@ tracker_extract_get_metadata (TrackerExtractInfo *info)
                TrackerResource *mb_recording_id = 
tracker_extract_new_external_reference("https://musicbrainz.org/doc/Recording";,
                                                                                          md.mb_recording_id);
 
-               tracker_resource_set_relation (main_resource, "tracker:hasExternalReference", 
mb_recording_id);
+               tracker_resource_add_relation (main_resource, "tracker:hasExternalReference", 
mb_recording_id);
                g_object_unref (mb_recording_id);
        }
 
@@ -2826,12 +2826,7 @@ tracker_extract_get_metadata (TrackerExtractInfo *info)
                TrackerResource *mb_track_id = 
tracker_extract_new_external_reference("https://musicbrainz.org/doc/Track";,
                                                                                      md.mb_track_id);
 
-               if (md.mb_recording_id) {
-                       tracker_resource_add_relation (main_resource, "tracker:hasExternalReference", 
mb_track_id);
-               } else {
-                       tracker_resource_set_relation (main_resource, "tracker:hasExternalReference", 
mb_track_id);
-               }
-
+               tracker_resource_add_relation (main_resource, "tracker:hasExternalReference", mb_track_id);
                g_object_unref (mb_track_id);
        }
 
diff --git a/tests/functional-tests/test-extraction-data/audio/audio-test-1.expected.json 
b/tests/functional-tests/test-extraction-data/audio/audio-test-1.expected.json
index a20a519d3..ed086999d 100644
--- a/tests/functional-tests/test-extraction-data/audio/audio-test-1.expected.json
+++ b/tests/functional-tests/test-extraction-data/audio/audio-test-1.expected.json
@@ -19,12 +19,14 @@
         "nmm:performer": {
             "@type": "nmm:Artist",
             "nmm:artistName": "AbBaby",
-            "tracker:hasExternalReference": {
-                "@id": "tracker:ExternalReference:https:%2F%2Fmusicbrainz.org%2Fdoc%2FArtist",
-                "@type": "tracker:ExternalReference",
-                "tracker:referenceSource": "https://musicbrainz.org/doc/Artist";,
-                "tracker:referenceIdentifier": "234561"
-            }
+            "tracker:hasExternalReference": [
+                {
+                    "@id": "tracker:ExternalReference:https:%2F%2Fmusicbrainz.org%2Fdoc%2FArtist",
+                    "@type": "tracker:ExternalReference",
+                    "tracker:referenceSource": "https://musicbrainz.org/doc/Artist";,
+                    "tracker:referenceIdentifier": "234561"
+                }
+            ]
         },
         "nmm:musicAlbum": {
             "@type": "nmm:MusicAlbum",
diff --git a/tests/functional-tests/test-extraction-data/audio/audio-test-2.expected.json 
b/tests/functional-tests/test-extraction-data/audio/audio-test-2.expected.json
index 6941dc0b6..988fdeb4e 100644
--- a/tests/functional-tests/test-extraction-data/audio/audio-test-2.expected.json
+++ b/tests/functional-tests/test-extraction-data/audio/audio-test-2.expected.json
@@ -17,12 +17,14 @@
         "nmm:performer": {
             "@type": "nmm:Artist",
             "nmm:artistName": "Anna Abreu",
-            "tracker:hasExternalReference": {
-                "@id": "tracker:ExternalReference:https:%2F%2Fmusicbrainz.org%2Fdoc%2FArtist",
-                "@type": "tracker:ExternalReference",
-                "tracker:referenceSource": "https://musicbrainz.org/doc/Artist";,
-                "tracker:referenceIdentifier": "234561"
-            }
+            "tracker:hasExternalReference": [
+                {
+                    "@id": "tracker:ExternalReference:https:%2F%2Fmusicbrainz.org%2Fdoc%2FArtist",
+                    "@type": "tracker:ExternalReference",
+                    "tracker:referenceSource": "https://musicbrainz.org/doc/Artist";,
+                    "tracker:referenceIdentifier": "234561"
+                }
+            ]
         },
         "nmm:musicAlbum": {
             "@type": "nmm:MusicAlbum",


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