Módulo:Teste: diferenças entre revisões
Saltar para a navegação
Saltar para a pesquisa
Sem resumo de edição Etiquetas: Reversão manual Revertida |
Sem resumo de edição Etiqueta: Reversão manual |
||
Linha 39: | Linha 39: | ||
local entity = mw.wikibase.getEntity(frame.args[1]) | local entity = mw.wikibase.getEntity(frame.args[1]) | ||
local nome_entidade = entity['claims'][cod_prop_raiz][tonumber(num_entidade)]['mainsnak']['datavalue']['value']['id'] | local nome_entidade = entity['claims'][cod_prop_raiz][tonumber(num_entidade)]['mainsnak']['datavalue']['value']['id'] | ||
return nome_entidade | return nome_entidade | ||
end | end | ||
Edição atual desde as 21h12min de 22 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