Timeline

From Young Beethoven
Revision as of 20:34, 10 November 2022 by Admin (talk | contribs)
Jump to navigation Jump to search

Documentation for this module may be created at Module:Timeline/doc

local p = {}
local lang = mw.language.new("en")

function p.render( frame )
	if not mw.smw then
        return "mw.smw module not found"
	end
	
	local dates = {}
	
	local peopleBirthDates = mw.smw.ask("[[Category:Person]]|?Person:Name|?Person:Date of birth")
	local peopleDeathDates = mw.smw.ask("[[Category:Person]]|?Person:Name|?Person:Date of death")
	local compositionDates = mw.smw.ask("[[Category:Composition]]|?Person:Title|?Composition:Date")
	
	local result = ""
	
	for num, row in pairs( peopleBirthDates ) do
		dates[lang:formatDate("U", row["Person:Date of birth"])] = {
			row["Person:Name"] .. " was born"
		}
	end
	for num, row in pairs( peopleDeathDates ) do
		dates[lang:formatDate("U", row["Person:Date of death"])] = {
			row["Person:Name"] .. " died"
		}
	end
	for num, row in pairs( compositionDates ) do
		dates[lang:formatDate("U", row["Composition:Date"])] = {
			row["Composition:Title"] .. " was composed"
		}
	end
	
	for date, row in pairs( dates ) do
		for num, row2 in pairs( row ) do
			result = result .. row2[0]
		end
	end
	
	return result
end

return p