{{#invoke:Political party|fetch|<party>|<value>}}
Los partidos políticos contenidos en este módulo se dividen en listas alfabéticas basadas en el primer carácter del nombre (por ejemplo, "Partido Laborista (Reino Unido)" estaría debajo de /L ). La subpágina /1 es para cualquier fiesta que no comience con las letras de la A a la Z del alfabeto latino (incluidos números y caracteres acentuados).
Dentro de cada submódulo de datos hay dos grupos locales: local alternate
y local full
.
El grupo alternativo es para nombres alternativos de un partido. El siguiente es un ejemplo de nombres alternativos para el Partido Laborista (Reino Unido) :
alternativo local = { .... [ "Laborista y Cooperativa" ] = "Partido Laborista (Reino Unido)" , [ "Cooperativa Laborista" ] = "Partido Laborista (Reino Unido)" , ... }
La primera entrada entre corchetes es el nombre alternativo, y la segunda entrada solo entre comillas es el nombre que se encuentra en el full
grupo, como se ve a continuación. Tenga en cuenta que el nombre alternativo de una parte debe almacenarse en su correspondiente subpágina basada en letras; "Partido Demócrata de Alabama" aparece en /A aunque es un nombre alternativo para "Partido Demócrata (EE.UU.)" (que está almacenado en /D ).
local completo = { .... [ "Partido Laborista (Reino Unido)" ] = { abbrev = "Laboratorio" , color = "#E4003B" , nombre corto = "Laborista" ,}, ... }
Hay tres valores almacenados para cada parte:
abbrev
).color
), que puede ser un triplete hexadecimal o un nombre de color básico .shortname
).Los valores agregados a estos parámetros no necesitan ser exclusivos de otras partes en este módulo, a diferencia del nombre principal de una parte.
Si no se almacena un valor de nombre para una parte, el módulo intentará devolver la otra variante de nombre "corto" antes de devolver la entrada. Por lo tanto, si abbrev
se almacena pero shortname
no se almacena, independientemente del valor que se solicite, devolverá el abbrev
valor.
Las solicitudes deben realizarse en la página de discusión en una nueva sección. Copie la siguiente línea y complete solo los campos relevantes para el partido. Se requiere el nombre de la parte y al menos otro dato más. Consulte arriba para obtener información sobre cada valor.
["party"] = {abbrev = "", color = "", shortname = "",},
local p = {} local default_color = '#F8F9FA' categorías locales = { party_not_in_list = '[[Categoría:Páginas que usan un partido político con un partido desconocido]]' , shortname_not_in_list = '[[Categoría:Páginas que usan un partido político con un partido que falta shortname]]' , color_not_in_list = '[[Categoría:Páginas que usan un partido político al que le falta color]]' , } función local create_error ( error_message ) return string.format ( '<strong class="error">%s</strong> ' , mensaje_error ) finaliza la función local getFirstLetter ( parte ) índice local = mw . cuerda . sub ( party , 1 , 1 ) - Establece el índice para inicios no AZ si string.match ( index , '%A' ) luego devuelve '1' end return string.upper ( index ) finaliza la función local stripToNil ( text ) - - Si el texto es una cadena, devuelve su contenido recortado o nulo si está vacío. -- De lo contrario, devolverá texto (que puede, por ejemplo, ser nulo). si escribe ( texto ) == 'cadena' entonces texto = texto : coincide ( '(%S.-)%s*$' ) desvinculación local = requiere ( 'Módulo:Desvincular' ). _delink text = delink ({ text , wikilinks = "target" }) end return text end - Ejemplo de tener todos los datos (color y nombres) en una tabla. Requiere editar una página en lugar de dos al agregar una nueva fiesta. función p . _fetch ( args ) si no es args [ 1 ] , devuelve create_error ( "el parámetro 1 debe ser el nombre de una parte." ) finaliza si no es args [ 2 ] y luego devuelve create_error ( "el parámetro 2 debe ser el tipo de salida". ) finaliza local party = stripToNil ( args [ 1 ]) local out_type = stripToNil ( args [ 2 ]) if out_type == 'color ' entonces out_type = 'color' end local index = getFirstLetter ( party ) - Cargar datos desde el submódulo local data = mw . loadData ( 'Módulo:Partido político/' .. índice ) local data_all = datos . party_alt local completo = datos . alternativo [ partido ] local party_info si party_alt entonces si data_all [ party_alt ] entonces party_info = data_all [ party_alt ] else index = getFirstLetter ( party_alt ) datos = mw . loadData ( 'Módulo:Partido político/' .. índice ) party_info = datos . full [ party_alt ] end else party_info = data_all [ party ] end - Comprobar si el valor de la base de datos existe - * Ni siquiera en la base de datos - devolver el error o la entrada dada - * Sin color - devolver el error - * Sin nombre corto/abreviatura - devolver primero que no esté en blanco de abbrev->shortname->input si no party_info entonces si out_type == 'color' entonces devuelve args . error o default_color de lo contrario devuelve args . error o fin de fiesta final local return_value = party_info [ out_type ] si return_value == "" entonces si out_type == 'color' entonces devuelve args . error o create_error ( "El valor no está en la plantilla. Solicite que se agregue" ). elseif out_type == 'abrev' y luego if party_info . nombre corto ~= "" luego devuelve party_info . nombre corto else return party end elseif out_type == 'nombre corto' entonces si party_info . abrev ~= "" luego devuelve party_info . abreviatura else return party end else return party end end if out_type == 'color' y string.find ( return_value , '#' ) luego return_value = string.gsub ( return_value , '#' , '#' ) end return función final return_value p . fetch ( frame ) : inicializa y completa las variables locales getArgs = require ( "Module:Arguments" ). getArgs argumentos locales = getArgs ( marco ) devuelve p . _fetch ( args ) final retorno p