Usuari Discussió:Vriullop

Salta a la navegació Salta a la cerca

Sobre aquest tauler

Canvi logo Centre Excursionista de Catalunya

1
CEC1876 (discussiócontribucions)
Resposta a «Canvi logo Centre Excursionista de Catalunya»

tinc un error que no veig i ja he dedicat masses hores

5
Amadalvarez (discussiócontribucions)

Hola, mestre.

L'edició de les proteccions patrimonials és l'encadenament de 3 plantilles:

Si mires Museu Guggenheim (Nova York), veuràs que deixa una línia en blanc entre proteccions, però no darrera de la última, ni en casos amb una única protecció. La primera idea ha estat que "tenia un separator erroni" a la table de la primera. No sembla, ja que està -per evitar el default- té enganxat una barra al =. Després de moltes proves a totes 3 plantilles, he arribat a la conclusió que el problema estava a la tercera, ja que he substituït tot el seu codi per un simple text, una paraula. El resultat ha estat la paraula repetida cinc cops sense cap línia extra.

M'hi he posat amb la Plantilla:Protecció patrimonial/publica, li he tret qualsevol salt de línia, posant comentaris fins i tot on no cal i res de res.

Llavors he fet una prova i li he posat un text darrera el tancament de la infotaula (special:permalink/22710065) i ai las!, mostra el text al lloc on abans hi era la línia extra, sense posar res extra darrera aquest text. Fes una previsualització i prova-ho.

S'accepten suggeriments


Vriullop (discussiócontribucions)

No ha estat fàcil: Special:Diff/22713111. Ara a veure com ho explico.

Primer, el procés. Havia descartat que fos a /publica. Deixant-ho en mínims {{infotaula| child= yes|header1 = prova}} també fallava. El que em tenia mosca és que mirant el codi font hi sortia <tr><td><br /></td></tr> quatre vegades excepte en l'últim. Algú hi havia de posar el br. Tirant plantilles enrere he arribat a que tot partia del data10 del /P1435. Ho deixo de banda i al cap de mitja hora he vist un llum. Havia de ser un separator de formatting=table.

Segon, quin és el problema. Una infobox és una taula. Una infobox child és una sèrie de files dins de la taula. És a dir, el que generava és: {{infobox | data10 = {{invobox|child=yes|...}}<br />{{invobox|child=yes|...}} }}. Això processat és: <table><tr><td>...</td></tr><br /><tr><td>...</tr></td></table>. Un text, en aquest cas un br, fora de les etiquetes de taula. A mw:Help:Extension:Linter/multiline-html-table-in-list pots veure què passa en un cas semblant. El parser ho reinterpreta com una cel·la nova o segons el cas ho pot posar fora de la taula.

Tercer, quina és la solució. A la documentació del mòdul explica quan usar separator=LF (line feed). S'havia fet per un problema del Theklan per culpa de mw:Strip marker. La mateixa solució serveix per evitar un br entre etiquetes table. Normalment s'usa <tr><td>{{#invoke:Wikidata...|separator=</td><td>...}}</td></tr>. Aquí els tancaments ja els fa la infobox child. En conclusió, no es pot usar el separator per defecte per encadenar formats amb etiquetes table.

Amadalvarez (discussiócontribucions)

Coll...s, veig que estava justificat el comodí del mestre !.

Algun dia m'explicaràs com fas per veure el codi generat.

Merci !!

Vriullop (discussiócontribucions)

Un altre cas semblant, però menys evident. Amb la {{infotaula geografia política}}, davant de l'estructura administrativa, apareixien 4 línies en blanc generades amb un "tr" per la infobox child, però només visibles en la versió per a mòbils. A Special:Diff/22728091 es veu que separator tanca etiquetes però la darrera línia quedava sense tancar. Ara només es veuen dues línies en blanc que ja desisteixo esbrinar perquè les afegeix la infobox child. Ja he revisat tots els usos de getParentLabel.

Amadalvarez (discussiócontribucions)

Brutal !

Això és clarament un despiste, perquè aquesta estructura ja l'he feta altres cops i soc conscient que s'han de tancar. Al vegades els ulls et fan no veure el que hi ha. Merci,

Resposta a «tinc un error que no veig i ja he dedicat masses hores»

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»