67 251
contributi
(SeasonInfoRaw adapted to new Tree model) |
(Type casting) |
||
(30 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
-- Keyword: wikitrek | -- Keyword: wikitrek | ||
local LabelOrLink = require('Modulo:DTBase').LabelOrLink | local LabelOrLink = require('Modulo:DTBase').LabelOrLink | ||
local DescrWithTemplate = require('Modulo:DTGenerico').DescrWithTemplate | |||
local p = {} | local p = {} | ||
Riga 12: | Riga 13: | ||
end | end | ||
if | if AddSemantic == nil then | ||
AddSemantic = true | AddSemantic = true | ||
end | end | ||
Riga 29: | Riga 30: | ||
-- mw.wikibase.getSitelink(actorQ) | -- mw.wikibase.getSitelink(actorQ) | ||
local actorLabel = mw.wikibase.getLabel(actorQ) | local actorLabel = mw.wikibase.getLabel(actorQ) | ||
local actorLink = mw.wikibase.getSitelink(actorQ) or "Special:AboutTopic/" .. actorQ | |||
local CharQ | local CharQ | ||
Riga 47: | Riga 49: | ||
end]==] | end]==] | ||
CharLink = mw.wikibase.getSitelink(CharQ) or CharLabelEntity | --CharLink = mw.wikibase.getSitelink(CharQ) or CharLabelEntity | ||
CharLink = mw.wikibase.getSitelink(CharQ) or "Special:AboutTopic/" .. CharQ | |||
MakeWikiLink = true | MakeWikiLink = true | ||
else | else | ||
Riga 88: | Riga 91: | ||
{{#set:|Keyla Detmer=Emily Coutts}} | {{#set:|Keyla Detmer=Emily Coutts}} | ||
]=] | ]=] | ||
--Character | |||
if MakeWikiLink then | if MakeWikiLink then | ||
if AddSemantic then | if AddSemantic then | ||
if string.sub(CharLink, 1, 8) == "Special:" then | |||
Result['Character'] = Prefix .. '[[ | Result['Character'] = Prefix .. '[[' .. CharLink .. '|' .. CharLabel .. ']]' .. Suffix .. frame:callParserFunction('#set:', 'Personaggio=' .. CharLabel) | ||
else | |||
Result['Character'] = Prefix .. '[[' .. CharLink .. '|' .. CharLabel .. ']]' .. Suffix .. frame:callParserFunction('#set:', 'Personaggio=' .. CharLink) | |||
end | |||
else | else | ||
Result['Character'] = Prefix .. '[[' .. CharLink .. '|' .. CharLabel .. ']]' .. Suffix | Result['Character'] = Prefix .. '[[' .. CharLink .. '|' .. CharLabel .. ']]' .. Suffix | ||
Riga 99: | Riga 106: | ||
end | end | ||
--Actor | |||
if AddSemantic then | if AddSemantic then | ||
Result['Actor'] = '[[Interprete::' .. actorLabel .. ']]' .. frame:callParserFunction('#set:', actorLabel .. '=' .. CharLabel) | --Result['Actor'] = '[[Interprete::' .. actorLabel .. ']]' .. frame:callParserFunction('#set:', actorLabel .. '=' .. CharLabel) | ||
if string.sub(CharLink, 1, 8) == "Special:" then | |||
Result['Actor'] = '[[' .. actorLink .. '|' .. actorLabel .. ']]' .. frame:callParserFunction('#set:', actorLabel .. '=' .. CharLabel) .. frame:callParserFunction('#set:', 'Interprete=' .. actorLabel) | |||
else | |||
Result['Actor'] = '[[' .. actorLink .. '|' .. actorLabel .. ']]' .. frame:callParserFunction('#set:', actorLabel .. '=' .. CharLink) .. frame:callParserFunction('#set:', 'Interprete=' .. actorLabel) | |||
end | |||
else | else | ||
Result['Actor'] = '[[' .. actorLabel .. ']]' | Result['Actor'] = '[[' .. actorLink .. '|' .. actorLabel .. ']]' | ||
end | end | ||
Result['Type'] = AppearanceType | Result['Type'] = AppearanceType | ||
Riga 114: | Riga 126: | ||
local CurrItem = mw.wikibase.getEntityIdForCurrentPage() | local CurrItem = mw.wikibase.getEntityIdForCurrentPage() | ||
if not CurrItem then | if not CurrItem then | ||
return nil | |||
end | end | ||
Riga 123: | Riga 135: | ||
local Results = {} | local Results = {} | ||
local Statements = mw.wikibase.getAllStatements(CurrItem, 'P2') | local Statements = mw.wikibase.getAllStatements(CurrItem, 'P2') | ||
if #Statements == 0 then | |||
return nil | |||
end | |||
for _, Statement in pairs(Statements) do | for _, Statement in pairs(Statements) do | ||
local Result | local Result | ||
Riga 243: | Riga 260: | ||
SeriesQ = Item.claims['P16'][1].mainsnak.datavalue.value.id | SeriesQ = Item.claims['P16'][1].mainsnak.datavalue.value.id | ||
else | else | ||
SeriesQ = mw.wikibase.getEntity(Item.claims[' | SeriesQ = mw.wikibase.getEntity(Item.claims['P14'][1].mainsnak.datavalue.value.id).claims['P16'][1].mainsnak.datavalue.value.id | ||
end | end | ||
Riga 274: | Riga 291: | ||
end | end | ||
function p.IncipitTree(frame) | function p.IncipitTree(frame) | ||
local SeasonData = p.SeasonInfoRaw() | |||
mw.smw.set("Serie=" .. SeasonData.SeriesName) | |||
mw.smw.set("Istanza=Episodio di " .. SeasonData.SeriesAbbr) | |||
mw.smw.set("Stagione=" .. SeasonData.SeasonNumber) | |||
local SeasonOrdinals = | |||
{ | |||
"prima", | |||
"seconda", | |||
"terza", | |||
"quarta", | |||
"quinta", | |||
"sesta", | |||
"settima", | |||
"ottava", | |||
"nona", | |||
"decima" | |||
} | |||
if not mw.wikibase.getDescription() then | if not mw.wikibase.getDescription() then | ||
if not mw.wikibase.getEntity().claims['P20'] then | if not mw.wikibase.getEntity().claims['P20'] then | ||
return "'''''" .. mw.title.getCurrentTitle().text .. "''''' è un episodio della | return "'''''" .. mw.title.getCurrentTitle().text .. "''''' è un episodio della [[Stagione " .. SeasonData.SeasonNumber .. " di " .. SeasonData.SeriesAbbr .. "|" .. SeasonOrdinals[tonumber(SeasonData.SeasonNumber)] .. " stagione]] di ''[[" .. SeasonData.SeriesName .. "]]''." .. string.char(10) | ||
else | else | ||
return "''''" .. mw.title.getCurrentTitle().text .. "'''' è " .. mw.wikibase.getEntity().claims['P20'][1].mainsnak.datavalue['value'] .. string.char(10) | return "''''" .. mw.title.getCurrentTitle().text .. "'''' è " .. mw.wikibase.getEntity().claims['P20'][1].mainsnak.datavalue['value'] .. string.char(10) | ||
end | end | ||
else | else | ||
return "'''''" .. mw.title.getCurrentTitle().text .. "'''''" .. " è " .. mw.wikibase.getDescription() .. string.char(10) | --return "'''''" .. mw.title.getCurrentTitle().text .. "'''''" .. " è " .. mw.wikibase.getDescription() .. string.char(10) | ||
return "'''''" .. mw.title.getCurrentTitle().text .. "'''''" .. " è " .. DescrWithTemplate(frame) .. string.char(10) | |||
end | end | ||
end | end | ||
return p | return p |