Module:NPO Radio 2 Top 2000/data: verschil tussen versies
Uiterlijk
Verwijderde inhoud Toegevoegde inhoud
nee, is niet gewenst |
functie all voor lijst van alle nummers |
||
Regel 51: | Regel 51: | ||
table.insert(keys, k) |
table.insert(keys, k) |
||
end |
end |
||
end |
|||
return keys, result |
|||
end |
|||
function p.all() |
|||
local result = {} |
|||
local keys = {} |
|||
for k,v in pairs(data) do |
|||
table.insert(result, v) |
|||
table.insert(keys, k) |
|||
end |
end |
||
return keys, result |
return keys, result |
Versie van 7 jan 2024 17:07
Documentatie voor deze module kan aangemaakt worden op de volgende pagina: Module:NPO Radio 2 Top 2000/data/doc
--[[
Lijst met data van NPO Radio 2 Top 2000-noteringen
Opbouw:
data[QID] = { eerstmogelijkejaar=EERSTMOGELIJKEJAAR, posities=POSITIES, artiest={'ARTIEST'}, titel='TITEL', titelextra='TITELEXTRA'}
OF (bij meerdere artiesten):
data[QID] = { eerstmogelijkejaar=EERSTMOGELIJKEJAAR, posities=POSITIES, artiest={'ARTIEST1', 'ARTIEST2', ...}, titel='TITEL', titelextra='TITELEXTRA'}
QID: de Wikidata-ID van het artikel van het nummer; begint altijd met een Q
EERSTMOGELIJKEJAAR: het eerste jaar dat het nummer een notering kon hebben in de Top 2000; een nummer van 20 december 2022 heeft dus de waarde 2023
POSITIES: een lijst met posities in de Top 2000 van 1999 t/m de laatste editie; eventuele jaren zonder notering worden aangegeven met 0 (alle jaren moeten vermeld worden)
ARTIEST/ARTIEST1/ARTIEST2: de Wikidata-ID van het artikel van de bijbehorende artiest; begint altijd met een Q
TITEL: de titel/naam van het nummer; wordt niet gebruikt door de module, maakt dit bestand beter leesbaar
TITELEXTRA (optioneel): een extra opmerking over het nummer; bijvoorbeeld 'Live'
LET OP:
- Nummers met verschillende uitvoeringen (bijv. van verschillende artiesten) en elk een of meerdere noteringen in de Top 2000 krijgen meerdere regels in dit databestand.
- Als zulke nummers een artikel delen, volg dan onderstaande stappen:
a) voor alle nummers wordt een pagina op Wikidata gemaakt (als dat nog niet het geval was) en data wordt hieronder ingevuld met de juiste Wikidata-ID
b) de tabel voor de uitvoering behorend bij de gekoppelde Wikidata-pagina wordt getoond met {{Tabel NPO Radio 2 Top 2000}}
c) de tabel(len) voor de andere uitvoering(en) wordt/worden getoond met {{Tabel NPO Radio 2 Top 2000|qid=QID}}, met QID de Wikidata-ID (beginnend met een Q) van de niet-gekoppelde Wikidata-pagina
]]
local p = {}
local data = {}
data['Q104243676'] = { eerstmogelijkejaar=2020, posities={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 14, 19, 18}, artiest={'Q1207824'}, titel='Soldier On' }
data['Q104841581'] = { eerstmogelijkejaar=1999, posities={ 0, 0, 0, 0, 0, 0, 0, 0,1663, 0, 0,1788, 0,1780,1959,1900,1918, 0, 0, 0, 0, 0, 0, 0, 0}, artiest={'Q962103', 'Q2187053'}, titel='Happy Ending' }
data['Q123987318'] = { eerstmogelijkejaar=2023, posities={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 213}, artiest={'Q27526155'}, titel='Tonight' }
data['Q6075485'] = { eerstmogelijkejaar=1999, posities={ 492, 351, 407, 391, 191, 285, 398, 324, 514, 345, 391, 366, 487, 474, 468, 439, 505, 553, 588, 518, 605, 596, 596, 703, 721}, artiest={'Q962103'}, titel='Is She Really Going Out with Him?' }
data['Q7611095'] = { eerstmogelijkejaar=1999, posities={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1687, 0,1760,1330,1350,1404,1470,1795,1901,1898,1815,1991,1894,1934, 0}, artiest={'Q962103'}, titel='Steppin\' Out' }
data['Q2197856'] = { eerstmogelijkejaar=2010, posities={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1982, 0, 0, 0, 0, 0,1738, 0, 0, 0}, artiest={'Q1207824'}, titel='This Is Who We Are' }
data['Q1999714'] = { eerstmogelijkejaar=2003, posities={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1175, 305, 244, 178, 178, 185, 140, 130, 118, 116}, artiest={'Q220730'}, titel='Mr. Brightside' }
function p.get(frame)
local qid = frame.qid
return data[qid]
end
function p.find_artist(frame)
local qid = frame.qid
local result = {}
local keys = {}
for k,v in pairs(data) do
local found = false
for i,w in pairs(v.artiest) do
if w == qid then found = true end
end
if found then
table.insert(result, v)
table.insert(keys, k)
end
end
return keys, result
end
function p.all()
local result = {}
local keys = {}
for k,v in pairs(data) do
table.insert(result, v)
table.insert(keys, k)
end
return keys, result
end
return p