Module:NPO Radio 2 Top 2000/data: verschil tussen versies

Uit Wikipedia, de vrije encyclopedie
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