Modulo:DTSpecific: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
nessun oggetto della modifica
mNessun oggetto della modifica
Nessun oggetto della modifica
(18 versioni intermedie di uno stesso utente non sono mostrate)
Riga 11: Riga 11:
local SeasonsQty = require('Modulo:DTSem').SeasonsQty
local SeasonsQty = require('Modulo:DTSem').SeasonsQty
local LabelOrLink = require('Modulo:DTBase').LabelOrLink
local LabelOrLink = require('Modulo:DTBase').LabelOrLink
--local PropertiesOnTree = require('Modulo:DTFunzioniComuni').PropertiesOnTree
local SeriesTree = require('Modulo:DTFunzioniComuni').SeriesTree


--- generates a list of backlink using SMW query.
--- generates a list of backlink using SMW query.
Riga 163: Riga 165:
local FinalString = ""
local FinalString = ""
local Actor = mw.title.getCurrentTitle().text
local Actor = mw.title.getCurrentTitle().text
local QueryResult = mw.smw.getQueryResult('[[Interprete::' .. Actor .. ']]|?' .. Actor .. '|sort=Numero di produzione|order=asc')
local QueryResult = mw.smw.getQueryResult('[[Interprete::' .. Actor .. ']]|?' .. Actor .. '|limit=500|sort=Numero di produzione|order=asc')
if QueryResult == nil then
if QueryResult == nil then
Riga 198: Riga 200:
return FinalString
return FinalString
end
--- Content of a generic secondary box
--
-- @frame Info from MW session
-- @return Wikitext to inject in template
function p.SecBoxBuilder(frame)
local TemplateName
local BoxTitle = ""
local BoxContent = ""
local SeriesQ
local Short
local CategoryNames = {}
local UL
local LI
local Quantity
local Categories
local Seasons
local Series
local Preposizione
local Others
local Separator ="<hr />"
local FullOutput = true
local Output = {}
-- Get page name and clean to get the name
TemplateName = string.gsub(frame:getParent():getTitle(), "Template:", "")
if TemplateName == "BoxSecEpisodio" then
if mw.wikibase.getEntity().claims["P162"] ~= nil then
BoxContent = BoxContent .. "<span class='titoletto'>Presentazione</span>"
BoxContent = BoxContent .. "<p>" ..  mw.wikibase.getEntity().claims["P162"][1].mainsnak.datavalue.value .. "</p>"
end
Series = SeriesTree(frame)
BoxContent = BoxContent .. "<span class='titoletto'>Serie</span>"
BoxContent = BoxContent .. Series
BoxTitle = "Titolo BoxSecEpisodio"
--BoxContent = "Contenuto BoxSecEpisodio<br />" .. Series
else
--Series
if frame.args[1] ~= nil then
--Function is called from unliked page
Series = mw.wikibase.getEntity(frame.args[1])
Separator = " | "
FullOutput = false
elseif mw.wikibase.getEntity().claims["P14"][1].mainsnak.datavalue.value.id == "Q13" then
-- Page is instance of Series
Series = mw.wikibase.getEntity()
elseif  mw.wikibase.getEntity().claims["P16"] ~= nil then
Series = mw.wikibase.getEntity(QFromP("P16"))
else
-- Fall back to Short Treks
Series = mw.wikibase.getEntity("Q8537")
end
BoxTitle = "Titolo " .. TemplateName
BoxContent = "Contenuto " .. TemplateName
end
--[=[
Output example
{{BoxSecondario
|Titolo= Serie {{#if: {{#statements:P16}} | {{#statements:P16}} | ''No P16<!--{{#statements:P24}}-->'' }}
|Contenuto={{#invoke:DTSpecific|SecBoxSeries|Q66}}
|Nome=BoxSecEpisodio
}}
--]=]
return frame:expandTemplate{title = 'BoxSecondario', args = {Titolo = BoxTitle,  Contenuto = BoxContent, Nome = TemplateName}}
end
end


Riga 204: Riga 281:
-- @frame Info from MW session
-- @frame Info from MW session
-- @return Wikitext to inject in template
-- @return Wikitext to inject in template
function p.SecBoxContent(frame)
function p.SecBoxSeries(frame)
local SeriesQ
local SeriesQ
local Series
local Series = ""
local Short
local Short = ""
local CategoryNames = {}
local CategoryNames = {}
local UL
local UL
Riga 228: Riga 305:
FullOutput = false
FullOutput = false
elseif mw.wikibase.getEntity().claims["P14"][1].mainsnak.datavalue.value.id == "Q13" then
elseif mw.wikibase.getEntity().claims["P14"][1].mainsnak.datavalue.value.id == "Q13" then
--Instance of the item is "Series"
Series = mw.wikibase.getEntity()
Series = mw.wikibase.getEntity()
elseif mw.wikibase.getEntity().claims["P16"] ~= nil then
Series = mw.wikibase.getEntity(QFromP("P16"))
else
else
Series = mw.wikibase.getEntity(QFromP("P16"))
--Episode
Series = mw.wikibase.getEntity(mw.wikibase.getEntity(QFromP("P14")).claims["P16"][1].mainsnak.datavalue.value.id)
end
end
--Short name of the series
--Short name of the series
--Short  = mw.wikibase.getEntity(SeriesQ).claims['P24'][1].mainsnak.datavalue['value']
--Short  = mw.wikibase.getEntity(SeriesQ).claims['P24'][1].mainsnak.datavalue['value']
Riga 264: Riga 346:
Quantity = SeasonsQty(Short)
Quantity = SeasonsQty(Short)
--mw.smw.set("Numero di stagioni = " .. Quantity)
--mw.smw.set("Numero di stagioni = " .. Short)
if Quantity < 1 then
if Quantity < 1 then
Seasons = "Errore: <1"
Seasons = "Errore: <1"
Riga 321: Riga 403:
    --"fulltext": "Star Trek: Strange New Worlds",
    --"fulltext": "Star Trek: Strange New Worlds",
    LI =  mw.html.create('li')
    LI =  mw.html.create('li')
        LI:wikitext("[[" .. CurrSeries.fulltext .. "|" .. CurrSeries.printouts.Abbreviazione[1] .. "]]")
        LI:wikitext("[[" .. (CurrSeries.fulltext or "NullFulltext") .. "|" .. (CurrSeries.printouts.Abbreviazione[1] or "NullAbbreviazione") .. "]]")
       
       
        UL:node(LI)
        UL:node(LI)

Menu di navigazione