Vés al contingut

Tema de Usuari Discussió:Vriullop/Fitxer de Discussions Estructurades 1

Saps allò de "no he tocat res i abans funcionava..."

3
Amadalvarez (discussiócontribucions)

Bon dia. Aquest és el primer pensament mirant un codi que no entenia perquè no funcionava. Si fos cert i ho esbrines, millor, però no és l'objecte d'aquest missatge.

A la infotaula de geografia política tenia un codi una mica complicat per mostrar el nom de l'alcalde actual (P6) que intentava corregir un error típic que és quan no hi posen prefered i et surt una botifarra de noms històrics. Fa molt de temps em vaig trobar que no sempre era un error, ja que quan un càrrec ha deixat d'existir, no li posaven prefered al darrer, perquè "ja no era" l'actual. Seria normal no mostrar res, llevat en el cas de "estat desaparegut" en que perdíem la informació de qui havia estat el darrer mandatari. Contemplar això va suposar controlar si, en aquests casos, el darrer tenia o no data de finalització (P582). Això estava fet i és el que ha deixat de funcionar, ja que quan la darrera P582 està buida, retorna l'anterior. Fins aquí la detecció i causa de l'error.

Ara tinc una proposta de canvi de codi i funciona però abans d'implantar-la et volia preguntar si et ve al cap altra forma de preguntar-li al wikidades que no em faci tenir un codi una mica difícil d'entendre per futures generacions.

A Especial:PermanentLink/30597935 tens la cronologia dels viaranys fets per saber quan està buit el qualificador P582 del valor actual si, a més, no l'han posat com a prefered. La solució està al darrer cas, però he deixat tota la cronologia perquè vegis també allò que no m'ha funcionat.

Salut !

Vriullop (discussiócontribucions)

Hi ha afegit una prova més. Per omplir forats uso un OR amb la instància que se suposa que sempre existeix. L'ordenació d'un valor que comença per Q sempre anirà després dels números. No deixa de ser un pegat. Trobo a faltar una opció defaultx. Hi he afegit a tablesort una segona columna per si hi ha més d'un valor buit, mai se sap.

Amadalvarez (discussiócontribucions)

Bé, de fet és el que he intentat afegint el P580 que no el vull per res, però sé que hi és.

El problema apareix quan al rowformat només deixes la P582. Està buida i vull que em retorni NULL tal com fa el primer cas, el que té el prefered ben posat, precisament perquè, als meus efectes, vol dir "el darrer valor està ocupat per algú i està en actiu". Amb el rowformat que has posat s'obté una resposta similar al darrer cas meu abans de posar-li un str split per descartar la P580 i agafar només la P582.

No t'amoïnis. És una cas peregrí per resoldre un pseudo-error de dades i ja tenim solució.

Ja ho documentaré dins el codi pels successors.

Resposta a «Saps allò de "no he tocat res i abans funcionava..."»