Skip to content

Commit 7fd02af

Browse files
authored
Merge branch 'python:3.12' into fix-fuzzy-entries-library-directory
2 parents 1b3c93c + 811360b commit 7fd02af

File tree

2 files changed

+98
-51
lines changed

2 files changed

+98
-51
lines changed

.github/workflows/main.yml

+53-10
Original file line numberDiff line numberDiff line change
@@ -11,34 +11,77 @@ jobs:
1111
name: Test
1212
runs-on: ubuntu-22.04
1313
steps:
14+
# Obtención del código
1415
- uses: actions/checkout@v4
16+
with:
17+
submodules: 'true'
18+
# Necesario para que tj-actions/changed-files se ejecute
19+
# dentro de un tiempo adecuado
20+
fetch-depth: 2
21+
22+
# Instalación de dependencias
1523
- name: Preparar Python v3.11
1624
uses: actions/setup-python@v4
1725
with:
1826
python-version: "3.11"
1927
cache: "pip"
20-
- name: Sincronizar con CPython
28+
- name: Configura dpkg/apt para ejecutarse de manera eficiente
29+
uses: abbbi/github-actions-tune@v1
30+
- name: Deshabilita triggers de postgresql-common
31+
run: sudo sed -i '/postgresql-common/d' /var/lib/dpkg/triggers/File
32+
- name: Instalar dependencias de sistema
2133
run: |
22-
git submodule update --init --depth=1 cpython
23-
- name: Instalar dependencias
34+
sudo apt-get install -y hunspell hunspell-es gettext language-pack-es locales-all
35+
- name: Instalar dependencias de Python
2436
run: |
25-
sudo apt-get update
26-
sudo apt-get install -y hunspell hunspell-es gettext language-pack-es
2737
python -m pip install -r requirements.txt
38+
- name: Listar paquetes y versiones
39+
run: |
2840
pip list
2941
pospell --version
3042
powrap --version
43+
44+
# Cálculo de los archivos .po a verificar.
45+
# En el caso de un PR, sólo se chequean los .po que se están editando,
46+
# mientras que en caseo de un push a las ramas 3.* queremos revisar
47+
# todos los archivos
48+
- name: Obtiene la lista de archivos .po con cambios (sólo en PRs)
49+
if: github.event_name == 'pull_request'
50+
id: changed-po-files
51+
uses: tj-actions/changed-files@v40
52+
with:
53+
files: |
54+
**/*.po
55+
- name: Calcula lista de archivos .po a revisar
56+
id: po-files-to-check
57+
env:
58+
PO_FILES_TO_CHECK: ${{ steps.changed-po-files.conclusion == 'skipped' && '**/*.po' || steps.changed-po-files.outputs.all_changed_files }}
59+
run: |
60+
echo "po_files_to_check=$PO_FILES_TO_CHECK" >> $GITHUB_OUTPUT
61+
echo "any_po_files_to_check=`test -n \"$PO_FILES_TO_CHECK\" && echo true || echo false`" >> $GITHUB_OUTPUT
62+
- name: Muestra outputs de steps anteriores para debugueo
63+
env:
64+
CHANGED_PO_FILES: ${{ toJson(steps.changed-po-files) }}
65+
PO_FILES_TO_CHECK: ${{ toJson(steps.po-files-to-check) }}
66+
run: |
67+
echo "steps.changed-po-files=$PO_FILES_TO_CHECK"
68+
echo "steps.po-files-to-change.$CHANGED_PO_FILES"
69+
70+
# Chequeos a realizar
3171
- name: TRANSLATORS
3272
run: |
3373
diff -Naur TRANSLATORS <(LANG=es python scripts/sort.py < TRANSLATORS)
3474
- name: Powrap
35-
run: powrap --check --quiet **/*.po
75+
if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true'
76+
run: powrap --check --quiet ${{ steps.po-files-to-check.outputs.po_files_to_check }}
3677
- name: Sphinx lint
37-
run: |
38-
sphinx-lint */*.po
78+
if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true'
79+
run: sphinx-lint ${{ steps.po-files-to-check.outputs.po_files_to_check }}
3980
- name: Pospell
40-
run: |
41-
python scripts/check_spell.py
81+
if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true'
82+
run: python scripts/check_spell.py ${{ steps.po-files-to-check.outputs.po_files_to_check }}
83+
84+
# Construcción de la documentación
4285
- name: Construir documentación
4386
run: |
4487
# FIXME: Relative paths for includes in 'cpython'

library/weakref.po

+45-41
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,16 @@ msgstr ""
1111
"Project-Id-Version: Python 3.8\n"
1212
"Report-Msgid-Bugs-To: \n"
1313
"POT-Creation-Date: 2023-10-12 19:43+0200\n"
14-
"PO-Revision-Date: 2021-08-04 21:07+0200\n"
15-
"Last-Translator: Cristián Maureira-Fredes <cmaureirafredes@gmail.com>\n"
16-
"Language: es_PE\n"
14+
"PO-Revision-Date: 2023-11-05 22:46+0100\n"
15+
"Last-Translator: Andrea Alegre <devel@andrea.mozmail.com>\n"
1716
"Language-Team: python-doc-es\n"
18-
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
17+
"Language: es\n"
1918
"MIME-Version: 1.0\n"
2019
"Content-Type: text/plain; charset=utf-8\n"
2120
"Content-Transfer-Encoding: 8bit\n"
21+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
2222
"Generated-By: Babel 2.13.0\n"
23+
"X-Generator: Poedit 3.4\n"
2324

2425
#: ../Doc/library/weakref.rst:4
2526
msgid ":mod:`weakref` --- Weak references"
@@ -144,20 +145,19 @@ msgstr ""
144145
"`weakref` para el beneficio de usuarios avanzados."
145146

146147
#: ../Doc/library/weakref.rst:68
147-
#, fuzzy
148148
msgid ""
149149
"Not all objects can be weakly referenced. Objects which support weak "
150150
"references include class instances, functions written in Python (but not in "
151151
"C), instance methods, sets, frozensets, some :term:`file objects <file "
152152
"object>`, :term:`generators <generator>`, type objects, sockets, arrays, "
153153
"deques, regular expression pattern objects, and code objects."
154154
msgstr ""
155-
"No todos los objetos pueden ser débilmente referenciados; esos objetos que "
156-
"pueden incluir instancias de clases, funciones escritas en Python (pero no "
157-
"en C), métodos de instancia, conjuntos, frozensets, algunos :term:`objetos "
158-
"de archivo <file object>`, :term:`generadores <generator>`, objetos de "
159-
"tipos, sockets, arreglos, deques, objetos de patrones de expresiones "
160-
"regulares, y objetos código."
155+
"No todos los objetos pueden ser débilmente referenciados. Objetos que "
156+
"soportan referencias débiles pueden incluir instancias de clases, funciones "
157+
"escritas en Python (pero no en C), métodos de instancia, conjuntos, "
158+
"frozensets, algunos :term:`objetos archivo <file object>`, :term:"
159+
"`generadores <generator>`, objetos de tipo, sockets, arreglos, deques, "
160+
"objetos de patrones de expresiones regulares, y objetos código."
161161

162162
#: ../Doc/library/weakref.rst:74
163163
msgid "Added support for thread.lock, threading.Lock, and code objects."
@@ -234,15 +234,15 @@ msgstr ""
234234
"retrollamada registrada más antigua."
235235

236236
#: ../Doc/library/weakref.rst:112
237-
#, fuzzy
238237
msgid ""
239238
"Exceptions raised by the callback will be noted on the standard error "
240239
"output, but cannot be propagated; they are handled in exactly the same way "
241240
"as exceptions raised from an object's :meth:`~object.__del__` method."
242241
msgstr ""
243-
"Las excepciones lanzadas por la retrollamada serán anotadas en la salida de "
244-
"error estándar, pero no pueden ser propagadas; son manejadas igual que las "
245-
"excepciones lanzadas por el método :meth:`__del__` de un objeto."
242+
"Las excepciones lanzadas por la retrollamada serán visibles en la salida de "
243+
"error estándar pero no pueden ser propagadas; son manejadas de la misma "
244+
"forma que las excepciones lanzadas por el método :meth:`~object.__del__` de "
245+
"un objeto."
246246

247247
#: ../Doc/library/weakref.rst:116
248248
msgid ""
@@ -291,7 +291,6 @@ msgid "Added the :attr:`__callback__` attribute."
291291
msgstr "Se añadió el atributo :attr:`__callback__`."
292292

293293
#: ../Doc/library/weakref.rst:140
294-
#, fuzzy
295294
msgid ""
296295
"Return a proxy to *object* which uses a weak reference. This supports use "
297296
"of the proxy in most contexts instead of requiring the explicit "
@@ -309,15 +308,18 @@ msgstr ""
309308
"retornado tendrá un tipo ``ProxyType`` o ``CallableProxyType``, dependiendo "
310309
"si *object* es invocable. Objetos Proxy no son :term:`hashable` "
311310
"independiente de la referencia; esto evita un número de problemas "
312-
"relacionados a su naturaleza mutable fundamental, y previene su uso como "
313-
"claves de diccionario. *callback* es el mismo como el parámetro del mismo "
314-
"nombre de la función :func:`ref`."
311+
"relacionados a su naturaleza mutable fundamental, y evita su uso como clave "
312+
"de diccionario. *callback* corresponde al parámetro del mismo nombre de la "
313+
"función :func:`ref`."
315314

316315
#: ../Doc/library/weakref.rst:149
317316
msgid ""
318317
"Accessing an attribute of the proxy object after the referent is garbage "
319318
"collected raises :exc:`ReferenceError`."
320319
msgstr ""
320+
"Acceder al atributo de un objeto proxy después de que el objeto referenciado "
321+
"haya sido recolectado por el recolector de basura lanza :exc:"
322+
"`ReferenceError`."
321323

322324
#: ../Doc/library/weakref.rst:152
323325
msgid ""
@@ -363,10 +365,16 @@ msgid ""
363365
"not replace the existing key. Due to this, when the reference to the "
364366
"original key is deleted, it also deletes the entry in the dictionary::"
365367
msgstr ""
368+
"Nótese que cuando una clave cuyo valor es igual a una clave ya existente "
369+
"(pero no tienen igual identidad) es insertado en el diccionario, el valor es "
370+
"reemplazado pero no se reemplaza la clave existente. Debido a esto, cuando "
371+
"la referencia a la clave original es eliminada, se elimina la entrada en el "
372+
"diccionario::"
366373

367374
#: ../Doc/library/weakref.rst:188
368375
msgid "A workaround would be to remove the key prior to reassignment::"
369376
msgstr ""
377+
"Una solución alternativa sería remover la clave antes de la reasignación::"
370378

371379
#: ../Doc/library/weakref.rst:199
372380
msgid "Added support for ``|`` and ``|=`` operators, specified in :pep:`584`."
@@ -412,14 +420,12 @@ msgstr ""
412420
"pep:`584`."
413421

414422
#: ../Doc/library/weakref.rst:223
415-
#, fuzzy
416423
msgid ""
417424
":class:`WeakValueDictionary` objects have an additional method that has the "
418425
"same issues as the :meth:`WeakKeyDictionary.keyrefs` method."
419426
msgstr ""
420427
"Los objetos :class:`WeakValueDictionary` tienen un método adicional que "
421-
"tiene los mismos problemas que el método :meth:`keyrefs` de los objetos :"
422-
"class:`WeakyKeyDictionary`."
428+
"posee los mismos problemas que el método :meth:`WeakKeyDictionary.keyrefs`."
423429

424430
#: ../Doc/library/weakref.rst:229
425431
msgid "Return an iterable of the weak references to the values."
@@ -452,6 +458,8 @@ msgid ""
452458
"*callback* is the same as the parameter of the same name to the :func:`ref` "
453459
"function."
454460
msgstr ""
461+
"*callback* corresponde al parámetro del mismo nombre de la función :func:"
462+
"`ref`."
455463

456464
#: ../Doc/library/weakref.rst:270
457465
msgid ""
@@ -480,7 +488,6 @@ msgstr ""
480488
"`None`."
481489

482490
#: ../Doc/library/weakref.rst:280
483-
#, fuzzy
484491
msgid ""
485492
"Exceptions raised by finalizer callbacks during garbage collection will be "
486493
"shown on the standard error output, but cannot be propagated. They are "
@@ -490,7 +497,7 @@ msgstr ""
490497
"Las excepciones lanzadas por retrollamadas de finalizadores durante la "
491498
"recolección de basura serán mostradas en la salida de error estándar, pero "
492499
"no pueden ser propagadas. Son gestionados de la misma forma que las "
493-
"excepciones lanzadas del método :meth:`__del__` de un objeto o la "
500+
"excepciones lanzadas por el método :meth:`~object.__del__` de un objeto o la "
494501
"retrollamada de una referencia débil."
495502

496503
#: ../Doc/library/weakref.rst:286
@@ -510,8 +517,9 @@ msgid ""
510517
"replaced by :const:`None`."
511518
msgstr ""
512519
"Un finalizador nunca invocará su retrollamada durante la última parte del :"
513-
"term:`interpreter shutdown <apagado del intérprete>` cuando los módulos "
514-
"globales están sujetos a ser reemplazados por :const:`None`."
520+
"term:`apagado del intérprete <interpreter shutdown>` cuando las variables "
521+
"globales del módulo (globals) están sujetos a ser reemplazados por :const:"
522+
"`None`."
515523

516524
#: ../Doc/library/weakref.rst:296
517525
msgid ""
@@ -734,9 +742,8 @@ msgstr ""
734742
"Por ejemplo"
735743

736744
#: ../Doc/library/weakref.rst:526
737-
#, fuzzy
738745
msgid "Comparing finalizers with :meth:`~object.__del__` methods"
739-
msgstr "Comparando finalizadores con los métodos :meth:`__del__`"
746+
msgstr "Comparando finalizadores con los métodos :meth:`~object.__del__`"
740747

741748
#: ../Doc/library/weakref.rst:528
742749
msgid ""
@@ -753,45 +760,42 @@ msgid "the object is garbage collected,"
753760
msgstr "el objeto es recolectado por el recolector de basura,"
754761

755762
#: ../Doc/library/weakref.rst:533
756-
#, fuzzy
757763
msgid "the object's :meth:`!remove` method is called, or"
758-
msgstr "el método :meth:`remove` del objeto es llamado, o"
764+
msgstr "el método :meth:`!remove` del objeto es llamado, o"
759765

760766
#: ../Doc/library/weakref.rst:534
761767
msgid "the program exits."
762768
msgstr "el programa sale."
763769

764770
#: ../Doc/library/weakref.rst:536
765-
#, fuzzy
766771
msgid ""
767772
"We might try to implement the class using a :meth:`~object.__del__` method "
768773
"as follows::"
769774
msgstr ""
770-
"Nosotros podemos intentar implementar la clase usando el método :meth:"
771-
"`__del__` como sigue::"
775+
"Podemos intentar implementar la clase usando un método :meth:`~object."
776+
"__del__` como se muestra a continuación::"
772777

773778
#: ../Doc/library/weakref.rst:555
774-
#, fuzzy
775779
msgid ""
776780
"Starting with Python 3.4, :meth:`~object.__del__` methods no longer prevent "
777781
"reference cycles from being garbage collected, and module globals are no "
778782
"longer forced to :const:`None` during :term:`interpreter shutdown`. So this "
779783
"code should work without any issues on CPython."
780784
msgstr ""
781-
"Empezando con Python 3.4, Los métodos :meth:`__del__` ya no previenen ciclos "
782-
"de referencia de ser recolectado como basura, y los módulos globales ya no "
783-
"fuerzan :const:`None` durante :term:`interpreter shutdown`. Por lo que este "
784-
"código debe trabajar sin ningún problema en CPython."
785+
"A partir de Python 3.4, los métodos :meth:`~object.__del__` ya no impiden "
786+
"que los ciclos de referencia sean recolectados como basura y las variables "
787+
"globales del módulo (globals) ya no son forzados a :const:`None` durante el :"
788+
"term:`apagado del intérprete <interpreter shutdown>`. Por lo tanto, este "
789+
"código debería funcionar sin ningún problema en CPython."
785790

786791
#: ../Doc/library/weakref.rst:560
787-
#, fuzzy
788792
msgid ""
789793
"However, handling of :meth:`~object.__del__` methods is notoriously "
790794
"implementation specific, since it depends on internal details of the "
791795
"interpreter's garbage collector implementation."
792796
msgstr ""
793-
"Sin embargo, la gestión de métodos :meth:`__del__` es notoriamente "
794-
"específico por la implementación, ya que depende de detalles internos de la "
797+
"Sin embargo, la gestión de métodos :meth:`~object.__del__` es notoriamente "
798+
"específica a la implementación, ya que depende de detalles internos de la "
795799
"implementación del recolector de basura del intérprete."
796800

797801
#: ../Doc/library/weakref.rst:564

0 commit comments

Comments
 (0)