Module:Setlist/AlbumSelector: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
-- Module:Setlist/AlbumSelector | |||
local p = {} | local p = {} | ||
-- | -- Годы, при которых песня будет считаться из "Regional At Best" | ||
function p. | local rabYears = { | ||
["2009"] = true, ["2010"] = true, ["2011"] = true, ["2012"] = true | |||
local | } | ||
-- Годы, при которых песня будет считаться из "Vessel" | |||
local vesselYears = { | |||
["2013"] = true, ["2014"] = true, ["2015"] = true, ["2016"] = true, | |||
["2017"] = true, ["2018"] = true, ["2019"] = true, ["2020"] = true, | |||
["2021"] = true, ["2022"] = true, ["2023"] = true, ["2024"] = true, ["2025"] = true | |||
} | |||
-- Перечень песен, которые одновременно находятся в RAB и Vessel | |||
local conflictSongs = { | |||
["Guns For Hands"] = true, | |||
["Holding On To You"] = true, | |||
["Ode To Sleep"] = true, | |||
["Car Radio"] = true, | |||
["Trees"] = true | |||
} | |||
-- Главная функция | |||
function p.resolveAlbumList(songTitle) | |||
local page = mw.title.getCurrentTitle().text | |||
local year = string.match(page, '%.(%d%d%d%d)$') | |||
if not year then | |||
return nil -- год не указан — вернем nil, и основной модуль использует полные данные | |||
end | |||
local data = mw.loadData('Module:Setlist/Songs') | |||
local | local original = data.songs[songTitle] | ||
local | |||
if not original then | |||
return nil | |||
end | end | ||
-- | -- Фильтрация для конфликтных песен | ||
if conflictSongs[songTitle] then | |||
if year | if rabYears[year] then | ||
return "Vessel" | return {"Regional At Best"} | ||
elseif vesselYears[year] then | |||
return {"Vessel"} | |||
else | |||
return original | |||
end | end | ||
end | end | ||
return original | |||
return | |||
end | end | ||
return p | return p | ||
Revision as of 19:18, 11 July 2025
Documentation for this module may be created at Module:Setlist/AlbumSelector/doc
-- Module:Setlist/AlbumSelector
local p = {}
-- Годы, при которых песня будет считаться из "Regional At Best"
local rabYears = {
["2009"] = true, ["2010"] = true, ["2011"] = true, ["2012"] = true
}
-- Годы, при которых песня будет считаться из "Vessel"
local vesselYears = {
["2013"] = true, ["2014"] = true, ["2015"] = true, ["2016"] = true,
["2017"] = true, ["2018"] = true, ["2019"] = true, ["2020"] = true,
["2021"] = true, ["2022"] = true, ["2023"] = true, ["2024"] = true, ["2025"] = true
}
-- Перечень песен, которые одновременно находятся в RAB и Vessel
local conflictSongs = {
["Guns For Hands"] = true,
["Holding On To You"] = true,
["Ode To Sleep"] = true,
["Car Radio"] = true,
["Trees"] = true
}
-- Главная функция
function p.resolveAlbumList(songTitle)
local page = mw.title.getCurrentTitle().text
local year = string.match(page, '%.(%d%d%d%d)$')
if not year then
return nil -- год не указан — вернем nil, и основной модуль использует полные данные
end
local data = mw.loadData('Module:Setlist/Songs')
local original = data.songs[songTitle]
if not original then
return nil
end
-- Фильтрация для конфликтных песен
if conflictSongs[songTitle] then
if rabYears[year] then
return {"Regional At Best"}
elseif vesselYears[year] then
return {"Vessel"}
else
return original
end
end
return original
end
return p