Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arregla y wrapea library/re.po #2873

Merged
merged 5 commits into from
Nov 18, 2024
Merged

Conversation

rtobar
Copy link
Collaborator

@rtobar rtobar commented Nov 13, 2024

En library/re.po había una entrada que no estaba delineada correctamente con comillas dobles (si ven el diff entero es la última entrada en el diff, o pueden ver simplemente el primer commit de este PR). Esto hacía que powrap --check se saltara el archivo y no lo validara. Esto, a su vez, ocurría porque la utilidad msgcat de gettext identificaba el error de sintaxis, y fallaba al ser ejecutada. powrap no consideraba esos errores al momento de calcular el exit code del proceso, y por lo tanto el archivo no sólo seguía siendo inválido, sino que tampoco era verificado. De igual forma, el archivo no podía ser wrapeado correctamente usando powrap library/re.po.

Ya abrí un PR contra powrap para cambiar este comportamiento en https://git.afpy.org/AFPy/powrap/pulls/4 (actualización: el PR ya fue mergeado, y una nuevs versión de powrap fue publicada, pornlo que también actualicé en este PR nuestra dependencia de powrap, además del pre-commit hook de powrap).

Por otro lado, el resto de nuestras herramientas no consideraban este archivo como inválido, Esto es porque polib no hacía la validación correspondiente, e incorrectamente parseaba la entrada. También abrí un PR contra polib para esto en izimobil/polib#161. Actualización: en el intertanto también me di cuenta de que el paquete babel sufre del mismo problema, yo incorrectamente había asumido que babel dependía de polib; PR creada contra babel: python-babel/babel#1151.

Después de corregir el error de sintaxis, ejecuté powrap de tal manera que ahora library/re.po está bien formateado.

A msgstr was missing its opening double quotes, which gettext's msgcat
complained about (but powrap and polib didn't).

See https://git.afpy.org/AFPy/powrap/pulls/4 and
izimobil/polib#161 for PRs to fix both of those.

Signed-off-by: Rodrigo Tobar <[email protected]>
Copy link

All entries translated, horray! 🎉

@rtobar rtobar marked this pull request as draft November 13, 2024 14:47
@rtobar
Copy link
Collaborator Author

rtobar commented Nov 13, 2024

Acá hay algo pasando con este archivo en particular que no estaba anticipado, así que estoy dejando este PR en Draft. El problema ocurre en una línea en la que aparecen dos caracteres "especiales" (ı y ſ). Localmente esa linea wrapea de una forma distinta a como hace en CI. Voy a tratar de leer un poco al respecto, pero me imagino que es un tema con cómo se están contando las columnas en estos casos (cada uno de esos code points usa dos bytes en UTF-8, pero eso también es el caso con todas las vocales en español con tilde).

@rtobar rtobar force-pushed the invalid-pofile-syntax-fixed branch from 1d44c60 to 4901b52 Compare November 13, 2024 15:38
@rtobar
Copy link
Collaborator Author

rtobar commented Nov 13, 2024

OK, al parecer era más simple: usando una versión anterior de gettext via Docker obtengo el wrapping que CI obtiene también.

Éstas son las versiones involucradas:

  • En CI: gettext 0.21 (Ubuntu 22.04)
  • Local: gettext 0.22.5 (Ubuntu 24.10)
  • Docker (imagen ubuntu:24.04): gettext 0.21 (Ubuntu 24.04)

Claramente en 0.22 algo pasó que cambió el wrapping. La verdad es que leyendo el [CHANGELOG](https://savannah.gnu.org/news/?id=10378) no hay nada que apunte a esto, pero por otro lado 0.22 también le está dando problemas a unos tests en polib.

Con esto ya dejo el PR listo para revisión.

@rtobar rtobar marked this pull request as ready for review November 13, 2024 15:58
Not only a new version is out, powrap has also changed to a new home.

Signed-off-by: Rodrigo Tobar <[email protected]>
Copy link
Collaborator

@cmaureir cmaureir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tremendo trabajo 👏

@rtobar rtobar merged commit a65f03e into python:3.12 Nov 18, 2024
4 checks passed
@rtobar rtobar deleted the invalid-pofile-syntax-fixed branch November 18, 2024 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants