python / python-docs-es

Spanish translation of the Python documentation.
https://python-docs-es.readthedocs.io/
Other
319 stars 378 forks source link

Mensaje de error con pospell #1150

Open eamanu opened 3 years ago

eamanu commented 3 years ago

Buenas! Estoy viendo que pospel en el build de https://github.com/python/python-docs-es/pull/1144 da este mensaje que se reproduce localmente:

<rst-doc>:1: (ERROR/3) RFC number must be a number greater than or equal to 1; "RFC 2045 section 6.8 <2045#section-6.8>" is invalid. while parsing: Los datos codificados tendrán líneas nuevas cada 76 caracteres según :rfc:`RFC 2045 section 6.8 <2045#section-6.8>`, que era la especificación estándar de facto base64 cuando se escribió la especificación XML-RPC.

Esa línea se introdujo acá: https://github.com/python/python-docs-es/commit/ee86f034a7334e44816a30275ea24981a3a72295

cmaureir commented 3 years ago

Pues realmente no puedo encontrar cual es el error

#: ../Doc/library/xmlrpc.client.rst:336                                                             
msgid ""                                                                                            
"The encoded data will have newlines every 76 characters as per :rfc:`RFC "                         
"2045 section 6.8 <2045#section-6.8>`, which was the de facto standard base64 "                        
"specification when the XML-RPC spec was written."                                                     
msgstr ""                                                                                              
"Los datos codificados tendrán líneas nuevas cada 76 caracteres según :rfc:"                           
"`RFC 2045 section 6.8 <2045#section-6.8>`, que era la especificación "                                                                                
"estándar de facto base64 cuando se escribió la especificación XML-RPC."
eamanu commented 3 years ago

Por lo que pude investigar sería un problema en la documentación de Python rfc espera un número no una frase. debería ser algo así

:rfc:`2045`

Esto se repite en muy pocas partes de la documentación; http://paste.debian.net/1173766

mondeja commented 3 years ago

He abierto un issue en Sphinx para que se acepten roles RFC con links apuntando a secciones de un RFC.

mondeja commented 3 years ago

Parece que es un error lanzado por pospell. Creo que lo mejor es esperar a #1061 para volver a probar.

eamanu commented 3 years ago

@mondeja con la nueva version de pospell no tenemos ese error?

mondeja commented 3 years ago

Pues seguimos teniéndolo. He estado investigando más a fondo y parece que es un bug con docutils, que no es capaz de interpretar roles RFC con textos largos. He abierto un issue en sourceforge, a ver si se soluciona.

eamanu commented 3 years ago

Para mi es la documentación de python la que aplica mal el :rfc:. Consulté pero todavía no tengo novedades.

mondeja commented 3 years ago

Definitivamente se produce en pospell, pero dentro del parsing con docutils. Puedes probar el siguiente ejemplo mínimo reproducible y verás el mensaje de error:

import docutils.parsers.rst
import docutils.frontend
from docutils.utils import new_document

components = (docutils.parsers.rst.Parser,)
parser = docutils.parsers.rst.Parser()
settings = docutils.frontend.OptionParser(
    components=components
).get_default_values()
document = new_document("<rst-doc>", settings=settings)

content = ("Los datos codificados tendrán líneas nuevas cada 76 caracteres según "
           ":rfc:`RFC 2045 section 6.8 <2045#section-6.8>`, que era la especificación "
           "estándar de facto base64 cuando se escribió la especificación XML-RPC.")
parser.parse(content, document)
cmaureir commented 3 years ago

Al final lo que hice fue modificar el enlace, para bypassearlo, pero dejé un comentario

# Se hizo una excepción para que :rfc:`...` comience por números y no genere un error               
#: ../Doc/library/xmlrpc.client.rst:336                                                             
msgid ""                                                                                            
"The encoded data will have newlines every 76 characters as per :rfc:`RFC "                         
"2045 section 6.8 <2045#section-6.8>`, which was the de facto standard base64 "                                                                                                                                                              
"specification when the XML-RPC spec was written."                                                  
msgstr ""                                                                                           
"Los datos codificados tendrán líneas nuevas cada 76 caracteres según RFC "                         
"2045 sección 6.8 :rfc:`2045#section-6.8`, que era la especificación estándar "                     
"de facto base64 cuando se escribió la especificación XML-RPC."