Modul:External links/conf/Musikk
Utseende
local function commons_formatter(id)
return "https://commons.wikimedia.org/wiki/Category:" .. id:gsub(" ", "_")
end
-- forekomster-variablen er en liste over hvilke forekomster (P31 fra Wikidata-Q-element til artikkel) som ikke skal bli håndtert som et verk (kursiv tekst) for Last.fm-lenker
local forekomster = {
"Q5", -- menneske
"Q215380", -- band
"Q5741069", -- rockeband
"Q9212979", -- musikkduo
"Q641066", -- jentegruppe
"Q113292621", -- folkemusikkgruppe
"Q216337", -- guttegruppe
"Q42998", -- orkester
"Q10648343", -- duo
"Q56816954", -- heavy metal band
"Q18127", -- platemerke
}
local erArtist = false
if mw.wikibase.getEntityIdForCurrentPage() ~= nil
then
-- henter egenskaper for P31 (forekomst av) og spesifiserer første tabell (egenskap)
local egenskap = mw.wikibase.getBestStatements(mw.wikibase.getEntityIdForCurrentPage(), 'P31')
egenskap = egenskap[1].mainsnak.datavalue.value
-- sjekker om Q-id for første P31-egenskap matcher en av verdiene i forekomster-variablen
for k,v in pairs(forekomster)
do
if egenskap.id == v
then
-- om verdiene matcher, endres erArtist-variablen til å vise at artikkelen er om en artist, band eller annen gruppe, og stopper sammenligningen
erArtist = true
break
else
erArtist = false
end
end
end
local configured_claims = {}
-- om artikkelen handler om en artist eller gruppe (erArtist == true), benyttes første blokk, som inkluderer en ukursiv versjon av Last.fm-lenke.
if (erArtist)
then
configured_claims['nb'] = {
-- (HENTES FRA {{Offisielt nettsted}}) { prop ='P373', message ="$3 [$2 $1] – bilder, video eller lyd på [[Wikimedia Commons]]", langcode = 'en', genitiv = false, url_f=commons_formatter },
{ prop='P2850', message ="$3 [$2 $1] på [[Apple Music]]", short="[$2 Apple Music]", langcode ='en', genitiv = false }, --band, artist på Apple Music
{ prop='P2281', message ="$3 [$2 ''$1''] på [[Apple Music]]", short="[$2 Apple Music]", langcode ='en', genitiv = false }, --utgivelse på Apple Music
{ prop='P11090', message ="$3 [$2 $1] på [[Boomplay]]", short="[$2 Boomplay]", langcode ='en', genitiv = false }, --sang
{ prop='P2206', message ="$3 [$2 ''$1''] på [[Discogs]]", short="[$2 Discogs]", langcode ='en', genitiv = false }, -- Utgivelse
{ prop='P1953', message ="$3 [$2 $1] på [[Discogs]]", short="[$2 Discogs]", langcode ='en', genitiv = false }, -- Artist
{ prop='P1954', message ="$3 [$2 ''$1''] på [[Discogs]]", short="[$2 Discogs]", langcode ='en', genitiv = false }, -- Verk
{ prop='P1955', message ="$3 [$2 ''$1''] på [[Discogs]]", short="[$2 Discogs]", langcode ='en', genitiv = false }, -- Label
{ prop='P9003', message ="$3 [$2 ''$1''] på Google Podcasts", short="[$2 Google Podcasts]", langcode ='en', genitiv = false }, -- podkast på Google Podcasts
{ prop='P434', message ="$3 [$2 $1] på [[MusicBrainz]]", short="[$2 MusicBrainz]", langcode ='en', genitiv = false }, --Artist
{ prop='P435', message ="$3 [$2 ''$1''] på [[MusicBrainz]]", short="[$2 MusicBrainz]", langcode ='en', genitiv = false }, --Utgivelse
{ prop='P436', message ="$3 [$2 ''$1''] på [[MusicBrainz]]", short="[$2 MusicBrainz]", langcode ='en', genitiv = false }, --Verk
{ prop='P2721', message ="$3 [$2 ''$1''] på [[Encyclopaedia Metallum]]", short="[$2 Encyclopaedia Metallum]", langcode ='en', genitiv = false },
{ prop='P1989', message ="$3 [$2 $1] på [[Encyclopaedia Metallum]]", short="[$2 Encyclopaedia Metallum]", langcode ='en', genitiv = false }, -- artistoppføring
{ prop='P1952', message ="$3 [$2 $1] på [[Encyclopaedia Metallum]]", short="[$2 Encyclopaedia Metallum]", langcode ='en', genitiv = false }, --bandoppføring
{ prop='P9010', message ="$3 [$2 ''$1''] på Player FM", short="[$2 Player FM]", langcode ='en', genitiv = false }, --podkast på Player FM
{ prop='P9012', message ="$3 [$2 ''$1''] på Podtail", short="[$2 Podtail]", langcode ='en', genitiv = false }, --podkast på Podtail
{ prop='P3040', message ="$3 [$2 $1] på [[SoundCloud]]", short="[$2 SoundCloud]", langcode ='en', genitiv = false },
{ prop='P1902', message ="$3 [$2 $1] på [[Spotify]]", short="[$2 Spotify]", langcode ='en', genitiv = false }, --band, artist på Spotify
{ prop='P2205', message ="$3 [$2 ''$1''] på [[Spotify]]", short="[$2 Spotify]", langcode ='en', genitiv = false }, --utgivelse på Spotify
{ prop='P2207', message ="$3 [$2 ''$1''] på [[Spotify]]", short="[$2 Spotify]", langcode ='en', genitiv = false }, --sang på Spotify
{ prop='P5916', message ="$3 [$2 ''$1''] på [[Spotify]]", short="[$2 Spotify]", langcode ='en', genitiv = false }, --podkast på Spotify
{ prop='P3478', message ="$3 [$2 $1] på [[Songkick]]", short="[$2 Songkick]", langcode ='en', genitiv = false },
{ prop='P3192', message ="$3 [$2 $1] på [[Last.fm]]", short="[$2 Last.fm]", langcode ='en', genitiv = false },
{ prop='P5172', message ="$3 [$2 $1] på [[Rockipedia]]", short="[$2 Rockipedia]", langcode ='no', genitiv = false }, --artist/band
{ prop='P5171', message ="$3 [$2 ''$1''] på [[Rockipedia]]", short="[$2 Rockipedia]", langcode ='no', genitiv = false }, --utgivelse
{ prop='P6217', message ="$3 [$2 ''$1''] på [[Genius (nettsted)|Genius]] — sangtekster", short="[$2 Genius]", langcode ='en', genitiv = false }, --utgivelse
{ prop='P6218', message ="$3 [$2 ''$1''] på [[Genius (nettsted)|Genius]] — sangtekst", short="[$2 Genius]", langcode ='en', genitiv = false }, --sang
{ prop='P2373', message ="$3 [$2 $1] på [[Genius (nettsted)|Genius]] — sangtekster", short="[$2 Genius]", langcode ='en', genitiv = false }, --artist/band
{ prop='P1728', message ="$3 [$2 $1] på [[AllMusic]]", short="[$2 AllMusic]", langcode ='en', genitiv = false }, --artist
{ prop='P1729', message ="$3 [$2 ''$1''] på [[AllMusic]]", short="[$2 AllMusic]", langcode ='en', genitiv = false }, --sang
{ prop='P5842', message ="$3 [$2 ''$1''] på Apple Podcasts", short="[$2 Apple Podcasts]", langcode ='no', genitiv = false }, --podkast på Apple Podcasts
{ prop='P4300', message ="$3 [$2 ''$1''] på YouTube Music", short="[$2 YouTube Music]", langcode ='en', genitiv = false }, --på YouTube Music
{ prop='P3283', message ="$3 [$2 ''$1''] på Bandcamp", short="[$2 Bandcamp]", langcode ='en', genitiv = false }, --på Bandcamp
}
else
configured_claims['nb'] = {
-- (HENTES FRA {{Offisielt nettsted}}) { prop ='P373', message ="$3 [$2 $1] – bilder, video eller lyd på [[Wikimedia Commons]]", langcode = 'en', genitiv = false, url_f=commons_formatter },
{ prop='P2850', message ="$3 [$2 $1] på [[Apple Music]]", short="[$2 Apple Music]", langcode ='en', genitiv = false }, --band, artist på Apple Music
{ prop='P2281', message ="$3 [$2 ''$1''] på [[Apple Music]]", short="[$2 Apple Music]", langcode ='en', genitiv = false }, --utgivelse på Apple Music
{ prop='P11090', message ="$3 [$2 $1] på [[Boomplay]]", short="[$2 Boomplay]", langcode ='en', genitiv = false }, --sang
{ prop='P2206', message ="$3 [$2 ''$1''] på [[Discogs]]", short="[$2 Discogs]", langcode ='en', genitiv = false }, -- Utgivelse
{ prop='P1953', message ="$3 [$2 $1] på [[Discogs]]", short="[$2 Discogs]", langcode ='en', genitiv = false }, -- Artist
{ prop='P1954', message ="$3 [$2 ''$1''] på [[Discogs]]", short="[$2 Discogs]", langcode ='en', genitiv = false }, -- Verk
{ prop='P1955', message ="$3 [$2 ''$1''] på [[Discogs]]", short="[$2 Discogs]", langcode ='en', genitiv = false }, -- Label
{ prop='P9003', message ="$3 [$2 ''$1''] på Google Podcasts", short="[$2 Google Podcasts]", langcode ='en', genitiv = false }, -- podkast på Google Podcasts
{ prop='P434', message ="$3 [$2 $1] på [[MusicBrainz]]", short="[$2 MusicBrainz]", langcode ='en', genitiv = false }, --Artist
{ prop='P435', message ="$3 [$2 ''$1''] på [[MusicBrainz]]", short="[$2 MusicBrainz]", langcode ='en', genitiv = false }, --Utgivelse
{ prop='P436', message ="$3 [$2 ''$1''] på [[MusicBrainz]]", short="[$2 MusicBrainz]", langcode ='en', genitiv = false }, --Verk
{ prop='P2721', message ="$3 [$2 ''$1''] på [[Encyclopaedia Metallum]]", short="[$2 Encyclopaedia Metallum]", langcode ='en', genitiv = false },
{ prop='P9010', message ="$3 [$2 ''$1''] på Player FM", short="[$2 Player FM]", langcode ='en', genitiv = false }, --podkast på Player FM
{ prop='P9012', message ="$3 [$2 ''$1''] på Podtail", short="[$2 Podtail]", langcode ='en', genitiv = false }, --podkast på Podtail
{ prop='P1989', message ="$3 [$2 $1] på [[Encyclopaedia Metallum]]", short="[$2 Encyclopaedia Metallum]", langcode ='en', genitiv = false }, -- artistoppføring
{ prop='P1952', message ="$3 [$2 $1] på [[Encyclopaedia Metallum]]", short="[$2 Encyclopaedia Metallum]", langcode ='en', genitiv = false }, -- bandoppføring
{ prop='P3040', message ="$3 [$2 $1] på [[SoundCloud]]", short="[$2 SoundCloud]", langcode ='en', genitiv = false },
{ prop='P1902', message ="$3 [$2 $1] på [[Spotify]]", short="[$2 Spotify]", langcode ='en', genitiv = false }, --band, artist på Spotify
{ prop='P2205', message ="$3 [$2 ''$1''] på [[Spotify]]", short="[$2 Spotify]", langcode ='en', genitiv = false }, --utgivelse på Spotify
{ prop='P2207', message ="$3 [$2 ''$1''] på [[Spotify]]", short="[$2 Spotify]", langcode ='en', genitiv = false }, --sang på Spotify
{ prop='P5916', message ="$3 [$2 ''$1''] på [[Spotify]]", short="[$2 Spotify]", langcode ='en', genitiv = false }, --podkast på Spotify
{ prop='P3478', message ="$3 [$2 $1] på [[Songkick]]", short="[$2 Songkick]", langcode ='en', genitiv = false },
{ prop='P3192', message ="$3 [$2 ''$1''] på [[Last.fm]]", short="[$2 Last.fm]", langcode ='en', genitiv = false },
{ prop='P5172', message ="$3 [$2 $1] på [[Rockipedia]]", short="[$2 Rockipedia]", langcode ='no', genitiv = false }, --artist/band
{ prop='P5171', message ="$3 [$2 ''$1''] på [[Rockipedia]]", short="[$2 Rockipedia]", langcode ='no', genitiv = false }, --utgivelse
{ prop='P6217', message ="$3 [$2 ''$1''] på [[Genius (nettsted)|Genius]] — sangtekster", short="[$2 Genius]", langcode ='en', genitiv = false }, --utgivelse
{ prop='P6218', message ="$3 [$2 ''$1''] på [[Genius (nettsted)|Genius]] — sangtekst", short="[$2 Genius]", langcode ='en', genitiv = false }, --sang
{ prop='P2373', message ="$3 [$2 $1] på [[Genius (nettsted)|Genius]] — sangtekster", short="[$2 Genius]", langcode ='en', genitiv = false }, --artist/band
{ prop='P1728', message ="$3 [$2 $1] på [[AllMusic]]", short="[$2 AllMusic]", langcode ='en', genitiv = false }, --artist
{ prop='P1729', message ="$3 [$2 ''$1''] på [[AllMusic]]", short="[$2 AllMusic]", langcode ='en', genitiv = false }, --sang
{ prop='P5842', message ="$3 [$2 ''$1''] på Apple Podcasts", short="[$2 Apple Podcasts]", langcode ='no', genitiv = false }, --podcast
{ prop='P4300', message ="$3 [$2 ''$1''] på YouTube Music", short="[$2 YouTube Music]", langcode ='en', genitiv = false }, --på YouTube Music
{ prop='P3283', message ="$3 [$2 ''$1''] på Bandcamp", short="[$2 Bandcamp]", langcode ='en', genitiv = false }, --på Bandcamp
}
end
local messages_conf = {}
messages_conf['nb'] = {
['short-list-separator'] = " '''·''' ",
['no-data-cat'] = '[[Kategori:Artikler uten musikklenker fra Wikidata]]',
['with-data-cat'] = '[[Kategori:Artikler med musikklenker fra Wikidata]]',
['with-local-cat'] = '[[Kategori:Artikler med musikklenker fra lokale verdier]]',
['no-data-text'] = "''Artikkelen har ingen egenskaper for musikkdatabaser i Wikidata''",
['no-wikilink'] = "''Artikkelen mangler oppslag i Wikidata''",
['no-wikilink-cat'] = "[[Kategori:Artikler med musikklenker og uten kobling til Wikidata]]",
['track-cat-wd-wd'] = '[[Kategori:Artikler med musikklenker for $1 fra Wikidata]]',
['track-cat-local-local'] = '',
['track-cat-wd-local'] = '',
['track-cat-local-wd'] = '',
['track-cat-local-wd-equal'] = '',
['track-cat-local-wd-unequal'] = '',
}
local limits = {
['links-shown'] = 10, -- maximum number of links shown in the article.
}
local p = {}
function p.getConfiguredClaims (self, lang)
return configured_claims[lang]
end
function p.getMessage (self, lang, msg)
return messages_conf[lang][msg]
end
function p.getLimits (self)
return limits
end
-- metatable for the export
local mt = {
-- adjust the installation of the module
['__call'] = function (self, lang)
self.configured_claims = configured_claims[lang]
self.messages_conf = messages_conf[lang]
return self
end
}
-- install the metatable
setmetatable(p, mt)
return p