Module:Songs: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 9: | Line 9: | ||
join = "Album_Songs.album=Albums.title", | join = "Album_Songs.album=Albums.title", | ||
where = "Album_Songs.song_page='" .. escaped .. "'", | where = "Album_Songs.song_page='" .. escaped .. "'", | ||
groupBy = "Albums.title" | groupBy = "Albums.title", | ||
orderBy = "Albums.release_date ASC" | |||
} | } | ||
local fields = { | local fields = { | ||
Line 35: | Line 36: | ||
join = "Setlist_Event._pageID=Setlist_Songs._pageID", | join = "Setlist_Event._pageID=Setlist_Songs._pageID", | ||
where = "song_page='" .. escaped .. "'", | where = "song_page='" .. escaped .. "'", | ||
orderBy = "event_order ASC, leg_order ASC, day ASC", | |||
} | } | ||
local fields = {'event_page', 'leg_name', 'day', 'cast'} | local fields = {'event_page', 'leg_name', 'day', 'cast'} |
Revision as of 00:01, 26 August 2024
Documentation for this module may be created at Module:Songs/doc
local p = {}
local cargo = mw.ext.cargo
function p.albums(frame)
local songName = mw.text.decode(frame.args[1])
if not songName then return end
local escaped = string.gsub(songName, "'", "\\'")
local query = {
join = "Album_Songs.album=Albums.title",
where = "Album_Songs.song_page='" .. escaped .. "'",
groupBy = "Albums.title",
orderBy = "Albums.release_date ASC"
}
local fields = {
'Albums._pageTitle=album_page',
'Album_Songs.singers=singers'
}
local events = cargo.query('Albums, Album_Songs',
table.concat(fields, ','), query)
local text = ''
for _, ev in ipairs(events) do
text = text .. frame:expandTemplate{
title='Song Albums/Entry',
args=ev
} .. '\n'
end
return text
end
function p.events(frame)
local songName = mw.text.decode(frame.args[1])
if not songName then return end
local escaped = string.gsub(songName, "'", "\\'")
local query = {
join = "Setlist_Event._pageID=Setlist_Songs._pageID",
where = "song_page='" .. escaped .. "'",
orderBy = "event_order ASC, leg_order ASC, day ASC",
}
local fields = {'event_page', 'leg_name', 'day', 'cast'}
local events = cargo.query('Setlist_Event, Setlist_Songs',
table.concat(fields, ','), query)
local text = ''
for _, ev in ipairs(events) do
text = text .. frame:expandTemplate{
title='Song Events/Entry',
args=ev
} .. '\n'
end
return text
end
return p