Modulo:DTSem: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
Nessun oggetto della modifica |
mNessun oggetto della modifica |
||
Riga 115: | Riga 115: | ||
else | else | ||
return p.RecurringList(Pages, Series) | return p.RecurringList(Pages, Series) | ||
end | |||
--return table.concat(Results, string.char(10)) | |||
end | |||
--- Function to extract recurring characters from all pages and list them | |||
-- | |||
-- @param frame Context from MediaWiki | |||
-- @return String Bullet list of characters and episodes | |||
function p.RecurringListFull(frame) | |||
local Results = {} | |||
local Item | |||
local InstanceText | |||
local Pages | |||
local Series | |||
local SeriesShort | |||
local Characters = {} | |||
if not Item then | |||
Item = mw.wikibase.getEntity(frame.args['Item']) | |||
end | |||
if not Item then | |||
Item = mw.wikibase.getEntity('Q1') | |||
end | |||
SeriesShort = mw.wikibase.getEntity(Item.claims['P16'][1].mainsnak.datavalue.value.id).claims['P24'][1].mainsnak.datavalue.value | |||
Series = mw.wikibase.getLabel(Item.claims['P16'][1].mainsnak.datavalue.value.id) | |||
if ShortName == "Serie Classica" or ShortName == "Serie Animata" then | |||
InstanceText = '[[Istanza::Episodio della ' .. SeriesShort .. "]]" | |||
else | |||
InstanceText = '[[Istanza::Episodio di ' .. SeriesShort .. "]]" | |||
end | |||
Pages = mw.smw.ask(InstanceText .. "|?Personaggio|order=asc|sort=Numero di produzione") | |||
if Pages == nil then | |||
return "''Nessun risultato''" | |||
else | |||
--local myResult = "" | |||
for num, row in pairs(Pages) do | |||
--myResult = myResult .. '* This is result #' .. num .. '\n' | |||
for property, data in pairs( row ) do | |||
if property == "Personaggio" and Characters[data] == nil then | |||
array.insert(Characters, data) | |||
end | |||
end | |||
end | |||
return p.RecurringList(Characters, Series) | |||
end | end | ||
Riga 122: | Riga 170: | ||
-- | -- | ||
-- @param Pages Array of characters' page name | -- @param Pages Array of characters' page name | ||
-- @param Series String with name of the Series | |||
-- @return String Bullet list of characters and episodes | -- @return String Bullet list of characters and episodes | ||
function p.RecurringList(Pages, Series) | function p.RecurringList(Pages, Series) |