Saltar para o conteúdo

Módulo:Infobox/Animal

Origem: Wikipédia, a enciclopédia livre.
Documentação do módulo[ver] [editar] [histórico] [purgar]

Descrição[editar código-fonte]

Este módulo implementa a predefinição {{Info/Animal}}

Uso[editar código-fonte]

Outra documentação:

local localdata = require( 'Módulo:Infobox/Localdata' )
local general = require "Módulo:Infobox/Funções"
local wd = require "Módulo:Infobox/Wikidata"
local linguistic = require "Módulo:Linguística"
local person = require "Módulo:Infobox/Funções/Pessoa"

local occupationformats = {
    --{espécie especie, cor título, cor sub-titulo, cor texto, icône)  deve classificar da mais especifica para a mais geral
        {'Q144', 'cão', '#947151', '#B08660', '#000000', 'padrao'}, -- castanho escuro
    {'Q146',  'gato', '#474747', '#787878', '#FFFFFF', 'padrao'}, -- preto/cinzento
    {'Q726',  'cavalo', '#D2B48C', '#D2B48C', '#FFFFFF', 'padrao'}, -- castanho claro
}

local function setformat() --retorna uma tabela contendo a cor principal da infobox e o ícone do título
    local occupations = wd.getIds(localdata.item, {property = 'P31'}) -- busca os Qid das espécies

    if not occupations or (#occupations > 1) then -- se várias espécies, não sabemos qual escolher
        return  {'Q', '', '#DFDFDF', '#D9D9D9', '#000000', 'padrao'}
    end
    occupations = wd.addVals(occupations, {property = 'P279'}, 2) -- número de andares de subclasses para subir
    for i, j in pairs(occupations) do
        for k, l in pairs(occupationformats) do
            if l[1] == j then
                return l
            end
        end
    end
    return {'Q', '', '#DFDFDF', '#D9D9D9', '#000000', 'padrao'}
end
local function setcharte()
    if localdata['charte'] then
        charte = localdata['charte']
        for i, j in pairs(occupationformats) do
            if j[2] == charte then
                return j
            end
        end
    end
    return setformat()
end
local personformat = setcharte()
return {
    maincolor = personformat[3],
    secondcolor = personformat[4],
    thirdcolor = personformat[5],
    parts = {
        general.title(),
        general.mainimage('!Artigos com caixa taxonómica sem imagem'),
        -- adicione a imagem da bandeira P41 e o brasão P94
        {type = 'table', title = 'Informações', rows = {
            {type = 'row', label = 'Nome original', value = {'nome original', 'nomedenascimento'}, property = 'P1448'}, -- propriedade a verificar
            {type = 'row', label = 'Apelido', value = 'outros_apelidos'},           
                        {type = 'row', label = '[[Espécie]]', value = {'espécie','especie', 'espécies', 'especies'}, wikidata = {property = 'P31', numval = 1, excludevalues = "Q386208"}}, -- propriedade a verificar
                        {type = 'row', label = '[[Raça]]', value = 'raça', property = 'P4743'},
                        {type = 'row', label = 'Cor', value = 'cor', property = 'P462'},
                        {type = 'row', label = 'Sexo', value = 'sexo', property = 'P21'},
            {type = 'row', label = 'Nascimento', value = 'data_de_nascimento', property = 'P569'},
            {type = 'row', label = 'Local de nascimento', value = {'local_de_nascimento', 'localização'}, property = 'P19'},
            {type = 'row', label = 'País de origem', value = 'país', property = 'P495'},
            {type = 'row', label = 'Morte', value = 'data_de_morte', property = 'P570'},
                        {type = 'row', label = 'Local de morte', value = 'local_de_morte', property = 'P20'},
                        {type = 'row', label = 'Causa da morte', value = 'causa_da_morte', property = 'P509'},
                        {type = 'row', label = 'Lugar de descanso', value = 'lugar_de_descanso', property = 'P551'},
            {type = 'row', label = 'Idade relativa', value = 'idaderelativa'},
            {type = 'row', label = 'Nacionalidade', value = 'nacionalidade'},
                        {type = 'row', label = 'Altura', value = 'altura', property = 'P2048'},
                        {type = 'row', label = 'Peso', value = 'peso', property = 'P2067'},
            {type = 'row', label = 'Aparência', value = {'aparencia', 'aparência'}},

                        {type = 'row', label = 'Pai', value = 'pai', property = 'P22'},
                        {type = 'row', label = 'Mãe', value = 'mãe', property = 'P25'},
            {type = 'row', label = 'Filhos', value = 'filhos'},
           
                        {type = 'row', label = 'Ocupação', value = 'ocupação', property = 'P106'},
                        {type = 'row', label = 'Período de atividade', plurallabel = 'Atividades', value = 'atividade', property = 'P101'},
                        {type = 'row', label = 'Proprietário', plurallabel = 'Proprietários', value = 'proprietário', property = 'P127'},
            {type = 'row', label = 'Empregador', value = 'empregador'},
                        {type = 'row', label = 'Papel notável', value = 'papel'},
            {type = 'row', label = 'Conhecido por', value = 'conhecido_por'},
                        {type = 'row', label = 'Distinções', value = {'prêmios', 'prémios', 'distinções'}, property = 'P166'},
            {type = 'row', label = 'Treinador', value = 'treinador'},
            {type = 'row', label = 'Título', value = {'titulo', 'título'}},
            {type = 'row', label = 'Prazo', value = 'prazo'},
            {type = 'row', label = 'Nome antecessor', value = 'nomeantecessor'},
                     {type = 'row', label = 'Notas', value = 'notas'},
            general.website(),
        }},
    }
}