Módulo:Teste: diferenças entre revisões

Fonte: eViterbo
Saltar para a navegação Saltar para a pesquisa
Sem resumo de edição
Sem resumo de edição
Linha 6: Linha 6:


function p.qualifiers(frame)
function p.qualifiers(frame)
   local ano, mes, dia
   local data_str
   local entity = mw.wikibase.getEntity("Q27")
   local entity = mw.wikibase.getEntity(frame.args[1])
   local snak = entity['claims']['P26'][1]['qualifiers']['P9'][1]['datavalue']['value']['time']
   local snak = entity['claims']['P26'][1]['qualifiers']['P9'][1]['datavalue']['value']['time']
   _,_,y,m,d=string.find(snak, "(%d+)-(%d+)-(%d+)")
   _,_,y,m,d=string.find(snak, "(%d+)-(%d+)-(%d+)")


  return y,m,d
if tonumber(d) and tonumber(m) and tonumber(y) > 0 then
end
    data_str = d + '/'+ m + '/'+ y
end
if tonumber(m)  and tonumber(y) > 0 then
    data_str = m + '/'+ y
end
if tonumber(y) > 0 then
    data_str = y
end
 
  return data_str


function p.entidade(frame)
local entity = trim(frame.args[1])
if not entity:match('^[QP]%d{1,10}$') then
entity = mw.wikibase.resolvePropertyId(entity) or entity
end
-- entity = mw.wikibase.getEntity(trim(frame.args[2]) or nil)
if entity == '' then
entity = mw.wikibase.getEntity()
if entity == nil or entity.claims == nil then return 'No wikidata entity' end
else
entity = mw.wikibase.getEntity(entity)
if entity == nil then
return 'No wikidata entity: ' .. frame.args[1]
end
end
end
end


return p
return p

Revisão das 16h00min de 12 de maio de 2020

A documentação para este módulo pode ser criada na página Módulo:Teste/doc

local p = {}

function p.foo(frame)
    return mw.logObject(mw.wikibase.getEntity("Q27"))
end

function p.qualifiers(frame)
   local data_str
   local entity = mw.wikibase.getEntity(frame.args[1])
   local snak = entity['claims']['P26'][1]['qualifiers']['P9'][1]['datavalue']['value']['time']
   _,_,y,m,d=string.find(snak, "(%d+)-(%d+)-(%d+)")

 if tonumber(d) and tonumber(m) and tonumber(y) > 0 then
    data_str = d + '/'+ m + '/'+ y
 end
 if tonumber(m)  and tonumber(y) > 0 then
    data_str = m + '/'+ y
 end
 if tonumber(y) > 0 then
    data_str = y
 end

   return data_str

end

return p