Skip to content

Congelada versión de pospell a 1.0.5 en requirements.txt #1060

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

Merged
merged 1 commit into from
Oct 11, 2020

Conversation

mondeja
Copy link
Contributor

@mondeja mondeja commented Oct 11, 2020

Las construcciones están fallando en TravisCI porque ha sido lanzada una nueva versión de pospell (1.0.6) que descubre más fallos en los archivos po y está siendo instalada en el flujo de trabajo de testeo.

@mondeja
Copy link
Contributor Author

mondeja commented Oct 11, 2020

Habría que relanzar todos los trabajos de TravisCI desde el lanzamiento de la nueva versión de pospell, hace 2 horas.

@cmaureir
Copy link
Collaborator

No hay problema con eso, las builds rotas son pocas y puedo reiniciarlas cuando este esté dentro.

@cmaureir cmaureir merged commit 37de040 into python:3.8 Oct 11, 2020
@mondeja mondeja deleted the freeze-pospell branch October 11, 2020 16:28
@cmaureir
Copy link
Collaborator

Me parece super extraño igual...sí o sí que los fallos fueron por la última versión, pero localmente no puedo reproducir el problema con la ultima versión, pero sí vi los problemas.

Si miras esta build https://travis-ci.com/github/python/python-docs-es/builds/189313527
no reconoce la palabra "miembr" en library/enum.po, pero esa palabra no está en las líneas que pone, pero si encontré un error con la entrada: Doc/library/enum.rst:1051 que está escrito miembr0

@mondeja
Copy link
Contributor Author

mondeja commented Oct 11, 2020

No tengo ninguna duda que los fallos fueron en la última version ya que fui yo quién abrió el issue que ha generado el patch. El desarrollador ha cambiado la forma de lanzar los errores en pospell porque antes ignoraba demasiadas apariciones de palabras.

no reconoce la palabra "miembr" en library/enum.po, pero esa palabra no está en las líneas que pone, pero si encontré un error con la entrada: Doc/library/enum.rst:1051 que está escrito miembr0

Pospell hace lo siguiente:

  1. Del archivo a revisar, elimina los números, caracteres como -, las versiones, los links... etc (puedes ver todas las expresiones regulares que utiliza aquí).
  2. Con el nuevo texto en limpio, lo pasa a hunspell para ver los fallos.
  3. Por cada fallo encontrado (esto puede ser lo más extraño cuando se ve el resultado), comprueba por cada línea del texto original si existe en esa línea y, si es así, lo imprime como error. Esto es demasiado flexible ya que, por ejemplo, si encuentra la palabra v, va a indicar un error por cada mensaje que contenga una v.

Por lo que, cuando encuentra la palabra miembr0, hunspell elimina el número 0 y da como resultado miembr en todas las apariciones de miembro, por eso la palabra no está en las líneas que pone. Ya te digo, es demasiado flexible, muy poco preciso. En la versión 1.0.5 este proceso se realizaba de otra forma que ignoraba apariciones generadas por hunspell, por lo que miembr0 fue ignorado en su día.

Puedes comprobar que hunspell elimina el número 0 en el análisis de miembr0 ejecutando:

echo 'miembr0' | hunspell -d es_ES -l

Estoy depurando los falsos positivos para abrir un issue o un pull en pospell. Hasta que no esté mejor depurado conviene congelar en la 1.0.5, aunque esta ignore muchos verdaderos positivos.

@cmaureir
Copy link
Collaborator

Genial, gracias por ocuparte 👍

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