Módulo:Ficha de dominio de nivel superior

Este módulo no tiene página de documentación[crear]
local p = {}
local ModArgumentos = require('Módulo:Argumentos')
local ModFicha = require('Módulo:Ficha')
local ModWikidata = require('Module:Wikidata')
local propiedad = ModWikidata.propiedad
local esUnValor = ModWikidata.esUnValor
local lapiz = ModWikidata.addLinkback
local ModPaginas = require('Módulo:Páginas')
local elementoTabla = require('Módulo:Tablas').elemento
local GetUnit = require('Módulo:Wikidata/unidades').main
local argumentos
local Entidad

function p.Ficha(frame)
    argumentos = ModArgumentos.obtenerArgumentosConValor(frame)
    Entidad = mw.wikibase.getEntity(argumentos.id) or {}
    local Titulo = argumentos['título'] or argumentos['nombre'] or ModWikidata.obtenerEtiquetaWikidata(Entidad) or ModPaginas.nombrePagina({desambiguar='sí'})

    local Imagen = argumentos['imagen']
    local Pie
    if Imagen then
        Pie = argumentos['pie de imagen'] or argumentos['pie_imagen']
    else
        Imagen, Pie = ModWikidata.obtenerImagenWikidata(Entidad)
    end
    local Tamano = argumentos['tamaño'] or argumentos['tamaño_imagen'] or '250px'
    local Creado = argumentos['creado'] or propiedad(Entidad, 'P571', {['enlace'] = 'no'}) or ''
    if argumentos['tipo'] then
        Tipo = argumentos['tipo']
    elseif esUnValor(Entidad, 'P31', 'Q42032') then
        Tipo = lapiz('Dominio de nivel superior geográfico', '', 'P31')
    elseif esUnValor(Entidad, 'P31', 'Q29469') then
        Tipo = lapiz('Dominio de nivel superior genérico', '', 'P31')
    elseif esUnValor(Entidad, 'P31', 'Q29380') then
        Tipo = lapiz('Dominio de nivel superior patrocinado', '', 'P31')
    elseif esUnValor(Entidad, 'P31', 'Q29388') then
        Tipo = lapiz('Pseudodominio de nivel superior', '', 'P31')
    else
        Tipo = ''
    end
    local Estado = argumentos['estado'] or ''
    local Registrador = argumentos['registrador'] or propiedad(Entidad, 'P126') or ''
    local Promotor = argumentos['promotor'] or propiedad(Entidad, 'P859') or ''
    local UsoPrevisto = argumentos['uso previsto'] or argumentos['uso_previsto'] or ''
    local Uso = argumentos['uso'] or argumentos['uso_actual'] or ''
    local Registrados = argumentos['registrados']
    if Registrados then
        local RegistradosFecha = argumentos['registrados_fecha']
        local RegistradosRef = argumentos['registrados_ref'] or ''
        if RegistradosFecha then
          Registrados = Registrados .. ' <small>(' .. RegistradosFecha .. ')</small>'
        end
        Registrados = Registrados .. RegistradosRef
    else
        Registrados = ''
    end
    local Restricciones = argumentos['restricciones'] or ''
    local Estructura = argumentos['estructura'] or ''
    local Documentos = argumentos['documentos'] or ''
    local Disputas = argumentos['disputas'] or ''
    local NombreDNS = argumentos['nombre dns'] or argumentos['nombre_dns']
    if NombreDNS then
      NombreDNS = '<code>.' .. NombreDNS .. '</code>'
    else
       local NombreDNS2 = elementoTabla(elementoTabla(Entidad, 'claims', 'P5914',1), 'mainsnak','datavalue','value')
       if NombreDNS2 then
           NombreDNS = lapiz('<code>.'..NombreDNS2..'</code>', '', 'P5914')
       else
           NombreDNS = ''
       end
    end
    local SitioWeb = argumentos['sitio web'] or argumentos['sitio_web'] or propiedad(Entidad, 'P856') or ''
    if argumentos['dnssec'] then
        DNSSEC = argumentos['dnssec']
    elseif esUnValor(Entidad,'P1552','Q41609') then
        DNSSEC = lapiz('Sí', '', 'P1552')
    elseif esUnValor(Entidad,'P6477','Q41609') then
        DNSSEC = lapiz('No', '', 'P6477')
    else
        DNSSEC = ''
    end
    if argumentos['idn'] then
        IDN = argumentos['idn']
    elseif esUnValor(Entidad,'P1552','Q756903') then
        IDN = lapiz('Sí', '', 'P1552')
    elseif esUnValor(Entidad,'P6477','Q756903') then
        IDN = lapiz('No', '', 'P6477')
    else
        IDN = ''
    end
    if argumentos['sld'] then
        SLD = argumentos['sld']
    elseif esUnValor(Entidad,'P1552','Q903444') then
        SLD = lapiz('Sí', '', 'P1552')
    elseif esUnValor(Entidad,'P6477','Q903444') then
        SLD = lapiz('No', '', 'P6477')
    else
        SLD = ''
    end

    local TablaFicha = {
        entidad = argumentos.id,
        titulo  = Titulo,
        clasetitulo = 'informática',
        estilotitulo = 'background-color: #ccccff; color:#000;',
        imagen = Imagen,
        ['tamañoimagen'] = Tamano,
        pie = Pie,
        estilopie = 'font-size:88%',
        {'Creado', Creado},
        {'Tipo de [[Dominio de nivel superior|TLD]]', Tipo},
        {'Estado', Estado},
        {'[[Registro de dominios|Registrador]]', Registrador},
        {'Promotor', Promotor},
        {'Uso previsto', UsoPrevisto},
        {'Uso actual', Uso},
        {'Dominios registrados', Registrados},
        {'Restricciones de registro', Restricciones},
        {'Estructura', Estructura},
        {'Documentos', Documentos},
        {'Resolución de disputas', Disputas},
        {'Nombre DNS', NombreDNS},
        {'Sitio web', SitioWeb},
        {'DNSSEC', DNSSEC},
        {'IDN', IDN},
        {'SLD', SLD}
    }
    return ModFicha.infobox(TablaFicha)
end

return p