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)