require('Module:No globalsstrict')
local getArgs = require('Module:Arguments').getArgs
local mWikidata = require('Modulo:Wikidata')
local t = getArgs(frame)
local dato = t[1]
local tracce1aggettivi = {}
local tracce2 = {}
local i
local ss
local wdTraccewdEtnico, wdAutori, wdParole, wdBasatoSu
local ordinegenere, ddato, titolo, duratanome
local ret
wdTraccewdEtnico = mWikidata._getClaims('P658P1549', { from = dato })
genere = ''
▲ if wdTraccewdEtnico then
for _, traccianome_abitanti in ipairs(wdTraccewdEtnico) do
titolonome = mWikidata._formatStatement( traccianome_abitanti, { includelang = 'it'} ) ▼
if duratagenere == nil then ▼
▲ titolo = mWikidata._formatStatement(traccia)
ordine = mWikidata._formatQualifiers(traccia, 'P1545') ▼
if (ordine and tonumber(ordine)) then
ordine = tonumber(ordine)
ss = ordine
else
if mWikidata._formatQualifiers(nome_abitanti, 'P518') == nil then
ordine = -1
ss genere = '-n.d.'
end
▲ durata = mWikidata._formatQualifiers(traccia, 'P2047')
else
durata = tonumber(durata) or 0
if (durata > 59) then
durata = math.floor(durata/60) .. '\' ' .. (durata - 60*math.floor(durata/60)) .. '"'
else
▲ ordine genere = mWikidata._formatQualifiers( traccianome_abitanti, ' P1545P518')
durata = durata .. '"'
end
end
genere = nome .. ' (' .. genere .. ')' .. '<br/>'
ss = ss .. '.(nome ~= \'\'' ..and titologenere ..or '\'\' (' .. durata .. ')'
if traccia.mainsnak.datavalue.value.id then
ddato = traccia.mainsnak.datavalue.value.id
wdAutori = mWikidata._getClaims('P86', { from = ddato })
if wdAutori then
ss = ss .. ' <small>Comp.: '
i = 1
for _, autore in ipairs(wdAutori) do
if (i>1) then ss = ss .. ', ' end
i = i + 1
ss = ss .. mWikidata._formatStatement(autore)
end
ss = ss .. '</small>'
end
wdParole = mWikidata._getClaims('P676', { from = ddato })
if wdParole then
ss = ss .. ' <small>Parol.: '
i = 1
for _, parola in ipairs(wdParole) do
if (i>1) then ss = ss .. ', ' end
i = i + 1
ss = ss .. mWikidata._formatStatement(parola)
end
ss = ss .. '</small>'
end
wdBasatoSu = mWikidata._getClaims('P144', { from = ddato })
if wdBasatoSu then
ss = ss .. ' <small>Basato su: '
i = 1
for _, basato in ipairs(wdBasatoSu) do
if (i>1) then ss = ss .. ', ' end
i = i + 1
ss = ss .. mWikidata._formatStatement(basato)
end
ss = ss .. '</small>'
end
end
if (ordine == -1) then
table.insert(tracce2,ss)
else
tracce1[ordine] = ss
end
end
end
return ss
ret = {}
for _,k in ipairs(tracce1) do
table.insert(ret,k..'<br/>')
end
for _,k in ipairs(tracce2) do
table.insert(ret,k..'<br/>')
end
return table.concat(ret)
end
|