Skip to content

Commit fe28587

Browse files
authored
Introduce sphinx-lint (#2234)
Estos commits agregan sphinx-lint a los varios lugares donde se realizan chequeos (CI, pre-commit, Makefile). Para asegurar que nuevas versiones de sphinx-lint que pueden traer nuevos correctores no quiebran nuestros builds, la versión de sphinx-lint está definida a un valor exacto en vez de dejarla fluctuar; más tarde un dependabot nos puede avisar cuando haya una nueva versión ;) Escribí un poquito de documentación que ojalá sea útil para cuando estos errores aparezcan, pero no sé si es suficiente.
1 parent 4bacec5 commit fe28587

File tree

9 files changed

+58
-7
lines changed

9 files changed

+58
-7
lines changed

.github/workflows/main.yml

+3
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ jobs:
3232
diff -Naur TRANSLATORS <(LANG=es python scripts/sort.py < TRANSLATORS)
3333
- name: Powrap
3434
run: powrap --check --quiet **/*.po
35+
- name: Sphinx lint
36+
run: |
37+
sphinx-lint */*.po
3538
- name: Pospell
3639
run: |
3740
python scripts/check_spell.py

.overrides/reviewers-guide.rst

+37
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,43 @@ Tres razones por las que puede fallar el *build* de Travis:
4848

4949
Para facilitar la comparación de ficheros se emplea este programa que va a hacer que todas las líneas tengan el mismo tamaño. Solucionar este problema en nuestra traducción es muy sencillo, solo hay que instalar la herramienta powrap en nuestro entorno y ejecutar el comando ``powrap nuestro_fichero.po``
5050

51+
``sphinx-lint`` falla
52+
---------------------
53+
54+
El formato en el que la documentación de python está escrito
55+
(`reStructredText <https://es.wikipedia.org/wiki/ReStructuredText>`_ , o rst)
56+
puede ser difícil de manejar y escribir correctamente.
57+
``sphinx-lint`` ayuda a encontrar errores comunes al momento de escribir
58+
entradas en este formato, y advierte al respecto.
59+
60+
Entre los errores más comunes están:
61+
62+
* Textos literales no están separados por un espacio
63+
respecto a las palabras que lo rodean:
64+
65+
* Mal: :literal:`no hay espacio antes del\`\`literal\`\``
66+
* Mal: :literal:`después del \`\`literal \`\`no hay un espacio`
67+
* Bien: :literal:`hay espacio antes del \`\`literal\`\` y después también`
68+
69+
* Textos literales comienzan o terminan con espacios:
70+
71+
* Mal: :literal:`\`\` literal empieza con un espacio\`\``
72+
* Mal: :literal:`\`\`literal termina con un espacio \`\``
73+
* Bien: :literal:`\`\`literal no termina ni empieza con espacios\`\``
74+
75+
* Textos literales no están delineados con dos acentos fuertes:
76+
77+
* Mal: :literal:`\`\`falta uno al final :(\``
78+
* Mal: :literal:`\`falta uno al principio :(\`\``
79+
* Bien: :literal:`\`\`todo bien :)\`\``
80+
81+
* Enlaces no terminan en un guión bajo:
82+
83+
* Mal: :literal:`\`<https://python.org>\``
84+
* Mal: :literal:`\`Python <https://python.org>\``
85+
* Bien: :literal:`\`<https://python.org>\`_`
86+
* Bien: :literal:`\`Python <https://python.org>\`_`
87+
5188

5289
``pospell`` falla
5390
---------------------

.pre-commit-config.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,9 @@ repos:
1111
language: python
1212
additional_dependencies: ['pospell>=1.1']
1313
files: \.po$
14+
- id: lint
15+
name: Run sphinx linting
16+
entry: sphinx-lint
17+
language: python
18+
additional_dependencies: ['sphinx-lint==0.6.7']
19+
files: \.po$

Makefile

+4
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,10 @@ progress: venv
9999
spell: venv
100100
$(VENV)/bin/python scripts/check_spell.py
101101

102+
.PHONY: lint
103+
lint: venv
104+
$(VENV)/bin/python -m sphinxlint */*.po
105+
102106

103107
.PHONY: wrap
104108
wrap: venv

glossary.po

+2-2
Original file line numberDiff line numberDiff line change
@@ -1705,7 +1705,7 @@ msgid ""
17051705
msgstr ""
17061706
"En entornos multi-hilos, el método LBYL tiene el riesgo de introducir "
17071707
"condiciones de carrera entre los hilos que están \"mirando\" y los que están "
1708-
"\"saltando\". Por ejemplo, el código, `if key in mapping: return "
1708+
"\"saltando\". Por ejemplo, el código, ``if key in mapping: return "
17091709
"mapping[key]`` puede fallar si otro hilo remueve *key* de *mapping* después "
17101710
"del test, pero antes de retornar el valor. Este problema puede ser resuelto "
17111711
"usando bloqueos o empleando el método EAFP."
@@ -2469,7 +2469,7 @@ msgid ""
24692469
msgstr ""
24702470
"Cuando es usado para referirse a los módulos, *nombre completamente "
24712471
"calificado* significa la ruta con puntos completo al módulo, incluyendo "
2472-
"cualquier paquete padre, por ejemplo, `email.mime.text``::"
2472+
"cualquier paquete padre, por ejemplo, ``email.mime.text``::"
24732473

24742474
#: ../Doc/glossary.rst:1063
24752475
msgid "reference count"

library/platform.po

+2-2
Original file line numberDiff line numberDiff line change
@@ -375,9 +375,9 @@ msgid ""
375375
"to ``'Enterprise'``, ``'IoTUAP'``, ``'ServerStandard'``, and "
376376
"``'nanoserver'``."
377377
msgstr ""
378-
"Retorna una cadena que representa la edición actual de Windows o ``None``si "
378+
"Retorna una cadena que representa la edición actual de Windows o ``None`` si "
379379
"el valor no puede ser determinado. Los valores posibles incluyen, entre "
380-
"otros, ``'Enterprise'``, ``'IoTUAP'``, ``'ServerStandard'`` y "
380+
"otros, ``'Enterprise'``, ``'IoTUAP'``, ``'ServerStandard'`` y "
381381
"``'nanoserver'``."
382382

383383
#: ../Doc/library/platform.rst:224

library/queue.po

+2-2
Original file line numberDiff line numberDiff line change
@@ -391,8 +391,8 @@ msgid ""
391391
"or :mod:`weakref` callbacks."
392392
msgstr ""
393393
"Este método tiene una implementación en C la cual ha sido usada "
394-
"anteriormente. Los llamados ``put()`` o ``get()``pueden ser interrumpidos "
395-
"por otro llamado ``put()``en el mismo hilo sin bloquear o corrompoer el "
394+
"anteriormente. Los llamados ``put()`` o ``get()`` pueden ser interrumpidos "
395+
"por otro llamado ``put()`` en el mismo hilo sin bloquear o corromper el "
396396
"estado interno dentro de la fila. Esto lo hace apropiado para su uso en "
397397
"destructores como los métodos ``__del__`` o las retrollamadas :mod:`weakref`."
398398

requirements.txt

+1
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ pre-commit
1313
sphinx-autorun
1414
sphinxemoji
1515
sphinx-tabs
16+
sphinx-lint==0.6.7
1617
tabulate

whatsnew/2.5.po

+1-1
Original file line numberDiff line numberDiff line change
@@ -1468,7 +1468,7 @@ msgstr ""
14681468
"hasta ``2**31 - 1`` = 2147483647 elementos. (En realidad, hay algunos "
14691469
"modelos de programación diferentes que los compiladores de C de 64 bits "
14701470
"pueden usar; consulte https://unix.org/version2/whatsnew/lp64_wp.html para "
1471-
"ver una discusión, pero el modelo más comúnmente disponible deja :c: expr:"
1471+
"ver una discusión, pero el modelo más comúnmente disponible deja :c:expr:"
14721472
"`int` como 32 bits)."
14731473

14741474
#: ../Doc/whatsnew/2.5.rst:888

0 commit comments

Comments
 (0)