Módulo:Teste: diferenças entre revisões
Saltar para a navegação
Saltar para a pesquisa
(remove nil teste) Etiqueta: Reversão manual |
(juntei função unknown value) |
||
Linha 1: | Linha 1: | ||
local p = {} | 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) | function p.getNomeEntidade(frame) |
Revisão das 14h09min de 21 de novembro de 2022
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