Módulo:Teste
Saltar para a navegação
Saltar para a pesquisa
A documentação para este módulo pode ser criada na página Módulo:Teste/doc
local p = {}
local function unknownValue(snak, label)
local str = label
if type(str) == "function" then
str = str(snak)
end
if (not str) then
if snak.datatype == 'time' then
str = wd.translate('sometime')
else
str = wd.translate('somevalue')
end
end
if type(str) ~= "string" then
return formatError(snak.datatype)
end
return str
end
local function noValue(displayformat)
if not displayformat then
return wd.translate('novalue')
end
if type(displayformat) == 'string' then
return displayformat
end
return formatError()
end
function p.getNomeEntidade(frame)
local num_entidade = frame.args.numentidade
local cod_prop_raiz = frame.args.propriedaderaiz
local entity = mw.wikibase.getEntity(frame.args[1])
local nome_entidade = entity['claims'][cod_prop_raiz][tonumber(num_entidade)]['mainsnak']['datavalue']['value']['id']
return nome_entidade
end
function p.getLabel(frame)
local entity = mw.wikibase.getEntity(frame.args[1])
id = mw.text.trim(frame.args[1])
return mw.wikibase.label(id)
end
function getEntityQualifierProperty(entity, args)
local num_entidade = tonumber(args.numentidade)
local cod_propriedade = args.propriedade
local cod_prop_raiz = args.propriedaderaiz
local entity = mw.wikibase.getEntity(args[1])
local raiz_property = entity["claims"][cod_prop_raiz]
local qualifiers = raiz_property[num_entidade] and raiz_property[num_entidade]['qualifiers']
return qualifiers and qualifiers[cod_propriedade] or nil
end
function p.getDateQualifiers(frame)
local data_str = nil
local num_entidade = frame.args.numentidade
local cod_propriedade = frame.args.propriedade
local cod_prop_raiz = frame.args.propriedaderaiz
local dia = frame.args.dia
local mes = frame.args.mes
local ano = frame.args.ano
local entity = mw.wikibase.getEntity(frame.args[1])
local property = getEntityQualifierProperty(entity, frame.args)
if ((property ~= nil) and (property[1]['datavalue'] ~= nil)) then
local snak = property[1]['datavalue']['value']['time']
_, _, y, m, d = string.find(snak, "(%d+)-(%d+)-(%d+)")
dia = d
mes = m
ano = y
if (tonumber(d) and tonumber(m) and tonumber(y) > 0) then
data_str = d .. '/' .. m .. '/' .. y
elseif (tonumber(m) and tonumber(y) > 0) then
data_str = m .. '/' .. y
elseif (tonumber(y) > 0) then
data_str = y
end
end
return data_str
end
function p.getDateQualifiersDia(frame)
local data_str = nil
local num_entidade = frame.args.numentidade
local cod_propriedade = frame.args.propriedade
local cod_prop_raiz = frame.args.propriedaderaiz
local entity = mw.wikibase.getEntity(frame.args[1])
local property = getEntityQualifierProperty(entity, frame.args)
if ((property ~= nil) and (property[1]['datavalue'] ~= nil)) then
local snak = property[1]['datavalue']['value']['time']
_, _, y, m, d = string.find(snak, "(%d+)-(%d+)-(%d+)")
end
if (tonumber(d) == 0) then d = '' end
return (d)
end
function p.getDateQualifiersMes(frame)
local data_str = nil
local num_entidade = frame.args.numentidade
local cod_propriedade = frame.args.propriedade
local cod_prop_raiz = frame.args.propriedaderaiz
local entity = mw.wikibase.getEntity(frame.args[1])
local property = getEntityQualifierProperty(entity, frame.args)
if ((property ~= nil) and (property[1]['datavalue'] ~= nil)) then
local snak = property[1]['datavalue']['value']['time']
_, _, y, m, d = string.find(snak, "(%d+)-(%d+)-(%d+)")
end
if (tonumber(m) == 0) then m = '' end
return (m)
end
function p.getDateQualifiersAno(frame)
local data_str = nil
local num_entidade = frame.args.numentidade
local cod_propriedade = frame.args.propriedade
local cod_prop_raiz = frame.args.propriedaderaiz
local entity = mw.wikibase.getEntity(frame.args[1])
local property = getEntityQualifierProperty(entity, frame.args)
if ((property ~= nil) and (property[1]['datavalue'] ~= nil)) then
local snak = property[1]['datavalue']['value']['time']
_, _, y, m, d = string.find(snak, "(%d+)-(%d+)-(%d+)")
end
if (tonumber(y) == 0) then y = '' end
return (y)
end
function p.getInstituicao_e_Local(frame)
local num_entidade = frame.args.numentidade
local cod_propriedade = frame.args.propriedade
local cod_prop_raiz = frame.args.propriedaderaiz
local entity = mw.wikibase.getEntity(frame.args[1])
local property = getEntityQualifierProperty(entity, frame.args)
local snak = property[1]['datavalue']['value']['id']
return snak
end
return p