Această pagină este protejată de mișcare
Această pagină este protejată

Formă: citați site-uri de muzică

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Modul de asistență pentru șabloanele {{ Allmusic }}, {{ Discogs }}, {{ MusicBrainz }}, {{ SecondHandSongs }} și {{ Metal Archives }}.


 require ( „Formular: fără globali” )

local getArgs = require ( 'Modul: Argumente' ). getArgs
local mWikidata = require ( 'Modul: Wikidata' )
local mQuote = require ( 'Formular: Citat' )
local p = {}

- [[================================================= ===============================
Funcție de utilitate care returnează clasa și id-ul dacă nu este specificat:
* dacă este specificată clasa și id este nul: primește id din proprietatea Wikidata pentru clasa respectivă.
* dacă clasa este nulă, verifică o serie de proprietăți Wikidata și revine
valoarea (și clasa corespunzătoare) a primei proprietăți prezente.
================================================== = ============================]]
funcția locală getClassAndId ( class , id , class_type )
dacă clasa atunci
class = string.lower ( class )
dacă nu id și class_type [ class ] atunci
id = mWikidata . _getProperty ({ class_type [ class ], n = 1 })
Sfârșit
altfel
pentru try_class , proprietatea în perechi ( class_type ) do
local try_id = mWikidata . _getProperty ({ property , n = 1 })
dacă try_id atunci
id = try_id
class = try_class
pauză
Sfârșit
Sfârșit
Sfârșit

clasa de întoarcere , id
Sfârșit

- [[================================================= ===============================
Având în vedere parametrii clasei, idului și filei, acesta returnează adresa URL a unui artist sau lucrează pe Allmusic
- class = una dintre cheile class_type, indică dacă doriți un artist sau o operă
- id = id-ul artistului sau al lucrării pe Allmusic
- tab = o subpagină a adresei URL (opțional)
================================================== = ============================]]
funcția p. Allmusic_url ( cadru )
local class_type = {
artist = 'P1728' ,
album = 'P1729' ,
cântec = 'P1730' ,
composition = 'P1994'
}
argumente locale = getArgs ( cadru )
local class , id = getClassAndId ( args . class or args [ 1 ], args . id sau args [ 2 ] or args . ID , class_type )	
returnare ( clasă și id ) și
mw . ustring. format ( 'http://www.allmusic.com/%s/%s%s' , class , id , args . tab și ( '/' .. args . tab ) sau '' ) sau zero
Sfârșit

- [[================================================= ===============================
Având în vedere parametrii clasei și idului, acesta returnează adresa URL a unui artist sau lucrează pe Discogs
- class = una dintre cheile class_type, indică dacă doriți un artist sau o operă
- id = id-ul artistului sau al lucrării pe Discogs
================================================== = ============================]]
funcția p. Discogs_url ( cadru )
local class_type = {
artist = 'P1953' ,
label = 'P1955' ,
master = 'P1954' ,
release = 'P2206'
}
argumente locale = getArgs ( cadru )
local class , id = getClassAndId ( args . class or args [ 1 ], args . ID sau args [ 2 ] or args . id , class_type )
return ( clasă și id ) și mw . ustring. format ( „https://www.discogs.com/it/%s/%s” , clasă , id ) sau zero
Sfârșit

- [[================================================= ===============================
Având în vedere parametrii de tip și id, acesta returnează adresa URL a unui artist sau lucrează pe MusicBrainz
- type = una dintre tastele class_type, indică dacă doriți un artist sau o operă
- id = id-ul artistului sau al lucrării pe MusicBrainz
================================================== = ============================]]
funcția p. MusicBrainz_url ( cadru )
local class_type = {
artist = 'P434' ,
work = 'P435' ,
album = 'P436' ,
label = 'P966'
}
eticheta locală = {
artist = „artist” ,
album = 'lansare-grup' ,
label = 'etichetă' ,
work = 'work'
}
argumente locale = getArgs ( cadru )
tip local , id = getClassAndId ( args . type sau args [ 1 ], args . ID sau args [ 2 ] sau args . id , class_type )
return ( eticheta [ tip ] și id ) și mw . ustring. format ( „http://musicbrainz.org/%s/%s” , etichetă [ type ], id ) sau zero
Sfârșit

- [[================================================= ===============================
Având în vedere parametrii clasei și idului, acesta returnează adresa URL a unui artist sau lucrează pe SecondHandSongs
- class = una dintre cheile class_type, indică dacă doriți un artist sau o operă
- id = id-ul artistului sau al lucrării pe Discogs
================================================== = ============================]]
funcția p. SecondHandSongs_url ( cadru )
local class_type = {
work = 'P2908' ,
artist = 'P2909'
}
argumente locale = getArgs ( cadru )
local class , id = getClassAndId ( args . class or args [ 1 ], args . id or args [ 2 ], class_type )
return ( clasă și id ) și mw . ustring. format ( „http://secondhandsongs.com/%s/%s” , clasă , id ) sau nul
Sfârșit

- [[================================================= ===============================
Având în vedere parametrii clasei și idului, acesta returnează adresa URL a unui artist sau lucrează la Metal Archives
- class = una dintre cheile class_type, indică dacă doriți un artist, un grup sau o operă
- id = id-ul artistului sau al lucrării pe Metal Archives
================================================== = ============================]]
funcția p. MetalArchives_url ( cadru )
local class_type = {
artist = 'P1989' ,
band = 'P1952' ,
release = 'P2721'
}
argumente locale = getArgs ( cadru )
local class , id = getClassAndId ( args . class or args [ 1 ], args . id or args [ 2 ], class_type )
return ( clasă și id ) și mw . ustring. format ( „http://www.metal-archives.com/%s.php?id=%s” , clasă , id ) sau nul
Sfârșit

- [[================================================= ===============================
Returnează orice categorie de eroare pentru a urmări intrările ale căror elemente Wikidata conțin
pentru o anumită proprietate mai multe declarații, dintre care niciuna nu este clasificată ca „preferată”
================================================== = ============================]]
funcția p. duplicat_control ( cadru )
- Numele categoriei
local errorCategory = '[[Categorie: articole muzicale cu ID-uri multiple sau duplicate]]'
- proprietate de verificat
proprietăți locale = {
- Artist MusicBrainz, melodie, album, etichetă
„P434” , „P435” , „P436” , „P966” ,
- Artist AllMusic, album, melodie și compoziție
„P1728” , „P1729” , „P1730” , „P1994” ,
- Discogs artist, maestru, etichetă, lansare
„P1953” , „P1954” , „P1955” , „P2206” ,
- Cântec și artist SecondHandSongs
„P2908” , „P2909” ,
- Munca, grupul și artistul MetalArchives
„P1989” , „P1952” , „P2721”
}
local ret = "

pentru _ , propertyId în ipairs ( proprietăți ) do
dacă mWikidata . _N ({ propertyId }) > 1 apoi
ret = Categorie eroare
pauză
Sfârșit
Sfârșit

retur ret
Sfârșit

retur p