Sobre aquest tauler

Aconseguir la Q d'un article de manera automàtica

4
Theklan (discussiócontribucions)

Atenció, pregunta! És possible aconseguir la Q d'un article de manera automàtica partint d'una altra pàgina. Per exemple, i per a ésser concret, és possible aconseguir la Q de Catalunya partint de Txikipedia:Catalunya?

Vriullop (discussiócontribucions)
Vriullop (discussiócontribucions)

Fet.

  • A Japonès, {{#invoke:Wikibase|id}} dóna Q5287.
  • A Ajuda:Japonès, {{#invoke:Wikibase|id|{{BASEPAGENAME}}}} dóna Q5287.

A eu:Txikipedia:Katalunia no funciona amb BASEPAGENAME perquè és una redirecció. Funciona amb {{#invoke:Wikibase|id|Kataluniako Autonomia Erkidegoa}}. En altres pàgines de Txikipedia sí que funciona amb BASEPAGENAME.

Theklan (discussiócontribucions)

Esto sí que es bueno. Voy a intentar hacer una especie de plantilla universal partiendo de esto. Gracias!

Resposta a «Aconseguir la Q d'un article de manera automàtica»
Joutbis (discussiócontribucions)

Hola, amb en FranSisPac estem mirant de forçar que a mitjanit s'actualitzi la portada amb les efemèrides del nou dia. He fet un bot que fa un "purge" de {{Portada600k/efemèrides}} a les 00:01, però sembla que no n'hi ha prou. Com que {{Portada600k}} està protegida, si hi faig el purge em dona error.


Tenint en compte que no vull que el bot tingui privilegis d'administrador, se t'acut alguna manera de resoldre el tema? No sé amb quina granularitat es poden donar permisos. Existeix el "permís de purge"? O alguna altra solució que no impliqui el bot?

Vriullop (discussiócontribucions)

A Special:UserGroupRights hi ha tots els drets d'usuari. El dret editprotected només està assignat a administradors. El dret purge el tenen els usuaris registrats. Primer, prova si ho pots fer amb el teu usuari, crec que sí. Llavors fes-ho amb el bot però usant el teu nom d'usuari, com que no implica cap modificació no hi ha cap problema.

Joutbis (discussiócontribucions)

Sí, amb el meu usuari em deixa. Però el bot s'autentica amb OAuth com a JoRobot. He de fer el procediment de "multi-user OAuth app" que diu aquí? Sembla una mica estrambòtic, no sé si funcionarà.

Vriullop (discussiócontribucions)

No sé com, però d'alguna manera ha de ser possible usar un nom d'usuari diferent amb un user-config diferent. Hi ha usuaris que tenen més d'un bot.

Joutbis (discussiócontribucions)

Ah, pot ser una idea, fer dos user-configs i anar canviant. OK, gràcies!

Resposta a «Refresc de la portada»
Judesba (discussiócontribucions)
Feliç felicitat!
Tard, però... Desitjo que passis unes molt bones festes,
gaudeixis del temps compartit amb les persones que estimes,
i comencis el 2020 amb bon peu! ~ Judesba.
Resposta a «Bon solstici d'hivern!»
Jordi G (discussiócontribucions)
Medol (discussiócontribucions)

Segons la infotaula va estar inventariat fins el 2006 i per tant ja no ha de formar part de les llistes de monuments. Però per saber com se sap que ha deixat d'estar inventariat ara mateix no ho sé, ho podem preguntar a en @Vriullop:

Jordi G (discussiócontribucions)

No m'havia fixat en aquest detall! Tens tota la raó. Tema tancat. Gràcies i disculpeu.

Vriullop (discussiócontribucions)

En la revisió del 2016 va desaparèixer de l'inventari però ara veig que l'enllaç torna a estar activa. Faré una actualització de la llista per si hi ha més novetats. Demà o passat.

Vriullop (discussiócontribucions)

Llista actualitzada, són 20 altes recuperades que abans havien desaparegut.

Resposta a «Casa Vives (Begur)»
Amadalvarez (discussiócontribucions)

dins una plantilla, podem fer servir un Regex ?.

Li he preguntat al @Joutbis (que és qui m'ho ha fet) i sembla que fa falta aquesta extensió.

Pregunta: Hi ha alguna altra forma que funcioni de forma nativa ?. Si la resposta és SI: Com es fa ?. En concret em cal fer un match per veure si acompleix el pattern.

Si la resposta és NO:

Té sentit que instal·lem aquesta extensió ?.
La pots instal·lar ?
Serà un requeriment estrany per futurs usuaris de les infotaules ?

Gràcies

Vriullop (discussiócontribucions)

No puc instal·lar res, una extensió caldria demanar-la a phabricator i, sí, seria un requeriment massa dur per altres wikis.

Però ja tenim opcions: Mòdul:String funció match. Lua rocks! El paràmetre pattern accepta un string o un pattern que és un regex adaptat a Lua segons les especificacions de mw:Extension:Scribunto/Lua reference manual#Patterns. El paràmetre plain per defecte cerca amb pattern, amb plain=true només string.

{{#invoke:String|match|P1234|%d+}} dóna 1234

Amadalvarez (discussiócontribucions)

Fet !.

és a dir, un SÍ a la primera pregunta. Mmmmmm, una nova joguina per simplificar (o no) el codi les infotaules !!

Moltes gràcies, mestre Vicenç.

cc:@Joutbis@ESM, per al·lusions

Amadalvarez (discussiócontribucions)

Aprofito la conversa per informar que he creat {{MatchRegex}} amb la finalitat de comparar si un text s'ajusta a un patró, amb un codi més senzillet.

Té una sintaxi similar al #ifeq, és a dir, {{MatchRegex|<valor>|<patró>|<acció si quadra>|<acció si no quadra>}}

Només és útil per plantillers regexfíilics.

cc:@Joutbis@ESM @Paucabot

Vriullop (discussiócontribucions)

A notar que també serveix sense regex, pel match d'un string sempre que no inclogui cap caràcter interpretat com a pattern.

Amadalvarez (discussiócontribucions)

No ben bé. Tal com ho he fet és per validar el format total del text inicial

Joutbis (discussiócontribucions)

Molt bo! L'únic que hi trobo a faltar és la capacitat de parsejar, a base de capturar parts de la regexp entre parèntesi, i després referir-s'hi com a $1, $2, etc. Que aniria de conya per allò que volia l'Amador de les dates. Però suposo que ens en podem sortir igualment fent múltiples crides a aquest String::match. O sigui que molt bé.

Amador, fixa't que amb sintaxi Lua, l'expressió regular passa a ser [PQ]%d+

Amadalvarez (discussiócontribucions)

Ho sé, però si la cosa és més complexa, paga la pena fer servir el mòdul amb totes les seves funcionalitats, com diu el Vicenç. Però quan el que cal fer és molt simple, m'apunto al minimalisme de codi.

Vriullop (discussiócontribucions)

Llavors és la funció replace amb la mateixa sintaxi que la mw.ustring.gsub de Lua:

{{#invoke:String|replace|2019-12-10|(%d+)-(%d+)-(%d+)|%3-%2-%1|plain=false}} dóna 10-12-2019

Si només es vol el match també hi ha captures:

{{#invoke:String|match|2019-12-10|^(%d+)}} dóna 2019

Joutbis (discussiócontribucions)

Uau, potència!!

ESM (discussiócontribucions)

Marededew, vinc aquí "por ilusiones" i m'he perdut a les tres línies de conversa. Gràcies per la feinada, necessitaré un tutorial!

Amadalvarez (discussiócontribucions)

@ESM què vol dir "necessitaré un tutorial" ?, què esperes rebra'l o que tu crearàs un per fer divulgació.

Vriullop (discussiócontribucions)

Esther, aquí el servei d'assistència Som per Ajudar-hi, digues què necessites i ens encarreguem de dir-te que ho facis tu. No val aparentar que no saps regex, que m'ho ha dit un ocellet piulador.

Amadalvarez (discussiócontribucions)

Je je. Tothom l'ha vist a twitter explicant "la meva vida amb Regex"

ESM (discussiócontribucions)

Ep, disculpeu el retard en reaccionar. Sobre el que deia que necessitaré un tutorial, em referia a que necessitaré rebre'l, esteu fent unes virgueries que em tenen fascinada i agrairia una sessió pràctica, però anem tots tan atabalats que vés a saber quan trobarem un moment de calma. Pel que fa a a regex, sou uns exagerats! Encara estic a la fase de copiar-enganxar-tunejar codi d'altri (i així em va, que a vegades em surten uns bunyols magníficament barrocs per fer coses ben simples), però la regex que em demanava l'@Amadalvarez era relativament senzilla de treure. L'eina que utilitzo (regexr) ajuda molt!

Resposta a «Regex»
Amadalvarez (discussiócontribucions)

Un cop conegudes les posicions en el debat sobre noms vaig començar a treballar a partir d'una guia que recollia algunes de les peticions i orientava la solució seguint la idea que havíem comentat en algun lloc.

Ara mateix tinc construïda (en cartró-pedra) una solució basada en una preinfotaula que fa tota l'adaptació dels inputs que li arriben a la "infotaula global", això inclou l'adaptació dels noms de paràmetres, els valors de les etiquetes a mostrar i qualsevol altre contingut textual que hi hagi dins la infotaula i siguin personalitzables, des dels headers a les unitats de conversió o el nom de la categoria per no tenir imatge. És a dir, un candidat a i18nInput.

Arribat a aquest punt, em pregunto quina importància tenen els noms dels paràmetres, internament ?. En principi, assumint el principi de "no paràmetres manuals", només han de servir per fer la blacklist d'allò que no es vol tenir, tot i estar previst a la infotaula global, és a dir, forma part de la localització.

D'altra banda, la pre-infotaula es genera amb la combinació de dues taules (ja en parlarem del format i la seva gestió quan el puzzle estigui muntat) d'igual format: una amb tota la informació de la versió std. o global (que només canviem nosaltres, com el codi de la infotaula) i una altra amb tot allò que cadascú vulgui personalitzar. Doncs bé, la clau d'accés a aquesta taula és la propietat perquè em resultava més còmode amb tot el que ve darrere, com la documentació o fins i tot pensant en el bridge project.

Per tant, quin problema veuries si els paràmetres internament responen a un nom relacionat amb la propietat ?. Per exemple, el contingut de les etiquetes, ja les he batejat com lbl_Pnnn ; perquè no anomenar-los val_Pnnn, per exemple?.

Un dels arguments del debat era la comprensió del codi que havia reduït la participació de més persones en el seu manteniment. A l'escenari plantejat això no seria un problema, ja que el codi seria molt sintètic. Ara bé, cal acostumar-se a entendre que la P18 és una imatge i la P106 és l'ocupació, un aspecte que, per cert, està documentat dins el codi cada cop que faig servir la GetLabelFix.

Que en penses ?.

Ara em toca reformular la infotaula global, adaptant-la a la nova situació i cal tancar el tema.

Merci,


Vriullop (discussiócontribucions)

Els noms interns dels paràmetres només tenen el propòsit de comprensió del codi i de facilitar la feina als editors de plantilles. El que puc dir és que quan cerco alguna cosa en una plantilla a vegades ho faig per nom i a vegades per Pnnn. Segons el cas potser em resulta més còmode cercar "naixement". Si està en anglès potser ho faig igual o potser tindré més dubtes. Imagino que la preinfotaula ja em dirà la traducció de "naixement" a val_Pnnn. Entenc que queda més clara la relació amb Wikidata, tot i que ja es veu amb l'invoke. Per altra banda en casos de taules, getparents i subplantilles la relació no és directa.

No sé, caldrà preguntar-ho als editors.

Amadalvarez (discussiócontribucions)

Prepararé una explicació abans de preguntar. En tot cas, no sé si tenim pocs editors perquè és críptic el codi, per la complexitat de les infotaules o per la comoditat del servei rebut. Sigui el que sigui, si que ens cal incrementar les vocacions o no ens podrem jubilar mai.

Resposta a «Nom intern dels paràmetres»
Jey (discussiócontribucions)

En editar Ken Kavanagh amb editor de codi, se'm carrega una versió antiga de la foto de WD (de fa 6 mesos)!! A tu també et passa? Deu ser un bug de l'editor de codi, no? Una curiositat més que altra cosa... :) Salut! ]

Vriullop (discussiócontribucions)
Jey (discussiócontribucions)

Tens raó, el canvi era de feia unes hores, i no de 6 mesos. Ho devia mirar malament. Tema de caché doncs. Gràcies!

Resposta a «Curiositat»
Jmarchn (discussiócontribucions)

Del Mòdul:CreateStatement. No sé com recuperar els qualificadors restrictius d'una propietat.

Posem un exemple, a wikidata:Property:P20:

De "restricció", i de dins d'aquest "restricció de qualificadors permesos" la llista (o taula) de qualificadors {estat, localitzat a l'entitat territorial administrativa, afirmació detallada a,...} però, i a més com a P {P17, P131, ...}

És per crear el contingut de la documentació accessòria de forma facilitada i automatitzada. En la línia de Viquiprojecte:Documentació_estructurada_infotaules/doc/P119/Case_1_(Hébuterne)

Merci!

Vriullop (discussiócontribucions)

La consulta és require("Module:Wikidata").claim{item='P20', property='P2302', qualifier='P2306', formatting='table', whitelist0='Q21510851', rowformat='$1', colformat1='raw'}. Com a item també admet una propietat. El formatting=table permet més opcions per jugar amb els resultats. El whitelist0 defineix quin valor de la propietat (0) volem. El rowformat=$1 defineix el format de la fila de la taula amb només el qualificador (1). El colformat1 és el formatting dels valors del qualificador (1).

El resultat amb invoke és: P17, P131, P805, P1480, P969, P625, P1932, P670, P6375. Ja només queda convertir-ho en una taula amb mw.text.split(resultat, ', ')

Resposta a «Llista de qualificadors de WD»
Amadalvarez (discussiócontribucions)

Hi ha forma de recuperar via LUA una versió anterior d'un item ?, és a dir obtenir el contingut que obtindries amb un permalink ?

No és una pregunta de trivial ni vull fer-te perdre el temps, però si ho has d'averiguar, tu sabràs on/a qui fer la pregunta millor que jo?

Et prometo que és per una bona causa

Merci

Vriullop (discussiócontribucions)

Via Lua no hi ha forma ni res que permeti intuir alguna possibilitat. El millor lloc per resoldre problemes Lua en general és en:Wikipedia talk:Lua, però ni m'atreveixo a fer aquesta pregunta. Si vols pots anar directament al mantenidor del mòdul Wikidata anglès, en RexxS que coneix alguns dels desenvolupadors. Segurament t'enviaran a demanar una nova funcionalitat a Phabricator.

Amadalvarez (discussiócontribucions)

Long way to me.

Ho volia per tenir versions congelades de documentació. Està relacionat amb allò que et vaig preguntar (i anul·lar) sobre com obtenir en raw el resultat expandit.

En resum, estic fent servir mostres d'infotaules dins la documentació amb el codi que correspon al costat i m'haig d'assegurar que si hom canvia contingut a WD, no m'espatlli la mostra.

M'arriscaré o posaré items molt estables.

Gràcies.

Resposta a «treballar amb estats anteriors d'item»
Theklan (discussiócontribucions)

Hola! La propiedad P6670 crea directamente una partitura de la parte más conocida de un tema que puede usarse en las plantillas automáticas. Sin embargo parece que es complicado conseguir que este código funcione. He intentado ponerlo dentro de score y también usando tag:score, pero en ambos casos consigo un mensaje de error.

A ver si puedes echarle un ojo.

cc @Amadalvarez

Amadalvarez (discussiócontribucions)

És un nou tipus de dada !

Vriullop (discussiócontribucions)

Efectivament, "datatype": "musical-notation" Special:Permalink/22425047. També a motiu musical (P6686). Funcionava amb formatting = {{((}}#tag:score{{!}}$1{{))}} però tractant-se d'un nou tipus de dada prefereixo que ho tracti directament el mòdul, igual que ja fem amb 'math', a més que aquest codi score pot incloure caràcters estranys que interfereixin en l'expansió de plantilles. Fet: eu:Special:Permalink/7226696. Theklan, la nova versió inclou valors alternatius a property amb qualsevol separador: "property = P6670 P6686".

Theklan (discussiócontribucions)

Estaría bien añadirle el código vorbis=1 para que cree un autoplay después. No sé si el cambio lo has hecho en el módulo directamente cómo podría añadir esto.

Vriullop (discussiócontribucions)

Hecho opcional con formatting=sound. El atributo vorbis es obsoleto, un alias de sound.

Resposta a «Score de la propiedad P6670»