Die Dokumentation für dieses Modul kann unter Modul:Studio/Episode/Doku erstellt werden
local p = {}
local getArgs = require('Module:Arguments').getArgs
local helper = require('Module:Studio/Helper')
function p.render(frame)
local args = getArgs(frame)
local output = {}
local cleanProjektname = helper.cleanString(args["Projekt"])
local displayTitle = "#"..args["Nummer"].." "..args["Titel"]
helper.setDisplayTitle({title = displayTitle})
local wikitextLink
if args["Service"] and args["ID"] then
local videoLink = helper.getVideoLink(args["Service"], args["ID"])
if videoLink and videoLink ~= "" then
wikitextLink = "[" .. videoLink .. " " .. args["Service"]:gsub("^%l", string.upper) .. "]"
end
end
-- SEMANTISCHE DATEN SPEICHERN
helper.setIfExists("STUDIO:Nummer", args["Nummer"])
helper.setIfExists("STUDIO:Datum", args["Datum"])
helper.setIfExists("LPON:Projekt", args["Projekt"])
helper.setIfExists("STUDIO:Dateiname", args["Dateiname"])
helper.setIfExists("STUDIO:Online", args["Online"])
helper.setIfExists("STUDIO:CUTADDS", args["CUTADDS"])
helper.setIfExists("STUDIO:Notizen", args["Notizen"])
helper.setIfExists("STUDIO:Laenge", args["Laenge"])
helper.setIfExists("STUDIO:Service", args["Service"])
helper.setIfExists("STUDIO:ID", args["ID"])
helper.setIfExists("STUDIO:Playlist", args["Playlist"])
helper.setIfExists("STUDIO:Tags", args["Tags"])
helper.setIfExists("STUDIO:KategorieIntern", args["KategorieIntern"])
helper.setIfExists("STUDIO:Geschnitten", args["Geschnitten"])
helper.setIfExists("STUDIO:Uploaded", args["Uploaded"])
helper.setIfExists("STUDIO:Typ", "Episode")
helper.setIfExists("STUDIO:Titel", args["Titel"])
local html = mw.html.create("table"):addClass("studio-episode-table")
-- Zeile 1: Kopfzeile
html:tag("tr")
:tag("td")
:attr("colspan", "3")
:addClass("studio-header-cell")
:wikitext(
helper.getIcon("film") .. " " .. displayTitle .. " " ..
helper.getIcon("calendar") .. " " .. (args["Datum"] or "-") .. " " ..
helper.getIcon("link") .. " [[LetsPlayOrNot:"..cleanProjektname.."|" .. (args["Projekt"] or "-") .. "]]"
)
-- Zeile 2: Video
if args["Service"] and args["ID"] and (args["Online"] == "ja" or (args["Online"] and args["Online"] ~= "")) then
local embed = '{{#ev:' .. args["Service"] .. '|' .. args["ID"] .. '||center||||autoresize}}'
html:tag("tr")
:tag("td")
:attr("colspan", "3")
:addClass("studio-video-cell")
:wikitext(frame:preprocess(embed))
end
-- Zeile 3: Geschnitten / Hochgeladen
html:tag("tr")
:tag("td")
:wikitext(helper.getIcon("scissors") .. "'''Geschnitten:''' " .. (args["Geschnitten"] or "-"))
:done()
:tag("td")
:wikitext(helper.getIcon("upload") .. "'''Hochgeladen:''' " .. (args["Uploaded"] or "-"))
:done()
:tag("td")
:wikitext(helper.getIcon("globe") .. "'''Online:''' " .. (args["Online"] or "-"))
-- Zeile 4: Länge / Playlist
html:tag("tr")
:tag("td")
:wikitext(helper.getIcon("clock") .. "'''Länge:''' " .. (args["Laenge"] or "-"))
:done()
:tag("td")
:wikitext(helper.getIcon("floppy-disk") .. " " .. (args["Dateiname"] or "-"))
:done()
:tag("td")
:wikitext(helper.getIcon("link") .. "'''Link:''' " .. (wikitextLink or "-"))
-- Zeile 5: CUT_ADDS
html:tag("tr")
:tag("td")
:attr("colspan", "3")
:wikitext(helper.getIcon("video-slash") .. "'''Anmerkungen für den Schnitt:''' " .. (args["CUTADDS"] or "-"))
-- Zeile 6: Notizen
html:tag("tr")
:tag("td")
:attr("colspan", "3")
:wikitext(helper.getIcon("pen") .. "'''Notizen:''' " .. (args["Notizen"] or "-"))
-- Zeile 7: Kategorie intern / Tags
html:tag("tr")
:tag("td")
:attr("colspan", "2")
:wikitext(helper.getIcon("folder") .. "'''Kategorie intern:''' " .. (args["KategorieIntern"] or "-"))
:done()
:tag("td")
:wikitext(helper.getIcon("tags") .. "'''Tags:''' " .. (args["Tags"] or "-"))
table.insert(output, tostring(html))
-- Kategorien setzen
do
local categories = {}
if args["Kategorie intern"] then
table.insert(categories, "Studio:" .. helper.cleanString(args["KategorieIntern"]))
end
table.insert(categories, "Studio:"..helper.cleanString(args["KategorieIntern"])..":Episoden")
table.insert(output, helper.addCategories{
categories = categories,
sortkey = args["Titel"] or args["Nummer"] or "-"
})
end
return table.concat(output, "\n")
end
return p