on master help sign in
[enh] wikidata engine : add links to musicbrainz
63a0328dalf
searx/engines/wikidata.py+22−1
@@ -69,13 +69,34 @@ def getDetail(jsonresponse, wikidata_id, language):
69 add_url(urls, 'Wikiquote (' + language + ')', get_wikilink(result, language + 'wikiquote'))
69 add_url(urls, 'Wikiquote (' + language + ')', get_wikilink(result, language + 'wikiquote'))
70 add_url(urls, 'Wikiquote (en)', get_wikilink(result, 'enwikiquote'))
70 add_url(urls, 'Wikiquote (en)', get_wikilink(result, 'enwikiquote'))
71
71
72−
73 add_url(urls, 'Commons wiki', get_wikilink(result, 'commonswiki'))
72 add_url(urls, 'Commons wiki', get_wikilink(result, 'commonswiki'))
74
73
75 add_url(urls, 'Location', get_geolink(claims, 'P625', None))
74 add_url(urls, 'Location', get_geolink(claims, 'P625', None))
76
75
77 add_url(urls, 'Wikidata', 'https://www.wikidata.org/wiki/' + wikidata_id + '?uselang='+ language)
76 add_url(urls, 'Wikidata', 'https://www.wikidata.org/wiki/' + wikidata_id + '?uselang='+ language)
78
77
78+ musicbrainz_work_id = get_string(claims, 'P435')
79+ if musicbrainz_work_id != None:
80+ add_url(urls, 'MusicBrainz', 'http://musicbrainz.org/work/' + musicbrainz_work_id)
81+
82+ musicbrainz_artist_id = get_string(claims, 'P434')
83+ if musicbrainz_artist_id != None:
84+ add_url(urls, 'MusicBrainz', 'http://musicbrainz.org/artist/' + musicbrainz_artist_id)
85+
86+ musicbrainz_release_group_id = get_string(claims, 'P436')
87+ if musicbrainz_release_group_id != None:
88+ add_url(urls, 'MusicBrainz', 'http://musicbrainz.org/release-group/' + musicbrainz_release_group_id)
89+
90+ musicbrainz_label_id = get_string(claims, 'P966')
91+ if musicbrainz_label_id != None:
92+ add_url(urls, 'MusicBrainz', 'http://musicbrainz.org/label/' + musicbrainz_label_id)
93+
94+ # musicbrainz_area_id = get_string(claims, 'P982')
95+ # P1407 MusicBrainz series ID
96+ # P1004 MusicBrainz place ID
97+ # P1330 MusicBrainz instrument ID
98+ # P1407 MusicBrainz series ID
99+
79 postal_code = get_string(claims, 'P281', None)
100 postal_code = get_string(claims, 'P281', None)
80 if postal_code != None:
101 if postal_code != None:
81 attributes.append({'label' : 'Postal code(s)', 'value' : postal_code})
102 attributes.append({'label' : 'Postal code(s)', 'value' : postal_code})