Module:Setlist/AlbumSelector: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
-- Module:Setlist/AlbumSelector
local p = {}
local p = {}


-- Функция для определения альбома на основе года в заголовке страницы
-- Годы, при которых песня будет считаться из "Regional At Best"
function p.getAlbumForSong(frame)
local rabYears = {
    -- Получаем название текущей страницы
    ["2009"] = true, ["2010"] = true, ["2011"] = true, ["2012"] = true
    local pageTitle = mw.title.getCurrentTitle().text
}
   
 
    -- Определяем списки годов для Regional At Best и Vessel
-- Годы, при которых песня будет считаться из "Vessel"
    local regionalAtBestYears = { "2009", "2010", "2011", "2012" }
local vesselYears = {
    local vesselYears = { "2013", "2014", "2015", "2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025" }
    ["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
     for _, year in ipairs(regionalAtBestYears) do
}
        if pageTitle:match("%." .. year .. "$") then
 
            return "Regional At Best"
-- Перечень песен, которые одновременно находятся в RAB и Vessel
        end
local conflictSongs = {
    ["Guns For Hands"] = true,
     ["Holding On To You"] = true,
     ["Ode To Sleep"] = true,
     ["Car Radio"] = true,
    ["Trees"] = true
}
 
-- Главная функция
function p.getAlbumForSong(songTitle)
    local page = mw.title.getCurrentTitle().text
    local year = string.match(page, '%.(%d%d%d%d)$')
 
    local data = mw.loadData('Module:Setlist/Songs')
    local original = data.songs[songTitle]
 
    if not original then
        return nil
     end
     end
   
 
     for _, year in ipairs(vesselYears) do
     if conflictSongs[songTitle] and year then
         if pageTitle:match("%." .. year .. "$") then
         if rabYears[year] then
             return "Vessel"
            return {"Regional At Best"}
        elseif vesselYears[year] then
             return {"Vessel"}
         end
         end
     end
     end
   
 
    -- Если год не найден, возвращаем Vessel по умолчанию
     return original
     return "Vessel"
end
end


return p
return p

Navigation menu