Module:Historical: Difference between revisions
No edit summary |
No edit summary |
||
Line 41: | Line 41: | ||
function p.getReign(frame) | function p.getReign(frame) | ||
local year = tonumber(frame.args[1]) | local year = tonumber(frame.args[1]) | ||
if not year then | if not year then | ||
Line 50: | Line 51: | ||
if data then | if data then | ||
local events = {} | local events = {} | ||
for _, | local reigning = nil | ||
if | |||
table.insert(events, | for _, entry in ipairs(data) do | ||
if entry.year == year then | |||
if entry.event then | |||
table.insert(events, entry.event) | |||
end | |||
if entry.reign_start and entry.reign_end and year >= entry.reign_start and year <= entry.reign_end then | |||
reigning = entry | |||
elseif entry.reign_start and not entry.reign_end and year >= entry.reign_start then | |||
reigning = entry | |||
end | |||
end | end | ||
if | if entry.reign_start and entry.reign_end and year >= entry.reign_start and year <= entry.reign_end then | ||
reigning = entry | |||
elseif | elseif entry.reign_start and not entry.reign_end and year >= entry.reign_start then | ||
table.insert(events, | reigning = entry | ||
end | |||
end | |||
if reigning then | |||
table.insert(events, string.format("%s reigns.", reigning.king or reigning.queen)) | |||
table.insert(events, string.format("Currently reigning: %s (since %d)", reigning.king or reigning.queen, reigning.reign_start)) | |||
if reigning.reign_end then | |||
table.insert(events, string.format("Reign ends: %d", reigning.reign_end)) | |||
end | end | ||
end | end | ||
if #events > 0 then | if #events > 0 then | ||
return table.concat(events, '<br>') | return table.concat(events, '<br>') |
Revision as of 08:11, 5 June 2024
Datafiles are in Historical/country
{{#invoke:Historical|getEvents|1990|[country]}}
{{#invoke:Historical|getReign|1950|[country]}}
Swedish Kings :
King Gustav V dies.
King Gustav VI Adolf reigns.
Currently reigning: King Gustav VI Adolf (since 1950)
Reign ends: 1973
In Norway
King Haakon VII reigns.
Currently reigning: King Haakon VII (since 1905)
Reign ends: 1957
In France
King Louis XV reigns.
Currently reigning: King Louis XV (since 1715)
Reign ends: 1774
In Spain
King Juan Carlos I abdicates, King Felipe VI ascends the throne.
King Felipe VI reigns.
Currently reigning: King Felipe VI (since 2014)
In the year 2014 :King Juan Carlos I abdicates, King Felipe VI ascends the throne.
In England
The Cuban Missile Crisis occurs.
The Commonwealth Immigrants Act is passed.
The Beatles release their first single, 'Love Me Do'.
The James Bond film series begins with 'Dr. No'.
Queen Elizabeth II reigns.
Currently reigning: Queen Elizabeth II (since 1952)
Reign ends: 2022
In the year 1962 :
The Cuban Missile Crisis occurs.
The Commonwealth Immigrants Act is passed.
The Beatles release their first single, 'Love Me Do'.
The James Bond film series begins with 'Dr. No'.
local p = {} -- Function to load the data from the subpage local function loadData(country) local success, data = pcall(function() return mw.loadData('Module:Historical/' .. country) end) if success then return data else return nil end end -- Main function to be invoked function p.getEvents(frame) local year = tonumber(frame.args[1]) if not year then return "No valid year specified." end local country = frame.args[2] or 'sweden' local data = loadData(country) if data then local events = {} for _, event in ipairs(data) do if event.year == year then table.insert(events, event.event) end end if #events > 0 then return table.concat(events, '<br>') else return "No events found for the year " .. year .. "." end else return "No data found for the specified country." end end function p.getReign(frame) local year = tonumber(frame.args[1]) if not year then return "No valid year specified." end local country = frame.args[2] or 'swedishmonarchs' local data = loadData(country) if data then local events = {} local reigning = nil for _, entry in ipairs(data) do if entry.year == year then if entry.event then table.insert(events, entry.event) end if entry.reign_start and entry.reign_end and year >= entry.reign_start and year <= entry.reign_end then reigning = entry elseif entry.reign_start and not entry.reign_end and year >= entry.reign_start then reigning = entry end end if entry.reign_start and entry.reign_end and year >= entry.reign_start and year <= entry.reign_end then reigning = entry elseif entry.reign_start and not entry.reign_end and year >= entry.reign_start then reigning = entry end end if reigning then table.insert(events, string.format("%s reigns.", reigning.king or reigning.queen)) table.insert(events, string.format("Currently reigning: %s (since %d)", reigning.king or reigning.queen, reigning.reign_start)) if reigning.reign_end then table.insert(events, string.format("Reign ends: %d", reigning.reign_end)) end end if #events > 0 then return table.concat(events, '<br>') else return "No events found for the year " .. year .. " in " .. country .. "." end else return "No data found for the specified country: " .. country .. "." end end return p