stringtranslate.com

Módulo: Partido político

local  p  =  {} local default_color = '#F8F9FA' local categorys = { party_not_in_list = '[[Categoría:Páginas que usan Partido político con partido desconocido]]' , shortname_not_in_list = '[[Categoría:Páginas que usan Partido político con nombre corto faltante]]' , color_not_in_list = '[[Categoría:Páginas que usan Partido político con color faltante]]' , } local function create_error ( error_message ) return string.format ( '<strong class = "error" > %s</strong>' , error_message ) end local function getFirstLetter ( party ) local index = mw.ustring . sub ( party , 1 , 1 ) -- Establecer índice para inicios que no sean de la A a la Z if string.match ( index , '%A' ) then return '1' end return string.upper ( index ) end local function stripToNil ( text ) -- Si text es una cadena, devuelve su contenido recortado, o nil si está vacío. -- De lo contrario, devuelve text (que puede ser nil, por ejemplo). if type ( text ) == 'string' then text = text : match ( '(%S.-)%s*$' ) local delink = require ( 'Module:Delink' ). _delink text = delink ({ text , wikilinks = "target" }) end return text end -- Ejemplo de tener todos los datos (color y nombres) en una tabla. Requiere que se edite una página en lugar de dos al agregar una nueva fiesta. function p . _fetch ( args ) if not args [ 1 ] then return create_error ( "el parámetro 1 debe ser el nombre de una fiesta."                                                  ) fin si no args [ 2 ] entonces devuelve create_error ( "el parámetro 2 debe ser el tipo de salida." ) fin local party = stripToNil ( args [ 1 ]) local out_type = stripToNil ( args [ 2 ]) si out_type == 'color' entonces out_type = 'color' fin local index = getFirstLetter ( party ) -- Cargar datos desde el submódulo local data = mw . loadData ( 'Módulo:Partido político/' .. index ) local data_all = data . full local party_alt = data . alternative [ party ] local party_info si party_alt entonces si data_all [ party_alt ] entonces party_info = data_all [ party_alt ] de lo contrario index = getFirstLetter ( party_alt ) data = mw . loadData ( 'Módulo:Partido político/' .. index ) party_info = data . completo [ party_alt ] fin de lo contrario party_info = data_all [ party ] fin -- Verificar si existe un valor en la base de datos -- * Ni siquiera en la base de datos - devuelve el error o la entrada dada -- * Sin color - devuelve un error -- * Sin nombre corto/abreviatura - devuelve el primer valor no en blanco de abreviatura->nombre corto->entrada si no party_info entonces si out_type == ' color' entonces devuelve args.error o color predeterminado de lo contrario devuelve args.error o party fin fin local return_value = party_info                                                                [ out_type ] si valor_de_retorno == "" entonces si tipo_de_retorno == 'color' entonces devuelve args . error o create_error ( "El valor no está en la plantilla. Solicite que se agregue." ) elseif tipo_de_retorno == 'abbrev' entonces si información_de_fiesta . nombre_corto ~= "" entonces devuelve información_de_fiesta . nombre_corto de lo contrario devuelve fiesta fin elseif tipo_de_retorno == 'nombre_corto' entonces si información_de_fiesta . abbrev ~= "" entonces devuelve información_de_fiesta . abbrev de lo contrario devuelve fiesta fin de lo contrario devuelve fiesta fin fin si tipo_de_retorno == 'color' entonces si cadena.find ( valor_de_retorno , '#' ) entonces valor_de_retorno = cadena.gsub ( valor_de_retorno , '#' , '#' ) de lo contrario si cadena.lower ( valor_de_retorno ) == 'predeterminado' entonces devuelve color_predeterminado fin fin devuelve valor_de_retorno fin función p . fetch ( frame ) - Inicializar y rellenar variables local getArgs = require ( "Module:Arguments" ). getArgs local args = getArgs ( frame ) return p . _fetch ( args ) end return p