Usuario:Juan Mayordomo/LUA

  Principal   Ayuda   Por hacer   Matemáticas   Plantillas   LUA   CSS   Javascript   Mediawiki   Herramientas  

Ver el manual de LUA. Ver Módulo:Zona de pruebas.

Las páginas con un error de Lua se categorizan en Categoría:Wikipedia:Páginas con errores de secuencia de comandos

TrucosEditar

  • Acceder a una plantilla

str2 = frame:preprocess('{{bandera2|' .. label ..'|nombre ='.. nombre .. '}}')

  • Para mostrar el código escribir algo de la forma <syntaxhighlight lang="Lua"> lo que sea </syntaxhighlight>

Módulos que obtienen datos de WikipediaEditar

  • Pendiente: Acabar de categorizarlos. Crear una categoría para los formatos usados en la plantilla propiedad.
  • Crear una lista de las funciones más útiles para crear código. Ponerlas en el módulo Formatos si no lo están ya:
    • Para un valor:
      • Obtener los datos: local enlaceCargo, etiquetaCargo, idEntidadCargo = p.obtenerDatos(valor)
      • Enlazar los datos obtenidos: local cargoEnlazado = p.enlazar(enlaceCargo, etiquetaCargo, idEntidadCargo, opciones)
    • Para la tabla de calificativos:
      • Obtener los datos del primer valor de un calificativo: local enlaceEmpleador, etiquetaEmpleador, idEntidadEmpleador = p.obtenerDatos(elementoTabla(calificativos,'P108',1,'datavalue','value'))
      • Obtener el periodo: local periodo = p.formatoPeriodo(calificativos, {})
Plantilla Módulo Propiedad Calificativos Código Resultado Observaciones
Plantillas para premios
{{Tabla de obras ganadoras}} Módulo:Obras ganadoras ganador (P1346) fecha (P585)

premiado por la obra (P1686)

Año Título Autor
1991
Ex-aequo
White QueenGwyneth Jones
A Woman of the Iron PeopleEleanor Arnason
1992China montaña ZhangMaureen F. McHugh
1993AmmoniteNicola Griffith
1994
Ex-aequo
La cuestión de SeggriUrsula K. Le Guin
Larque on the WingNancy Springer
1995
Ex-aequo
Waking the MoonElizabeth Hand
The Memoirs of Elizabeth FrankensteinTheodore Roszak
1996
Ex-aequo
Rakhat: La última misión de la CompañíaMary Doria Russell
Mountain WaysUrsula K. Le Guin
1997
Ex-aequo
Black WineCandas Jane Dorsey
Travels With The Snow QueenKelly Link
1998Congenital Agenesis of Gender IdeationRaphael Carter
1999The Conqueror's ChildSuzy McKee Charnas
2000Wild LifeMolly Gloss
2001The Kappa ChildHiromi Goto
2002
Ex-aequo
LightM. John Harrison
Stories for MenJohn Kessel
2003Set This House in Order: A Romance of SoulsMatt Ruff
2004
Ex-aequo
CamuflajeJoe Haldeman
Not Before SundownJohanna Sinisalo
2005AireGeoff Ryman
2006
Ex-aequo
Half LifeShelley Jackson
In the Night GardenCatherynne M. Valente
2007The Carhullan ArmySarah Hall
2008
Ex-aequo
The Knife of Never Letting GoPatrick Ness
Filter HouseNisi Shawl
2009
Ex-aequo
Cloud & Ashes: Three Winter's TalesGreer Gilman
Ōoku: The Inner ChambersFumi Yoshinaga
2010Baba Yaga Laid an EggDubravka Ugrešić
2011Redwood and WildfireAndrea Hairston
2012
Ex-aequo
La joven ahogadaCaitlín R. Kiernan
Ancient, AncientKiini Ibura Salaam
2013RupettaNicole Bourke
2014
Ex-aequo
The Girl in the RoadMonica Byrne
My Real ChildrenJo Walton
2015
Ex-aequo
The New MotherEugene Fischer
Lizard RadioPat Schmatz
2016When the Moon Was OursAnna-Marie McLemore
2017Virginia Bergin
2018Gabriela Damián Miravete
{{Navegación obras ganadoras}}
Plantillas para obras
{{Q obra}} Q obra título (P1476) Au cœur du mensonge
{{Sucesión de premios}} Sucesiones premio recibido (P166) precedido por (P155)

sucedido por (P156)

fecha (P585)

PredecesorPremios de El libro del día del Juicio FinalSucesor
Las estaciones de la marea de Michael SwanwickPremio Nébula (1992)Marte rojo de Kim Stanley Robinson
Barrayar de Lois McMaster BujoldPremio Hugo a la mejor novela (1993, junto con Un fuego sobre el abismo)Marte verde de Kim Stanley Robinson
Premio Locus a la mejor novela de ciencia ficción (1993)
El uso de las armas de Iain BanksPremio Kurd Lasswitz a la mejor novela extranjera (1994)Scissors Cut Paper Wrap Stone de Ian McDonald
Misión de gravedad de Hal ClementPremio Ignotus a la mejor novela extranjera (1995)Marte se mueve de Greg Bear
Por documentar el módulo


Debería haber un módulo formato premios

Formato premio premio recibido (P166) fecha (P585) Premio Hugo, Premio Nébula, Premio Locus, Premio Ignotus y Premio Kurd Lasswitz
Plantillas para magnitudes
{{propiedad}} Formato magnitud superficie (P2046)altura (P2048)

alcance del faro (P2929)

21 millas náuticas (38,89 km)
periodicidad (P2896) mensual
Plantillas para personas
{{propiedad|tipo de dato=cargo}} Formatos cargo ocupado (P39) de (P642)

circunscripción electoral (P768)

empleador (P108)

fecha de inicio (P580)

fecha de fin (P582)

  • Party chair de Partido Demócrata de California (1981-1983)
  • Presidente de Democratic Senatorial Campaign Committee (1985-1986)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 5.º distrito congresional de California (1987-1989)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 5.º distrito congresional de California (1989-1991)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 5.º distrito congresional de California (1991-1993)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 8.º distrito congresional de California (1993-1995)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 8.º distrito congresional de California (1995-1997)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 8.º distrito congresional de California (1997-1999)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 8.º distrito congresional de California (1999-2001)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 8.º distrito congresional de California (2001-2003)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 8.º distrito congresional de California (2003-2005)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 8.º distrito congresional de California (2005-2007)
  • Presidente de la Cámara de Representantes de los Estados Unidos (2007-2011)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 8.º distrito congresional de California (2007-2009)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 8.º distrito congresional de California (2009-2011)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 8.º distrito congresional de California (2011-2013)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 12.º distrito congresional de California (2013-2015)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 12.º distrito congresional de California (2015-2017)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 12.º distrito congresional de California (2017-2019)
  • Presidente de la Cámara de Representantes de los Estados Unidos (desde 2019)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 12.º distrito congresional de California (2019-2021)
  • Miembro de la Cámara de Representantes de los Estados Unidos por 12.º distrito congresional de California (desde 2021)  
Pendiente mover el código a otro módulo

Pendiente agrupar los cargos

{{propiedad}} Formatos educación educado en (P69) grado académico (P512)

especialización académica (P812)

fecha de inicio (P580)

fecha de fin (P582)

{{propiedad}} Formatos país país (P17) fecha (P585)

fecha de fundación o creación (P571)

fecha de inicio (P580)

fecha de fin (P582)

elemento de la declaración (P805)

alemana (1879-1896, 1918-1933, 1933), sin nacionalidad (1896-1901), suiza (1901-1955) y estadounidense (1940-1955)
{{propiedad|tipo de dato=bandera}} Formatos país país (P17)   España
Módulos
  • Módulo:Convertir
    • Hacer que se informe en el caso de obtener los datos de la unidad de Wikidata el plural tal y como se hace en este cambio.
  • Módulo:Copa
    • Pendiente el parámetro compact=yes
    • Pendiente arreglar la documentación. Ahora no se muestra
    • Pendiente que se pueda usar el score de la forma RD1-score1 = 6, 5, 4
    • Pendiente añadir un nuevo campo para si se desea que se numeren automáticamente los seeds de la primera ronda.
    • Hacer que funcione el tercero con 32 equipos.
  • Módulo:Enlaces externos Wikidata
    • Nuevo módulo para crear automáticamente enlaces externos de personas (página web, MacTutor, ... Genealogy). El problema es la fecha de acceso.
        • SELECT ?grado ?gradoLabel ?enlace (COUNT(?grado) AS ?count) WHERE {
           
           ?persona wdt:P31 wd:Q5;
                    p:P69 [             #educado en
                      pq:P512 ?grado
                    ].  
            optional{
              ?enlace schema:about ?grado;
                      schema:isPartOf <https://es.wikipedia.org/>
            }.
              SERVICE wikibase:label {
                 bd:serviceParam wikibase:language "es"
              }  
          } GROUP BY ?grado ?gradoLabel ?enlace order by DESC(?count)
          
          • especialización académica (P812):
          • PREFIX schema: <http://schema.org/>
            
            SELECT ?especializacion ?especializacionLabel ?enlace (COUNT(?especializacion) AS ?count) WHERE {
              ?persona wdt:P31 wd:Q5.
              ?persona p:P69 _:b0.
              _:b0 pq:P812 ?especializacion.
              OPTIONAL {
                ?enlace schema:about ?especializacion.
                ?enlace schema:isPartOf <https://es.wikipedia.org/>.
              }
              SERVICE wikibase:label { bd:serviceParam wikibase:language "es". }
            }
            GROUP BY ?especializacion ?especializacionLabel ?enlace
            ORDER BY DESC(?count)
            
    • Módulo:Wikidata/Formatos educación, función educado en.
    • Usar la propiedad forma parte de (P361) o miembro de (P463) para los grupos musicales. Por ejemplo, Paul McCartney (Q2599) y Freddie Mercury (Q15869).
    • Arreglar sobre todo para los escritores que se informen la lengua materna y la lengua de producción literaria. Hay personas nacidas y muertas en París, Francia con nacionalidad francesa y lengua materna y de producción literaria francés.
    • Categorías:
      • Ver:
        • Hace tiempo comenté que no veo razón para que {{Ficha de persona}} no incluya {{NF}} (para las categorías de fechas de nacimiento y muerte). Pero a medida que se han ido complicando las plantillas me temo que no muchas personas pueden hacer el cambio. Te nombraron como uno de los especialistas en ello. ¿Ves alguna contraindicación? ¿Lo podrías incluir si tienes tiempo?--FAR, (Libro de reclamaciones@ 09:31 18 jun 2017 (UTC)
    • Ocupación.
      • Hacer una función que recorra las ocupaciones y hago algo de la forma:

if insertar(tablaMedios, medioOcupacionActor[ocupacion]) then

insertar(ocupaciones, '[actor]' o actriz según sea el caso)

else ...

al final acceder a una nueva función para convertir en mayúsculas las ocupaciones y los medios.

      • Posibilidades:
        • Si por ejemplo para una determinada ocupación no existe un enlace a un artículo de la Wikipedia:
          • Actores
            • Agrupar varias ocupaciones juntas. Por ejemplo, actores de cine y televisión. Eleanor Powell. Mejor sacar solo que la ocupación es actor. Lo otro quizás pueda ponerse en otro campo como medio o género.
        • Hacer que se enlace a la correspondiente área. Por ejemplo si la ocupación es escultor se mostraría escultor
        • Si en Wikidata la ocupación tiene una única subclase de (P279) y un único ámbito de la ocupación (P425). Por ejemplo, si la ocupación es estadístico (Q2732142) se mostraría matemático (Q170790) de ocupación y estadística (Q12483) de área.
        • Corregir para escritores las ocupaciones y los géneros de Wikidata:
          • escritor de ciencia ficción (Edward Everett Hale) --> escritor + ciencia ficción
          • novelista --> Escritor + novela
  • Arreglar lo de los idiomas tanto en este módulo como en el de ficha de libro de forma que si el idioma es inglés estadounidense se muestre inglés si no se utiliza ya.
    • A medias.Falta eliminar los idiomas repetidos. Buscar ejemplo. Ahora si el idioma es inglés e inglés estadounidense se mostraría dos veces el idioma inglés.
  • Añadido inicio del periodo de actividad (P2031) para el periodo de actividad.
    • Pendiente pasar el 2, 3, 4, etc y que salga el lápiz y que el desde salga en mayúsculas y documentar la función formatoPeriodo en Wikidata/Formatos.
  • Módulo:Q obra
    • {{Q obra}}
    • Pendiente añadir la categoría donde incluir los artículos si existe el enlace
  • Módulo:Sucesiones
    • Usar una función para contar el número de veces que se repite un elemento de una tabla Ya no se usa. Hacerlo de otra forma.
    • Añadir un parámetro llamado idEntidad
    • Falla la función sort porque no es estable. Crear una función propia en el módulo de tablas. Por ejemplo, Pórtico (novela).
  • Módulo:Tablas
    • Crear una función para contar el número de veces que se repite un elemento de una tabla
    • Función ordenar
      • Arreglar la documentación. Se puede llamar de dos formas.
    • tostring
  • Module:UnitTests
    • Poder añadir secciones. Lo mejor de momento es utilizar varias funciones.
    • Poder añadir una nueva columna con la descripción de la prueba individual
    • Para nowiki usar {nowiki = 'yes'}. Ver por ejemplo Módulo:Ficha/tests
      • Pendiente ver cómo además se muestren las diferencias en colores.
    • En la Wikipedia inglesa tienen otro módulo para pruebas llamado en:ScribuntoUnit. Si falla alguna prueba se incluyen en la categoría :en:Category:ScribuntoUnit failed tests. Hacer lo mismo.
  • Módulo:URL
    • Documentar
    • Ver {{Página web}}, {{enlace plano}} (No se usa casi pues en las fichas directamente se usa la clase plainlinks), {{link}}
    • Ver la plantilla {{URL}}. Se trata realmente de la misma función que hace el módulo cuando no se informa el texto. Extrañamente yo he creado el módulo para que se informe siempre el texto mientras que en la Wikipedia inglesa está obsoleto.
  • Módulo:Wikidata
    • Módulo:Zona de pruebas/Juan Mayordomo/Wikidata
    • Pendiente documentar los parámetros
      • cualificativo.
      • ordenar por fecha
        • Falla al ordenar fechas anteriores a Cristo.
        • Falla el código:
        • 	--Ordenar en su caso por fecha. Ver la función chronosort de :fr:Module:Wikidata/Récup
          	if opciones.ordenar == 'por fecha' then
          		require('Módulo:Tablas').ordenar(tablaOrdenada,
          			function(elemento1,elemento2)
          				local fecha1 = valinQualif(elemento1, datequalifiers) or '' -- elemento1.qualifiers.P580[1].datavalue.value.time or ''
          				local fecha2 = valinQualif(elemento2, datequalifiers) or '' -- elemento2.qualifiers.P580[1].datavalue.value.time or ''
          				
          				return fecha1 < fecha2
          			end
          		 )
          	end
          
          está mal el return. Se debe hacer antes del fecha1< fecha2:
        • local Date                       = require('Módulo:DateEng')._Date
          .....
          return Date(fecha1) < Date(fecha2)
          
          Mejor copiar lo que se hace en fr:Module:Wikidata. Para comparar se hace:
        • function wd.chronoSort( claims, inverted )
          	for _, claim in ipairs( claims ) do
          		if not claim.dateSortKey then
          			local snack = claim.mainsnak or claim
          			local iso
          			if (snack.snaktype == 'value') and (snack.datatype == 'time') then
          				iso = snack.datavalue.value.time
          			else
          				iso = timeFromQualifs(claim, datequalifiers) or '0'
          			end
          			-- transformation en nombre (indication de la base car gsub retourne deux valeurs)
          			iso = tonumber( iso:gsub( '(%d)%D', '%1' ), 10 )
          			claim.dateSortKey = iso
          		end
          	end
          	table.sort( 
          		claims,
          		function ( c1, c2 )
          			if inverted then
          				return c2.dateSortKey < c1.dateSortKey
          			end
          			return c1.dateSortKey < c2.dateSortKey
          		end
          	)
          	return claims
          end
          
    • Añadir una nueva opción para en la ficha de ¿? en el país de una ciudad, por ejemplo Frankfurt, solo devolver el último país.
  • Módulo:Ficha Wikidata
    • Documentar el parámetro lista. Copiar la wikipedia italiana. Es mejor crear un campo llamado tipo de lista. Ya lo estoy utilizando en el módulo de ficha de libro, corregirlo.