diff --git a/c-api/contextvars.po b/c-api/contextvars.po index 4677050c..3dd55a24 100644 --- a/c-api/contextvars.po +++ b/c-api/contextvars.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.7\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-08-03 23:47+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -18,105 +18,116 @@ msgstr "" msgid "Context Variables Objects" msgstr "" -#: ../Doc/c-api/contextvars.rst:10 +#: ../Doc/c-api/contextvars.rst:13 +msgid "" +"In Python 3.7.1 the signatures of all context variables C APIs were " +"**changed** to use :c:type:`PyObject` pointers instead of :c:type:" +"`PyContext`, :c:type:`PyContextVar`, and :c:type:`PyContextToken`, e.g.::" +msgstr "" + +#: ../Doc/c-api/contextvars.rst:24 +msgid "See :issue:`34762` for more details." +msgstr "" + +#: ../Doc/c-api/contextvars.rst:29 msgid "" "This section details the public C API for the :mod:`contextvars` module." msgstr "" -#: ../Doc/c-api/contextvars.rst:14 +#: ../Doc/c-api/contextvars.rst:33 msgid "" "The C structure used to represent a :class:`contextvars.Context` object." msgstr "" -#: ../Doc/c-api/contextvars.rst:19 +#: ../Doc/c-api/contextvars.rst:38 msgid "" "The C structure used to represent a :class:`contextvars.ContextVar` object." msgstr "" -#: ../Doc/c-api/contextvars.rst:24 +#: ../Doc/c-api/contextvars.rst:43 msgid "The C structure used to represent a :class:`contextvars.Token` object." msgstr "" -#: ../Doc/c-api/contextvars.rst:28 +#: ../Doc/c-api/contextvars.rst:47 msgid "The type object representing the *context* type." msgstr "" -#: ../Doc/c-api/contextvars.rst:32 +#: ../Doc/c-api/contextvars.rst:51 msgid "The type object representing the *context variable* type." msgstr "" -#: ../Doc/c-api/contextvars.rst:36 +#: ../Doc/c-api/contextvars.rst:55 msgid "The type object representing the *context variable token* type." msgstr "" -#: ../Doc/c-api/contextvars.rst:39 +#: ../Doc/c-api/contextvars.rst:58 msgid "Type-check macros:" msgstr "" -#: ../Doc/c-api/contextvars.rst:43 +#: ../Doc/c-api/contextvars.rst:62 msgid "" "Return true if *o* is of type :c:data:`PyContext_Type`. *o* must not be " "*NULL*. This function always succeeds." msgstr "" -#: ../Doc/c-api/contextvars.rst:48 +#: ../Doc/c-api/contextvars.rst:67 msgid "" "Return true if *o* is of type :c:data:`PyContextVar_Type`. *o* must not be " "*NULL*. This function always succeeds." msgstr "" -#: ../Doc/c-api/contextvars.rst:53 +#: ../Doc/c-api/contextvars.rst:72 msgid "" "Return true if *o* is of type :c:data:`PyContextToken_Type`. *o* must not be " "*NULL*. This function always succeeds." msgstr "" -#: ../Doc/c-api/contextvars.rst:57 +#: ../Doc/c-api/contextvars.rst:76 msgid "Context object management functions:" msgstr "" -#: ../Doc/c-api/contextvars.rst:61 +#: ../Doc/c-api/contextvars.rst:80 msgid "" "Create a new empty context object. Returns ``NULL`` if an error has " "occurred." msgstr "" -#: ../Doc/c-api/contextvars.rst:66 +#: ../Doc/c-api/contextvars.rst:85 msgid "" "Create a shallow copy of the passed *ctx* context object. Returns ``NULL`` " "if an error has occurred." msgstr "" -#: ../Doc/c-api/contextvars.rst:71 +#: ../Doc/c-api/contextvars.rst:90 msgid "" "Create a shallow copy of the current thread context. Returns ``NULL`` if an " "error has occurred." msgstr "" -#: ../Doc/c-api/contextvars.rst:76 +#: ../Doc/c-api/contextvars.rst:95 msgid "" "Set *ctx* as the current context for the current thread. Returns ``0`` on " "success, and ``-1`` on error." msgstr "" -#: ../Doc/c-api/contextvars.rst:81 +#: ../Doc/c-api/contextvars.rst:100 msgid "" "Deactivate the *ctx* context and restore the previous context as the current " "context for the current thread. Returns ``0`` on success, and ``-1`` on " "error." msgstr "" -#: ../Doc/c-api/contextvars.rst:87 +#: ../Doc/c-api/contextvars.rst:106 msgid "" "Clear the context variable free list. Return the total number of freed " "items. This function always succeeds." msgstr "" -#: ../Doc/c-api/contextvars.rst:91 +#: ../Doc/c-api/contextvars.rst:110 msgid "Context variable functions:" msgstr "" -#: ../Doc/c-api/contextvars.rst:95 +#: ../Doc/c-api/contextvars.rst:114 msgid "" "Create a new ``ContextVar`` object. The *name* parameter is used for " "introspection and debug purposes. The *def* parameter may optionally " @@ -124,42 +135,42 @@ msgid "" "occurred, this function returns ``NULL``." msgstr "" -#: ../Doc/c-api/contextvars.rst:102 +#: ../Doc/c-api/contextvars.rst:121 msgid "" "Get the value of a context variable. Returns ``-1`` if an error has " "occurred during lookup, and ``0`` if no error occurred, whether or not a " "value was found." msgstr "" -#: ../Doc/c-api/contextvars.rst:106 +#: ../Doc/c-api/contextvars.rst:125 msgid "" "If the context variable was found, *value* will be a pointer to it. If the " "context variable was *not* found, *value* will point to:" msgstr "" -#: ../Doc/c-api/contextvars.rst:109 +#: ../Doc/c-api/contextvars.rst:128 msgid "*default_value*, if not ``NULL``;" msgstr "" -#: ../Doc/c-api/contextvars.rst:110 +#: ../Doc/c-api/contextvars.rst:129 msgid "the default value of *var*, if not ``NULL``;" msgstr "" -#: ../Doc/c-api/contextvars.rst:111 +#: ../Doc/c-api/contextvars.rst:130 msgid "``NULL``" msgstr "``NULL``" -#: ../Doc/c-api/contextvars.rst:113 +#: ../Doc/c-api/contextvars.rst:132 msgid "If the value was found, the function will create a new reference to it." msgstr "" -#: ../Doc/c-api/contextvars.rst:117 +#: ../Doc/c-api/contextvars.rst:136 msgid "" "Set the value of *var* to *value* in the current context. Returns a pointer " -"to a :c:type:`PyContextToken` object, or ``NULL`` if an error has occurred." +"to a :c:type:`PyObject` object, or ``NULL`` if an error has occurred." msgstr "" -#: ../Doc/c-api/contextvars.rst:123 +#: ../Doc/c-api/contextvars.rst:142 msgid "" "Reset the state of the *var* context variable to that it was in before :c:" "func:`PyContextVar_Set` that returned the *token* was called. This function " diff --git a/faq/general.po b/faq/general.po index 9c896955..f77b9806 100644 --- a/faq/general.po +++ b/faq/general.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" -"PO-Revision-Date: 2018-10-04 17:55+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 17:47+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -660,42 +660,44 @@ msgstr "" msgid "" "The developers issue \"bugfix\" releases of older versions, so the stability " "of existing releases gradually improves. Bugfix releases, indicated by a " -"third component of the version number (e.g. 2.5.3, 2.6.2), are managed for " +"third component of the version number (e.g. 3.5.3, 3.6.2), are managed for " "stability; only fixes for known problems are included in a bugfix release, " "and it's guaranteed that interfaces will remain the same throughout a series " "of bugfix releases." msgstr "" -"Les problèmes signalés par les développeurs dans les versions correctives " -"des anciennes versions, donc la stabilité des versions existantes " -"s'améliorent continuellement. Les versions correctives, indiquées par le " -"troisième chiffre du numéro de version (e.g. 2.5.2, 2.6.2), sont gérées pour " -"la stabilité, seules les corrections pour les problèmes connus sont inclus " -"dans les versions correctives, et il est garanti que les interfaces " -"resteront les mêmes tout au long de la série de versions correctives." +"Les développeurs fournissent des versions correctives d'anciennes versions, " +"ainsi la stabilité des versions existantes s'améliore. Les versions " +"correctives, indiquées par le troisième chiffre du numéro de version (e.g. " +"2.5.2, 2.6.2), sont gérées pour la stabilité, seules les corrections pour " +"les problèmes connus sont inclus dans les versions correctives, et il est " +"garanti que les interfaces resteront les mêmes tout au long de la série de " +"versions correctives." #: ../Doc/faq/general.rst:314 msgid "" "The latest stable releases can always be found on the `Python download page " -"`_. There are two recommended production-" -"ready versions at this point in time, because at the moment there are two " -"branches of stable releases: 2.x and 3.x. Python 3.x may be less useful " -"than 2.x, since currently there is more third party software available for " -"Python 2 than for Python 3. Python 2 code will generally not run unchanged " -"in Python 3." +"`_. There are two production-ready " +"version of Python: 2.x and 3.x, but the recommended one at this times is " +"Python 3.x. Although Python 2.x is still widely used, `it will not be " +"maintained after January 1, 2020 `_. Python 2.x was known for having more third-party libraries available, " +"however, by the time of this writing, most of the widely used libraries " +"support Python 3.x, and some are even dropping the Python 2.x support." msgstr "" "Les dernières versions stables peuvent toujours être trouvées sur la `page " -"de téléchargement Python `_. Il y a deux " -"versions prêtes à l'emploi recommandées en ce moment, parce qu'il y a deux " -"branches stables : 2.x et 3.x. Python 3.x devrait être moins utile que 2.x, " -"étant donné qu'actuellement il y a plus de paquets tiers disponibles pour " -"Python 2 que pour Python 3. Le code Python 2 ne fonctionnera généralement " -"pas sans changement sous Python 3." +"de téléchargement Python `_. Il existe " +"deux versions stables de Python : 2.x et 3.x, mais seule la version 3 est " +"recommandée. Bien que Python 2 soir encore utilisé, `il ne sera plus " +"maintenu après le 1er janvier 2020 `_. Python 2.x avait la réputation d'avoir plus de bibliothèques tierces " +"que Python 3.x, cependant la tendance s'est inversée et la pluspart des " +"bibliothèques les plus utilisées abandonnent même le support de Python 2.x." -#: ../Doc/faq/general.rst:323 +#: ../Doc/faq/general.rst:325 msgid "How many people are using Python?" msgstr "Combien de personnes utilisent Python ?" -#: ../Doc/faq/general.rst:325 +#: ../Doc/faq/general.rst:327 msgid "" "There are probably tens of thousands of users, though it's difficult to " "obtain an exact count." @@ -703,7 +705,7 @@ msgstr "" "Il y a probablement des dizaines de milliers d'utilisateurs, cependant c'est " "difficile d'obtenir un nombre exact." -#: ../Doc/faq/general.rst:328 +#: ../Doc/faq/general.rst:330 msgid "" "Python is available for free download, so there are no sales figures, and " "it's available from many different sites and packaged with many Linux " @@ -714,7 +716,7 @@ msgstr "" "il est inclus avec de beaucoup de distributions Linux, donc les statistiques " "de téléchargement ne donnent pas la totalité non plus." -#: ../Doc/faq/general.rst:332 +#: ../Doc/faq/general.rst:334 msgid "" "The comp.lang.python newsgroup is very active, but not all Python users post " "to the group or even read it." @@ -722,11 +724,11 @@ msgstr "" "Le forum *comp.lang.python* est très actif, mais tous les utilisateurs de " "Python ne laissent pas de messages dessus ou même ne le lisent pas." -#: ../Doc/faq/general.rst:337 +#: ../Doc/faq/general.rst:339 msgid "Have any significant projects been done in Python?" msgstr "Y a-t-il un nombre de projets significatif réalisés en Python ?" -#: ../Doc/faq/general.rst:339 +#: ../Doc/faq/general.rst:341 msgid "" "See https://www.python.org/about/success for a list of projects that use " "Python. Consulting the proceedings for `past Python conferences `_ and `the Zope application server `_." @@ -782,12 +784,12 @@ msgstr "" "Le nouveau développement est discuté sur `la liste de diffusion python-dev " "`_." -#: ../Doc/faq/general.rst:366 +#: ../Doc/faq/general.rst:368 msgid "Is it reasonable to propose incompatible changes to Python?" msgstr "" "Est-il raisonnable de proposer des changements incompatibles dans Python ?" -#: ../Doc/faq/general.rst:368 +#: ../Doc/faq/general.rst:370 msgid "" "In general, no. There are already millions of lines of Python code around " "the world, so any change in the language that invalidates more than a very " @@ -804,7 +806,7 @@ msgstr "" "documentations, beaucoup de livres ont été écrits au sujet de Python, et " "nous ne voulons pas les rendre invalides soudainement." -#: ../Doc/faq/general.rst:375 +#: ../Doc/faq/general.rst:377 msgid "" "Providing a gradual upgrade path is necessary if a feature has to be " "changed. :pep:`5` describes the procedure followed for introducing backward-" @@ -813,17 +815,17 @@ msgstr "" "En fournissant un rythme de mise à jour progressif qui est obligatoire si " "une fonctionnalité doit être changée." -#: ../Doc/faq/general.rst:381 +#: ../Doc/faq/general.rst:383 msgid "Is Python a good language for beginning programmers?" msgstr "" "Existe-t-il un meilleur langage de programmation pour les programmeurs " "débutants ?" -#: ../Doc/faq/general.rst:383 +#: ../Doc/faq/general.rst:385 msgid "Yes." msgstr "Oui." -#: ../Doc/faq/general.rst:385 +#: ../Doc/faq/general.rst:387 msgid "" "It is still common to start students with a procedural and statically typed " "language such as Pascal, C, or a subset of C++ or Java. Students may be " @@ -847,7 +849,7 @@ msgstr "" "peuvent même probablement travailler avec des objets définis dans leurs " "premiers cours." -#: ../Doc/faq/general.rst:395 +#: ../Doc/faq/general.rst:397 msgid "" "For a student who has never programmed before, using a statically typed " "language seems unnatural. It presents additional complexity that the " @@ -867,7 +869,7 @@ msgstr "" "terme, ce n'est pas nécessairement la meilleure idée pour s'adresser aux " "étudiants durant leur tout premier cours." -#: ../Doc/faq/general.rst:403 +#: ../Doc/faq/general.rst:405 msgid "" "Many other aspects of Python make it a good first language. Like Java, " "Python has a large standard library so that students can be assigned " @@ -890,7 +892,7 @@ msgstr "" "réutilisation de code. Les modules tiers tels que PyGame sont aussi très " "utiles pour étendre les compétences des étudiants." -#: ../Doc/faq/general.rst:412 +#: ../Doc/faq/general.rst:414 msgid "" "Python's interactive interpreter enables students to test language features " "while they're programming. They can keep a window with the interpreter " @@ -904,7 +906,7 @@ msgstr "" "souvenir des méthodes pour une liste, ils peuvent faire quelque chose comme " "ça ::" -#: ../Doc/faq/general.rst:441 +#: ../Doc/faq/general.rst:443 msgid "" "With the interpreter, documentation is never far from the student as they " "are programming." @@ -912,7 +914,7 @@ msgstr "" "Avec l'interpréteur, la documentation n'est jamais loin des étudiants quand " "ils travaillent." -#: ../Doc/faq/general.rst:444 +#: ../Doc/faq/general.rst:446 msgid "" "There are also good IDEs for Python. IDLE is a cross-platform IDE for " "Python that is written in Python using Tkinter. PythonWin is a Windows-" @@ -932,7 +934,7 @@ msgstr "" "`_ pour une liste complète des " "environnements de développement intégrés." -#: ../Doc/faq/general.rst:452 +#: ../Doc/faq/general.rst:454 msgid "" "If you want to discuss Python's use in education, you may be interested in " "joining `the edu-sig mailing list \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: \n" "X-Generator: Poedit 2.1.1\n" #: ../Doc/howto/descriptor.rst:3 diff --git a/library/_dummy_thread.po b/library/_dummy_thread.po index 7bba1a02..d29dc963 100644 --- a/library/_dummy_thread.po +++ b/library/_dummy_thread.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-09-29 16:01+0200\n" +"Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: \n" "X-Generator: Poedit 2.0.2\n" #: ../Doc/library/_dummy_thread.rst:2 diff --git a/library/ast.po b/library/ast.po index 6a1b623e..db096c5b 100644 --- a/library/ast.po +++ b/library/ast.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-09-11 07:42+0200\n" +"Last-Translator: Julien VITARD \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: Julien VITARD \n" "X-Generator: Poedit 1.8.11\n" #: ../Doc/library/ast.rst:2 diff --git a/library/asyncio-api-index.po b/library/asyncio-api-index.po new file mode 100644 index 00000000..1ba9ef4a --- /dev/null +++ b/library/asyncio-api-index.po @@ -0,0 +1,397 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2018, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../Doc/library/asyncio-api-index.rst:6 +msgid "High-level API Index" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:8 +msgid "This page lists all high-level async/await enabled asyncio APIs." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:12 +msgid "Tasks" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:14 +msgid "" +"Utilities to run asyncio programs, create Tasks, and await on multiple " +"things with timeouts." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:21 +msgid ":func:`run`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:22 +msgid "Create event loop, run a coroutine, close the loop." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:24 +msgid ":func:`create_task`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:25 +msgid "Start an asyncio Task." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:27 +msgid "``await`` :func:`sleep`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:28 +msgid "Sleep for a number of seconds." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:30 +msgid "``await`` :func:`gather`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:31 +msgid "Schedule and wait for things concurrently." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:33 +msgid "``await`` :func:`wait_for`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:34 +msgid "Run with a timeout." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:36 +msgid "``await`` :func:`shield`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:37 +msgid "Shield from cancellation." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:39 +msgid "``await`` :func:`wait`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:40 +msgid "Monitor for completion." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:42 +msgid ":func:`current_task`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:43 +msgid "Return the current Task." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:45 +msgid ":func:`all_tasks`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:46 +msgid "Return all tasks for an event loop." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:48 +msgid ":class:`Task`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:49 +msgid "Task object." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:51 +msgid ":func:`run_coroutine_threadsafe`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:52 +msgid "Schedule a coroutine from another OS thread." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:54 +msgid "``for in`` :func:`as_completed`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:55 +msgid "Monitor for completion with a ``for`` loop." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:59 +#: ../Doc/library/asyncio-api-index.rst:95 +#: ../Doc/library/asyncio-api-index.rst:119 +#: ../Doc/library/asyncio-api-index.rst:155 +#: ../Doc/library/asyncio-api-index.rst:188 +#: ../Doc/library/asyncio-api-index.rst:213 +msgid "Examples" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:60 +msgid "" +":ref:`Using asyncio.gather() to run things in parallel " +"`." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:63 +msgid "" +":ref:`Using asyncio.wait_for() to enforce a timeout " +"`." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:66 +msgid ":ref:`Cancellation `." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:68 +msgid ":ref:`Using asyncio.sleep() `." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:70 +msgid "See also the main :ref:`Tasks documentation page `." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:74 +msgid "Queues" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:76 +msgid "" +"Queues should be used to distribute work amongst multiple asyncio Tasks, " +"implement connection pools, and pub/sub patterns." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:84 +msgid ":class:`Queue`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:85 +msgid "A FIFO queue." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:87 +msgid ":class:`PriorityQueue`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:88 +msgid "A priority queue." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:90 +msgid ":class:`LifoQueue`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:91 +msgid "A LIFO queue." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:96 +msgid "" +":ref:`Using asyncio.Queue to distribute workload between several Tasks " +"`." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:99 +msgid "See also the :ref:`Queues documentation page `." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:103 +msgid "Subprocesses" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:105 +msgid "Utilities to spawn subprocesses and run shell commands." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:111 +msgid "``await`` :func:`create_subprocess_exec`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:112 +msgid "Create a subprocess." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:114 +msgid "``await`` :func:`create_subprocess_shell`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:115 +msgid "Run a shell command." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:120 +msgid ":ref:`Executing a shell command `." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:122 +msgid "See also the :ref:`subprocess APIs ` documentation." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:127 +msgid "Streams" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:129 +msgid "High-level APIs to work with network IO." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:135 +msgid "``await`` :func:`open_connection`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:136 +msgid "Establish a TCP connection." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:138 +msgid "``await`` :func:`open_unix_connection`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:139 +msgid "Establish a Unix socket connection." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:141 +msgid "``await`` :func:`start_server`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:142 +msgid "Start a TCP server." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:144 +msgid "``await`` :func:`start_unix_server`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:145 +msgid "Start a Unix socket server." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:147 +msgid ":class:`StreamReader`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:148 +msgid "High-level async/await object to receive network data." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:150 +msgid ":class:`StreamWriter`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:151 +msgid "High-level async/await object to send network data." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:156 +msgid ":ref:`Example TCP client `." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:158 +msgid "See also the :ref:`streams APIs ` documentation." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:163 +msgid "Synchronization" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:165 +msgid "Threading-like synchronization primitives that can be used in Tasks." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:171 +msgid ":class:`Lock`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:172 +msgid "A mutex lock." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:174 +msgid ":class:`Event`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:175 +msgid "An event object." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:177 +msgid ":class:`Condition`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:178 +msgid "A condition object." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:180 +msgid ":class:`Semaphore`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:181 +msgid "A semaphore." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:183 +msgid ":class:`BoundedSemaphore`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:184 +msgid "A bounded semaphore." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:189 +msgid ":ref:`Using asyncio.Event `." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:191 +msgid "" +"See also the documentation of asyncio :ref:`synchronization primitives " +"`." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:196 +msgid "Exceptions" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:203 +msgid ":exc:`asyncio.TimeoutError`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:204 +msgid "" +"Raised on timeout by functions like :func:`wait_for`. Keep in mind that " +"``asyncio.TimeoutError`` is **unrelated** to the built-in :exc:" +"`TimeoutError` exception." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:208 +msgid ":exc:`asyncio.CancelledError`" +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:209 +msgid "Raised when a Task is cancelled. See also :meth:`Task.cancel`." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:214 +msgid "" +":ref:`Handling CancelledError to run code on cancellation request " +"`." +msgstr "" + +#: ../Doc/library/asyncio-api-index.rst:217 +msgid "" +"See also the full list of :ref:`asyncio-specific exceptions `." +msgstr "" diff --git a/library/asyncio-dev.po b/library/asyncio-dev.po index 1a32e935..90096c64 100644 --- a/library/asyncio-dev.po +++ b/library/asyncio-dev.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" -"PO-Revision-Date: 2018-08-01 00:05+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 17:38+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -14,403 +14,262 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../Doc/library/asyncio-dev.rst:6 -msgid "Develop with asyncio" +#: ../Doc/library/asyncio-dev.rst:7 +msgid "Developing with asyncio" msgstr "Programmer avec *asyncio*" -#: ../Doc/library/asyncio-dev.rst:8 +#: ../Doc/library/asyncio-dev.rst:9 msgid "" -"Asynchronous programming is different than classical \"sequential\" " -"programming. This page lists common traps and explains how to avoid them." +"Asynchronous programming is different from classic \"sequential\" " +"programming." msgstr "" -#: ../Doc/library/asyncio-dev.rst:15 -msgid "Debug mode of asyncio" -msgstr "Mode de débogage d'*asyncio*" - -#: ../Doc/library/asyncio-dev.rst:17 +#: ../Doc/library/asyncio-dev.rst:12 msgid "" -"The implementation of :mod:`asyncio` has been written for performance. In " -"order to ease the development of asynchronous code, you may wish to enable " -"*debug mode*." +"This page lists common mistakes and traps and explains how to avoid them." +msgstr "" + +#: ../Doc/library/asyncio-dev.rst:19 +msgid "Debug Mode" msgstr "" #: ../Doc/library/asyncio-dev.rst:21 -msgid "To enable all debug checks for an application:" -msgstr "" -"Pour activer toutes les vérifications de débogage pour une application :" - -#: ../Doc/library/asyncio-dev.rst:23 msgid "" -"Enable the asyncio debug mode globally by setting the environment variable :" -"envvar:`PYTHONASYNCIODEBUG` to ``1``, using ``-X dev`` command line option " -"(see the :option:`-X` option), or by calling :meth:`AbstractEventLoop." -"set_debug`." +"By default asyncio runs in production mode. In order to ease the " +"development asyncio has a *debug mode*." msgstr "" -#: ../Doc/library/asyncio-dev.rst:27 -msgid "" -"Set the log level of the :ref:`asyncio logger ` to :py:data:" -"`logging.DEBUG`. For example, call ``logging.basicConfig(level=logging." -"DEBUG)`` at startup." +#: ../Doc/library/asyncio-dev.rst:24 +msgid "There are several ways to enable asyncio debug mode:" +msgstr "" + +#: ../Doc/library/asyncio-dev.rst:26 +msgid "Setting the :envvar:`PYTHONASYNCIODEBUG` environment variable to ``1``." +msgstr "" + +#: ../Doc/library/asyncio-dev.rst:28 +msgid "Using the :option:`-X` ``dev`` Python command line option." msgstr "" #: ../Doc/library/asyncio-dev.rst:30 -msgid "" -"Configure the :mod:`warnings` module to display :exc:`ResourceWarning` " -"warnings. For example, use the ``-Wdefault`` command line option of Python " -"to display them." +msgid "Passing ``debug=True`` to :func:`asyncio.run`." +msgstr "" + +#: ../Doc/library/asyncio-dev.rst:32 +msgid "Calling :meth:`loop.set_debug`." msgstr "" #: ../Doc/library/asyncio-dev.rst:34 -msgid "Examples debug checks:" -msgstr "Exemples de vérifications de débogage :" +msgid "In addition to enabling the debug mode, consider also:" +msgstr "" #: ../Doc/library/asyncio-dev.rst:36 msgid "" -"Log :ref:`coroutines defined but never \"yielded from\" `" +"setting the log level of the :ref:`asyncio logger ` to :py:" +"data:`logging.DEBUG`, for example the following snippet of code can be run " +"at startup of the application::" msgstr "" -#: ../Doc/library/asyncio-dev.rst:38 +#: ../Doc/library/asyncio-dev.rst:42 msgid "" -":meth:`~AbstractEventLoop.call_soon` and :meth:`~AbstractEventLoop.call_at` " -"methods raise an exception if they are called from the wrong thread." +"configuring the :mod:`warnings` module to display :exc:`ResourceWarning` " +"warnings. One way of doing that is by using the :option:`-W` ``default`` " +"command line option." msgstr "" -#: ../Doc/library/asyncio-dev.rst:40 -msgid "Log the execution time of the selector" -msgstr "Enregistre le temps d'exécution du sélecteur dans le journal" - -#: ../Doc/library/asyncio-dev.rst:41 -msgid "" -"Log callbacks taking more than 100 ms to be executed. The :attr:" -"`AbstractEventLoop.slow_callback_duration` attribute is the minimum duration " -"in seconds of \"slow\" callbacks." -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:44 -msgid "" -":exc:`ResourceWarning` warnings are emitted when transports and event loops " -"are :ref:`not closed explicitly `." +#: ../Doc/library/asyncio-dev.rst:47 +msgid "When the debug mode is enabled:" msgstr "" #: ../Doc/library/asyncio-dev.rst:49 msgid "" -"The new ``-X dev`` command line option can now also be used to enable the " -"debug mode." +"asyncio checks for :ref:`coroutines that were not awaited ` and logs them; this mitigates the \"forgotten await\" " +"pitfall." msgstr "" -#: ../Doc/library/asyncio-dev.rst:54 +#: ../Doc/library/asyncio-dev.rst:53 msgid "" -"The :meth:`AbstractEventLoop.set_debug` method and the :ref:`asyncio logger " -"`." +"Many non-treadsafe asyncio APIs (such as :meth:`loop.call_soon` and :meth:" +"`loop.call_at` methods) raise an exception if they are called from a wrong " +"thread." msgstr "" -#: ../Doc/library/asyncio-dev.rst:59 -msgid "Cancellation" -msgstr "Annulation" - -#: ../Doc/library/asyncio-dev.rst:61 +#: ../Doc/library/asyncio-dev.rst:57 msgid "" -"Cancellation of tasks is not common in classic programming. In asynchronous " -"programming, not only is it something common, but you have to prepare your " -"code to handle it." +"The execution time of the I/O selector is logged if it takes too long to " +"perform an I/O operation." msgstr "" -#: ../Doc/library/asyncio-dev.rst:65 +#: ../Doc/library/asyncio-dev.rst:60 msgid "" -"Futures and tasks can be cancelled explicitly with their :meth:`Future." -"cancel` method. The :func:`wait_for` function cancels the waited task when " -"the timeout occurs. There are many other cases where a task can be cancelled " -"indirectly." +"Callbacks taking longer than 100ms are logged. The :attr:`loop." +"slow_callback_duration` attribute can be used to set the minimum execution " +"duration in seconds that is considered \"slow\"." msgstr "" -#: ../Doc/library/asyncio-dev.rst:69 +#: ../Doc/library/asyncio-dev.rst:68 +msgid "Concurrency and Multithreading" +msgstr "Concourance et *multithreading*" + +#: ../Doc/library/asyncio-dev.rst:70 msgid "" -"Don't call :meth:`~Future.set_result` or :meth:`~Future.set_exception` " -"method of :class:`Future` if the future is cancelled: it would fail with an " -"exception. For example, write::" +"An event loop runs in a thread (typically the main thread) and executes all " +"callbacks and Tasks in its thread. While a Task is running in the event " +"loop, no other Tasks can run in the same thread. When a Task executes an " +"``await`` expression, the running Task gets suspended, and the event loop " +"executes the next Task." msgstr "" #: ../Doc/library/asyncio-dev.rst:76 msgid "" -"Don't schedule directly a call to the :meth:`~Future.set_result` or the :" -"meth:`~Future.set_exception` method of a future with :meth:" -"`AbstractEventLoop.call_soon`: the future can be cancelled before its method " -"is called." +"To schedule a callback from a different OS thread, the :meth:`loop." +"call_soon_threadsafe` method should be used. Example::" msgstr "" #: ../Doc/library/asyncio-dev.rst:81 msgid "" -"If you wait for a future, you should check early if the future was cancelled " -"to avoid useless operations. Example::" +"Almost all asyncio objects are not thread safe, which is typically not a " +"problem unless there is code that works with them from outside of a Task or " +"a callback. If there's a need for such code to call a low-level asyncio " +"API, the :meth:`loop.call_soon_threadsafe` method should be used, e.g.::" msgstr "" -#: ../Doc/library/asyncio-dev.rst:91 -msgid "The :func:`shield` function can also be used to ignore cancellation." -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:97 -msgid "Concurrency and multithreading" -msgstr "Concourance et *multithreading*" - -#: ../Doc/library/asyncio-dev.rst:99 +#: ../Doc/library/asyncio-dev.rst:89 msgid "" -"An event loop runs in a thread and executes all callbacks and tasks in the " -"same thread. While a task is running in the event loop, no other task is " -"running in the same thread. But when the task uses ``await``, the task is " -"suspended and the event loop executes the next task." +"To schedule a coroutine object from a different OS thread, the :func:" +"`run_coroutine_threadsafe` function should be used. It returns a :class:" +"`concurrent.futures.Future` to access the result::" msgstr "" -#: ../Doc/library/asyncio-dev.rst:104 -msgid "" -"To schedule a callback from a different thread, the :meth:`AbstractEventLoop." -"call_soon_threadsafe` method should be used. Example::" -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:109 -msgid "" -"Most asyncio objects are not thread safe. You should only worry if you " -"access objects outside the event loop. For example, to cancel a future, " -"don't call directly its :meth:`Future.cancel` method, but::" -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:115 +#: ../Doc/library/asyncio-dev.rst:102 msgid "" "To handle signals and to execute subprocesses, the event loop must be run in " "the main thread." msgstr "" -#: ../Doc/library/asyncio-dev.rst:118 +#: ../Doc/library/asyncio-dev.rst:105 msgid "" -"To schedule a coroutine object from a different thread, the :func:" -"`run_coroutine_threadsafe` function should be used. It returns a :class:" -"`concurrent.futures.Future` to access the result::" +"The :meth:`loop.run_in_executor` method can be used with a :class:" +"`concurrent.futures.ThreadPoolExecutor` to execute blocking code in a " +"different OS thread without blocking the OS thread that the event loop runs " +"in." msgstr "" -#: ../Doc/library/asyncio-dev.rst:125 -msgid "" -"The :meth:`AbstractEventLoop.run_in_executor` method can be used with a " -"thread pool executor to execute a callback in different thread to not block " -"the thread of the event loop." +#: ../Doc/library/asyncio-dev.rst:114 +msgid "Running Blocking Code" msgstr "" -#: ../Doc/library/asyncio-dev.rst:131 +#: ../Doc/library/asyncio-dev.rst:116 msgid "" -"The :ref:`Synchronization primitives ` section describes ways " -"to synchronize tasks." +"Blocking (CPU-bound) code should not be called directly. For example, if a " +"function performs a CPU-intensive calculation for 1 second, all concurrent " +"asyncio Tasks and IO operations would be delayed by 1 second." msgstr "" -#: ../Doc/library/asyncio-dev.rst:134 -msgid "" -"The :ref:`Subprocess and threads ` section lists " -"asyncio limitations to run subprocesses from different threads." -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:143 -msgid "Handle blocking functions correctly" -msgstr "Gérer les fonctions bloquantes correctement" - -#: ../Doc/library/asyncio-dev.rst:145 -msgid "" -"Blocking functions should not be called directly. For example, if a function " -"blocks for 1 second, other tasks are delayed by 1 second which can have an " -"important impact on reactivity." -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:149 -msgid "" -"For networking and subprocesses, the :mod:`asyncio` module provides high-" -"level APIs like :ref:`protocols `." -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:152 +#: ../Doc/library/asyncio-dev.rst:121 msgid "" "An executor can be used to run a task in a different thread or even in a " -"different process, to not block the thread of the event loop. See the :meth:" -"`AbstractEventLoop.run_in_executor` method." +"different process to avoid blocking block the OS thread with the event " +"loop. See the :meth:`loop.run_in_executor` method for more details." msgstr "" -#: ../Doc/library/asyncio-dev.rst:158 -msgid "" -"The :ref:`Delayed calls ` section details how the " -"event loop handles time." -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:165 +#: ../Doc/library/asyncio-dev.rst:130 msgid "Logging" msgstr "Journalisation" -#: ../Doc/library/asyncio-dev.rst:167 +#: ../Doc/library/asyncio-dev.rst:132 msgid "" -"The :mod:`asyncio` module logs information with the :mod:`logging` module in " -"the logger ``'asyncio'``." +"asyncio uses the :mod:`logging` module and all logging is performed via the " +"``\"asyncio\"`` logger." msgstr "" -#: ../Doc/library/asyncio-dev.rst:170 +#: ../Doc/library/asyncio-dev.rst:135 msgid "" -"The default log level for the :mod:`asyncio` module is :py:data:`logging." -"INFO`. For those not wanting such verbosity from :mod:`asyncio` the log " -"level can be changed. For example, to change the level to :py:data:`logging." -"WARNING`:" +"The default log level is :py:data:`logging.INFO`, which can be easily " +"adjusted::" msgstr "" -#: ../Doc/library/asyncio-dev.rst:182 -msgid "Detect coroutine objects never scheduled" -msgstr "Détecte les coroutines qui ne sont jamais exécutées" - -#: ../Doc/library/asyncio-dev.rst:184 -msgid "" -"When a coroutine function is called and its result is not passed to :func:" -"`ensure_future` or to the :meth:`AbstractEventLoop.create_task` method, the " -"execution of the coroutine object will never be scheduled which is probably " -"a bug. :ref:`Enable the debug mode of asyncio ` to :ref:" -"`log a warning ` to detect it." +#: ../Doc/library/asyncio-dev.rst:144 +msgid "Detect never-awaited coroutines" msgstr "" -#: ../Doc/library/asyncio-dev.rst:190 -msgid "Example with the bug::" -msgstr "Exemple avec le bug : ::" +#: ../Doc/library/asyncio-dev.rst:146 +msgid "" +"When a coroutine function is called, but not awaited (e.g. ``coro()`` " +"instead of ``await coro()``) or the coroutine is not scheduled with :meth:" +"`asyncio.create_task`, asyncio will emit a :exc:`RuntimeWarning`::" +msgstr "" -#: ../Doc/library/asyncio-dev.rst:199 +#: ../Doc/library/asyncio-dev.rst:161 ../Doc/library/asyncio-dev.rst:206 +msgid "Output::" +msgstr "Sortie ::" + +#: ../Doc/library/asyncio-dev.rst:166 ../Doc/library/asyncio-dev.rst:222 msgid "Output in debug mode::" msgstr "Affichage en mode débogage : ::" -#: ../Doc/library/asyncio-dev.rst:206 +#: ../Doc/library/asyncio-dev.rst:179 msgid "" -"The fix is to call the :func:`ensure_future` function or the :meth:" -"`AbstractEventLoop.create_task` method with the coroutine object." +"The usual fix is to either await the coroutine or call the :meth:`asyncio." +"create_task` function::" msgstr "" -#: ../Doc/library/asyncio-dev.rst:211 -msgid ":ref:`Pending task destroyed `." +#: ../Doc/library/asyncio-dev.rst:187 +msgid "Detect never-retrieved exceptions" msgstr "" -#: ../Doc/library/asyncio-dev.rst:215 -msgid "Detect exceptions never consumed" +#: ../Doc/library/asyncio-dev.rst:189 +msgid "" +"If a :meth:`Future.set_exception` is called but the Future object is never " +"awaited on, the exception would never be propagated to the user code. In " +"this case, asyncio would emit a log message when the Future object is " +"garbage collected." +msgstr "" + +#: ../Doc/library/asyncio-dev.rst:194 +msgid "Example of an unhandled exception::" msgstr "" #: ../Doc/library/asyncio-dev.rst:217 msgid "" -"Python usually calls :func:`sys.excepthook` on unhandled exceptions. If :" -"meth:`Future.set_exception` is called, but the exception is never consumed, :" -"func:`sys.excepthook` is not called. Instead, :ref:`a log is emitted " -"` when the future is deleted by the garbage collector, with " -"the traceback where the exception was raised." +":ref:`Enable the debug mode ` to get the traceback where " +"the task was created::" msgstr "" -#: ../Doc/library/asyncio-dev.rst:223 -msgid "Example of unhandled exception::" -msgstr "" +#~ msgid "Debug mode of asyncio" +#~ msgstr "Mode de débogage d'*asyncio*" -#: ../Doc/library/asyncio-dev.rst:236 -msgid "Output::" -msgstr "Sortie ::" +#~ msgid "To enable all debug checks for an application:" +#~ msgstr "" +#~ "Pour activer toutes les vérifications de débogage pour une application :" -#: ../Doc/library/asyncio-dev.rst:249 -msgid "" -":ref:`Enable the debug mode of asyncio ` to get the " -"traceback where the task was created. Output in debug mode::" -msgstr "" +#~ msgid "Examples debug checks:" +#~ msgstr "Exemples de vérifications de débogage :" -#: ../Doc/library/asyncio-dev.rst:268 -msgid "" -"There are different options to fix this issue. The first option is to chain " -"the coroutine in another coroutine and use classic try/except::" -msgstr "" +#~ msgid "Log the execution time of the selector" +#~ msgstr "Enregistre le temps d'exécution du sélecteur dans le journal" -#: ../Doc/library/asyncio-dev.rst:282 -msgid "" -"Another option is to use the :meth:`AbstractEventLoop.run_until_complete` " -"function::" -msgstr "" +#~ msgid "Cancellation" +#~ msgstr "Annulation" -#: ../Doc/library/asyncio-dev.rst:293 -msgid "The :meth:`Future.exception` method." -msgstr "La méthode :meth:`Future.exception`." +#~ msgid "Handle blocking functions correctly" +#~ msgstr "Gérer les fonctions bloquantes correctement" -#: ../Doc/library/asyncio-dev.rst:297 -msgid "Chain coroutines correctly" -msgstr "Chaîner les coroutines correctement" +#~ msgid "Detect coroutine objects never scheduled" +#~ msgstr "Détecte les coroutines qui ne sont jamais exécutées" -#: ../Doc/library/asyncio-dev.rst:299 -msgid "" -"When a coroutine function calls other coroutine functions and tasks, they " -"should be chained explicitly with ``await``. Otherwise, the execution is not " -"guaranteed to be sequential." -msgstr "" +#~ msgid "Example with the bug::" +#~ msgstr "Exemple avec le bug : ::" -#: ../Doc/library/asyncio-dev.rst:303 -msgid "" -"Example with different bugs using :func:`asyncio.sleep` to simulate slow " -"operations::" -msgstr "" +#~ msgid "The :meth:`Future.exception` method." +#~ msgstr "La méthode :meth:`Future.exception`." -#: ../Doc/library/asyncio-dev.rst:332 -msgid "Expected output:" -msgstr "" +#~ msgid "Chain coroutines correctly" +#~ msgstr "Chaîner les coroutines correctement" -#: ../Doc/library/asyncio-dev.rst:341 -msgid "Actual output:" -msgstr "Affichage obtenu :" +#~ msgid "Actual output:" +#~ msgstr "Affichage obtenu :" -#: ../Doc/library/asyncio-dev.rst:351 -msgid "" -"The loop stopped before the ``create()`` finished, ``close()`` has been " -"called before ``write()``, whereas coroutine functions were called in this " -"order: ``create()``, ``write()``, ``close()``." -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:355 -msgid "To fix the example, tasks must be marked with ``await``::" -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:364 -msgid "Or without ``asyncio.ensure_future()``::" -msgstr "Ou sans ``asyncio.ensure_future()`` ::" - -#: ../Doc/library/asyncio-dev.rst:377 -msgid "Pending task destroyed" -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:379 -msgid "" -"If a pending task is destroyed, the execution of its wrapped :ref:`coroutine " -"` did not complete. It is probably a bug and so a warning is " -"logged." -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:382 -msgid "Example of log:" -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:389 -msgid "" -":ref:`Enable the debug mode of asyncio ` to get the " -"traceback where the task was created. Example of log in debug mode:" -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:403 -msgid "" -":ref:`Detect coroutine objects never scheduled `." -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:408 -msgid "Close transports and event loops" -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:410 -msgid "" -"When a transport is no more needed, call its ``close()`` method to release " -"resources. Event loops must also be closed explicitly." -msgstr "" - -#: ../Doc/library/asyncio-dev.rst:413 -msgid "" -"If a transport or an event loop is not closed explicitly, a :exc:" -"`ResourceWarning` warning will be emitted in its destructor. By default, :" -"exc:`ResourceWarning` warnings are ignored. The :ref:`Debug mode of asyncio " -"` section explains how to display them." -msgstr "" +#~ msgid "Or without ``asyncio.ensure_future()``::" +#~ msgstr "Ou sans ``asyncio.ensure_future()`` ::" diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index ca01544b..b07304da 100644 --- a/library/asyncio-eventloop.po +++ b/library/asyncio-eventloop.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" -"PO-Revision-Date: 2018-07-27 23:10+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 10:06+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -15,420 +15,505 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../Doc/library/asyncio-eventloop.rst:6 -msgid "Base Event Loop" -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:8 -msgid "**Source code:** :source:`Lib/asyncio/events.py`" -msgstr "" +msgid "Event Loop" +msgstr "Boucles d'évènements" #: ../Doc/library/asyncio-eventloop.rst:10 -msgid "" -"The event loop is the central execution device provided by :mod:`asyncio`. " -"It provides multiple facilities, including:" +msgid "Preface" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:13 -msgid "Registering, executing and cancelling delayed calls (timeouts)." +#: ../Doc/library/asyncio-eventloop.rst:11 +msgid "" +"The event loop is the core of every asyncio application. Event loops run " +"asynchronous tasks and callbacks, perform network IO operations, and run " +"subprocesses." msgstr "" #: ../Doc/library/asyncio-eventloop.rst:15 msgid "" -"Creating client and server :ref:`transports ` for various " -"kinds of communication." +"Application developers should typically use the high-level asyncio " +"functions, such as :func:`asyncio.run`, and should rarely need to reference " +"the loop object or call its methods. This section is intended mostly for " +"authors of lower-level code, libraries, and frameworks, who need finer " +"control over the event loop behavior." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:18 +#: ../Doc/library/asyncio-eventloop.rst:22 +msgid "Obtaining the Event Loop" +msgstr "Obtenir une boucle d'évènements" + +#: ../Doc/library/asyncio-eventloop.rst:23 msgid "" -"Launching subprocesses and the associated :ref:`transports ` for communication with an external program." +"The following low-level functions can be used to get, set, or create an " +"event loop:" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:21 -msgid "Delegating costly function calls to a pool of threads." +#: ../Doc/library/asyncio-eventloop.rst:28 +msgid "Return the running event loop in the current OS thread." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:25 +#: ../Doc/library/asyncio-eventloop.rst:30 msgid "" -"This class is an implementation detail. It is a subclass of :class:" -"`AbstractEventLoop` and may be a base class of concrete event loop " -"implementations found in :mod:`asyncio`. It should not be used directly; " -"use :class:`AbstractEventLoop` instead. ``BaseEventLoop`` should not be " -"subclassed by third-party code; the internal interface is not stable." +"If there is no running event loop a :exc:`RuntimeError` is raised. This " +"function can only be called from a coroutine or a callback." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:34 -msgid "Abstract base class of event loops." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:36 -msgid "This class is :ref:`not thread safe `." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:39 -msgid "Run an event loop" -msgstr "Exécuter une boucle d'évènements" - -#: ../Doc/library/asyncio-eventloop.rst:43 +#: ../Doc/library/asyncio-eventloop.rst:37 msgid "" -"Run until :meth:`stop` is called. If :meth:`stop` is called before :meth:" -"`run_forever()` is called, this polls the I/O selector once with a timeout " -"of zero, runs all callbacks scheduled in response to I/O events (and those " -"that were already scheduled), and then exits. If :meth:`stop` is called " -"while :meth:`run_forever` is running, this will run the current batch of " -"callbacks and then exit. Note that callbacks scheduled by callbacks will " -"not run in that case; they will run the next time :meth:`run_forever` is " -"called." +"Get the current event loop. If there is no current event loop set in the " +"current OS thread and :func:`set_event_loop` has not yet been called, " +"asyncio will create a new event loop and set it as the current one." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:42 +msgid "" +"Because this function has rather complex behavior (especially when custom " +"event loop policies are in use), using the :func:`get_running_loop` function " +"is preferred to :func:`get_event_loop` in coroutines and callbacks." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:47 +msgid "" +"Consider also using the :func:`asyncio.run` function instead of using lower " +"level functions to manually create and close an event loop." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:52 +msgid "Set *loop* as a current event loop for the current OS thread." msgstr "" #: ../Doc/library/asyncio-eventloop.rst:56 -msgid "Run until the :class:`Future` is done." -msgstr "Exécuter jusqu'à ce que :class:`Future` soit terminé." +msgid "Create a new event loop object." +msgstr "" #: ../Doc/library/asyncio-eventloop.rst:58 msgid "" -"If the argument is a :ref:`coroutine object `, it is wrapped by :" -"func:`ensure_future`." +"Note that the behaviour of :func:`get_event_loop`, :func:`set_event_loop`, " +"and :func:`new_event_loop` functions can be altered by :ref:`setting a " +"custom event loop policy `." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:61 -msgid "Return the Future's result, or raise its exception." +#: ../Doc/library/asyncio-eventloop.rst:64 +msgid "Contents" msgstr "" #: ../Doc/library/asyncio-eventloop.rst:65 -msgid "Returns running status of event loop." -msgstr "Donne le status d'exécution de la boucle d'évènements." - -#: ../Doc/library/asyncio-eventloop.rst:69 -msgid "Stop running the event loop." -msgstr "Arrête l'exécution de la boucle d'évènements." - -#: ../Doc/library/asyncio-eventloop.rst:71 -msgid "" -"This causes :meth:`run_forever` to exit at the next suitable opportunity " -"(see there for more details)." +msgid "This documentation page contains the following sections:" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:78 -msgid "Returns ``True`` if the event loop was closed." -msgstr "Donne ``True`` si la boucle d'évènements est fermée." - -#: ../Doc/library/asyncio-eventloop.rst:84 +#: ../Doc/library/asyncio-eventloop.rst:67 msgid "" -"Close the event loop. The loop must not be running. Pending callbacks will " -"be lost." +"The `Event Loop Methods`_ section is the reference documentation of the " +"event loop APIs;" +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:70 +msgid "" +"The `Callback Handles`_ section documents the :class:`Handle` and :class:" +"`TimerHandle` instances which are returned from scheduling methods such as :" +"meth:`loop.call_soon` and :meth:`loop.call_later`;" +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:74 +msgid "" +"The `Server Objects`_ section documents types returned from event loop " +"methods like :meth:`loop.create_server`;" +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:77 +msgid "" +"The `Event Loop Implementations`_ section documents the :class:" +"`SelectorEventLoop` and :class:`ProactorEventLoop` classes;" +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:80 +msgid "" +"The `Examples`_ section showcases how to work with some event loop APIs." msgstr "" #: ../Doc/library/asyncio-eventloop.rst:87 -msgid "" -"This clears the queues and shuts down the executor, but does not wait for " -"the executor to finish." +msgid "Event Loop Methods" +msgstr "Méthodes de la boucle d'évènements" + +#: ../Doc/library/asyncio-eventloop.rst:89 +msgid "Event loops have **low-level** APIs for the following:" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:90 +#: ../Doc/library/asyncio-eventloop.rst:97 +msgid "Running and stopping the loop" +msgstr "Démarrer et arrêter une boucle d'évènements" + +#: ../Doc/library/asyncio-eventloop.rst:101 +msgid "Run until the *future* (an instance of :class:`Future`) has completed." +msgstr "" +"Lance la boucle jusqu'à ce que *future* (une instance de :class:`Future`) " +"soit terminée." + +#: ../Doc/library/asyncio-eventloop.rst:104 msgid "" -"This is idempotent and irreversible. No other methods should be called after " -"this one." +"If the argument is a :ref:`coroutine object ` it is implicitly " +"scheduled to run as a :class:`asyncio.Task`." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:96 +#: ../Doc/library/asyncio-eventloop.rst:107 +msgid "Return the Future's result or raise its exception." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:111 +msgid "Run the event loop until :meth:`stop` is called." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:113 +msgid "" +"If :meth:`stop` is called before :meth:`run_forever()` is called, the loop " +"will poll the I/O selector once with a timeout of zero, run all callbacks " +"scheduled in response to I/O events (and those that were already scheduled), " +"and then exit." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:118 +msgid "" +"If :meth:`stop` is called while :meth:`run_forever` is running, the loop " +"will run the current batch of callbacks and then exit. Note that new " +"callbacks scheduled by callbacks will not run in this case; instead, they " +"will run the next time :meth:`run_forever` or :meth:`run_until_complete` is " +"called." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:126 +msgid "Stop the event loop." +msgstr "Arrête l'exécution de la boucle d'évènements." + +#: ../Doc/library/asyncio-eventloop.rst:130 +msgid "Return ``True`` if the event loop is currently running." +msgstr "Renvoie ``True`` si la boucle d'évènements est démarrée." + +#: ../Doc/library/asyncio-eventloop.rst:134 +msgid "Return ``True`` if the event loop was closed." +msgstr "Renvoie ``True`` si la boucle d'évènements est fermée." + +#: ../Doc/library/asyncio-eventloop.rst:138 +msgid "Close the event loop." +msgstr "Ferme la boucle d'évènements." + +#: ../Doc/library/asyncio-eventloop.rst:140 +msgid "" +"The loop must be running when this function is called. Any pending callbacks " +"will be discarded." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:143 +msgid "" +"This method clears all queues and shuts down the executor, but does not wait " +"for the executor to finish." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:146 +msgid "" +"This method is idempotent and irreversible. No other methods should be " +"called after the event loop is closed." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:151 msgid "" "Schedule all currently open :term:`asynchronous generator` objects to close " "with an :meth:`~agen.aclose()` call. After calling this method, the event " -"loop will issue a warning whenever a new asynchronous generator is " -"iterated. Should be used to finalize all scheduled asynchronous generators " -"reliably. Example::" +"loop will issue a warning if a new asynchronous generator is iterated. This " +"should be used to reliably finalize all scheduled asynchronous generators." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:114 -msgid "Calls" -msgstr "Appels" - -#: ../Doc/library/asyncio-eventloop.rst:116 +#: ../Doc/library/asyncio-eventloop.rst:157 msgid "" -"Most :mod:`asyncio` functions don't accept keywords. If you want to pass " -"keywords to your callback, use :func:`functools.partial`. For example, " -"``loop.call_soon(functools.partial(print, \"Hello\", flush=True))`` will " -"call ``print(\"Hello\", flush=True)``." +"Note that there is no need to call this function when :func:`asyncio.run` is " +"used." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:122 +#: ../Doc/library/asyncio-eventloop.rst:160 +#: ../Doc/library/asyncio-eventloop.rst:993 +#: ../Doc/library/asyncio-eventloop.rst:1355 +msgid "Example::" +msgstr "Exemple ::" + +#: ../Doc/library/asyncio-eventloop.rst:172 +msgid "Scheduling callbacks" +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:176 msgid "" -":func:`functools.partial` is better than ``lambda`` functions, because :mod:" -"`asyncio` can inspect :func:`functools.partial` object to display parameters " -"in debug mode, whereas ``lambda`` functions have a poor representation." +"Schedule a *callback* to be called with *args* arguments at the next " +"iteration of the event loop." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:129 +#: ../Doc/library/asyncio-eventloop.rst:179 msgid "" -"Arrange for a callback to be called as soon as possible. The callback is " -"called after :meth:`call_soon` returns, when control returns to the event " -"loop." +"Callbacks are called in the order in which they are registered. Each " +"callback will be called exactly once." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:133 -msgid "" -"This operates as a :abbr:`FIFO (first-in, first-out)` queue, callbacks are " -"called in the order in which they are registered. Each callback will be " -"called exactly once." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:137 -msgid "" -"Any positional arguments after the callback will be passed to the callback " -"when it is called." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:140 -#: ../Doc/library/asyncio-eventloop.rst:197 +#: ../Doc/library/asyncio-eventloop.rst:182 +#: ../Doc/library/asyncio-eventloop.rst:245 msgid "" "An optional keyword-only *context* argument allows specifying a custom :" -"class:`contextvars.Context` for the *callback* to run in. The current " +"class:`contextvars.Context` for the *callback* to run in. The current " "context is used when no *context* is provided." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:144 +#: ../Doc/library/asyncio-eventloop.rst:186 msgid "" -"An instance of :class:`asyncio.Handle` is returned, which can be used to " -"cancel the callback." +"An instance of :class:`asyncio.Handle` is returned, which can be used later " +"to cancel the callback." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:147 -#: ../Doc/library/asyncio-eventloop.rst:201 -#: ../Doc/library/asyncio-eventloop.rst:219 -#: ../Doc/library/asyncio-eventloop.rst:649 -#: ../Doc/library/asyncio-eventloop.rst:661 -#: ../Doc/library/asyncio-eventloop.rst:867 -msgid "" -":ref:`Use functools.partial to pass keywords to the callback `." +#: ../Doc/library/asyncio-eventloop.rst:189 +msgid "This method is not thread-safe." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:150 -#: ../Doc/library/asyncio-eventloop.rst:161 -#: ../Doc/library/asyncio-eventloop.rst:204 -#: ../Doc/library/asyncio-eventloop.rst:222 +#: ../Doc/library/asyncio-eventloop.rst:193 msgid "" -"The *context* keyword-only parameter was added. See :pep:`567` for more " -"details." +"A thread-safe variant of :meth:`call_soon`. Must be used to schedule " +"callbacks *from another thread*." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:156 -msgid "Like :meth:`call_soon`, but thread safe." -msgstr "Comme :meth:`call_soon` mais *thread safe*." - -#: ../Doc/library/asyncio-eventloop.rst:158 +#: ../Doc/library/asyncio-eventloop.rst:196 msgid "" "See the :ref:`concurrency and multithreading ` " "section of the documentation." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:169 -msgid "Delayed calls" -msgstr "Appels différés" - -#: ../Doc/library/asyncio-eventloop.rst:171 +#: ../Doc/library/asyncio-eventloop.rst:199 +#: ../Doc/library/asyncio-eventloop.rst:249 +#: ../Doc/library/asyncio-eventloop.rst:269 msgid "" -"The event loop has its own internal clock for computing timeouts. Which " -"clock is used depends on the (platform-specific) event loop implementation; " -"ideally it is a monotonic clock. This will generally be a different clock " -"than :func:`time.time`." +"The *context* keyword-only parameter was added. See :pep:`567` for more " +"details." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:178 +#: ../Doc/library/asyncio-eventloop.rst:207 +msgid "" +"Most :mod:`asyncio` scheduling functions don't allow passing keyword " +"arguments. To do that, use :func:`functools.partial`::" +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:214 +msgid "" +"Using partial objects is usually more convenient than using lambdas, as " +"asyncio can render partial objects better in debug and error messages." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:222 +msgid "Scheduling delayed callbacks" +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:224 +msgid "" +"Event loop provides mechanisms to schedule callback functions to be called " +"at some point in the future. Event loop uses monotonic clocks to track time." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:231 +msgid "" +"Schedule *callback* to be called after the given *delay* number of seconds " +"(can be either an int or a float)." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:234 +#: ../Doc/library/asyncio-eventloop.rst:266 +msgid "" +"An instance of :class:`asyncio.TimerHandle` is returned which can be used to " +"cancel the callback." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:237 +msgid "" +"*callback* will be called exactly once. If two callbacks are scheduled for " +"exactly the same time, the order in which they are called is undefined." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:241 +msgid "" +"The optional positional *args* will be passed to the callback when it is " +"called. If you want the callback to be called with keyword arguments use :" +"func:`functools.partial`." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:253 +msgid "" +"In Python 3.7.0 and earlier with the default event loop implementation, the " +"*delay* could not exceed one day. This has been fixed in Python 3.7.1." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:260 +msgid "" +"Schedule *callback* to be called at the given absolute timestamp *when* (an " +"int or a float), using the same time reference as :meth:`loop.time`." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:264 +msgid "This method's behavior is the same as :meth:`call_later`." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:273 +msgid "" +"In Python 3.7.0 and earlier with the default event loop implementation, the " +"difference between *when* and the current time could not exceed one day. " +"This has been fixed in Python 3.7.1." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:280 +msgid "" +"Return the current time, as a :class:`float` value, according to the event " +"loop's internal monotonic clock." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:285 msgid "" "Timeouts (relative *delay* or absolute *when*) should not exceed one day." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:183 -msgid "" -"Arrange for the *callback* to be called after the given *delay* seconds " -"(either an int or float)." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:186 -#: ../Doc/library/asyncio-eventloop.rst:216 -msgid "" -"An instance of :class:`asyncio.TimerHandle` is returned, which can be used " -"to cancel the callback." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:189 -msgid "" -"*callback* will be called exactly once per call to :meth:`call_later`. If " -"two callbacks are scheduled for exactly the same time, it is undefined which " -"will be called first." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:193 -msgid "" -"The optional positional *args* will be passed to the callback when it is " -"called. If you want the callback to be called with some named arguments, use " -"a closure or :func:`functools.partial`." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:210 -msgid "" -"Arrange for the *callback* to be called at the given absolute timestamp " -"*when* (an int or float), using the same time reference as :meth:" -"`AbstractEventLoop.time`." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:214 -msgid "This method's behavior is the same as :meth:`call_later`." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:228 -msgid "" -"Return the current time, as a :class:`float` value, according to the event " -"loop's internal clock." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:233 +#: ../Doc/library/asyncio-eventloop.rst:290 msgid "The :func:`asyncio.sleep` function." msgstr "La fonction :func:`asyncio.sleep`." -#: ../Doc/library/asyncio-eventloop.rst:237 -msgid "Futures" +#: ../Doc/library/asyncio-eventloop.rst:294 +msgid "Creating Futures and Tasks" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:241 -msgid "Create an :class:`asyncio.Future` object attached to the loop." +#: ../Doc/library/asyncio-eventloop.rst:298 +msgid "Create an :class:`asyncio.Future` object attached to the event loop." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:243 +#: ../Doc/library/asyncio-eventloop.rst:300 msgid "" -"This is a preferred way to create futures in asyncio, as event loop " -"implementations can provide alternative implementations of the Future class " +"This is the preferred way to create Futures in asyncio. This lets third-" +"party event loops provide alternative implementations of the Future object " "(with better performance or instrumentation)." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:251 -msgid "Tasks" -msgstr "Tâches" - -#: ../Doc/library/asyncio-eventloop.rst:255 +#: ../Doc/library/asyncio-eventloop.rst:308 msgid "" -"Schedule the execution of a :ref:`coroutine object `: wrap it in " -"a future. Return a :class:`Task` object." +"Schedule the execution of a :ref:`coroutine`. Return a :class:`Task` object." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:258 +#: ../Doc/library/asyncio-eventloop.rst:311 msgid "" "Third-party event loops can use their own subclass of :class:`Task` for " "interoperability. In this case, the result type is a subclass of :class:" "`Task`." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:266 +#: ../Doc/library/asyncio-eventloop.rst:317 +msgid "Set a task factory that will be used by :meth:`loop.create_task`." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:320 msgid "" -"Set a task factory that will be used by :meth:`AbstractEventLoop." -"create_task`." +"If *factory* is ``None`` the default task factory will be set. Otherwise, " +"*factory* must be a *callable* with the signature matching ``(loop, coro)``, " +"where *loop* is a reference to the active event loop, and *coro* is a " +"coroutine object. The callable must return a :class:`asyncio.Future`-" +"compatible object." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:269 -msgid "If *factory* is ``None`` the default task factory will be set." +#: ../Doc/library/asyncio-eventloop.rst:328 +msgid "Return a task factory or ``None`` if the default one is in use." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:271 -msgid "" -"If *factory* is a *callable*, it should have a signature matching ``(loop, " -"coro)``, where *loop* will be a reference to the active event loop, *coro* " -"will be a coroutine object. The callable must return an :class:`asyncio." -"Future` compatible object." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:280 -msgid "Return a task factory, or ``None`` if the default one is in use." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:286 -msgid "Creating connections" +#: ../Doc/library/asyncio-eventloop.rst:332 +msgid "Opening network connections" msgstr "Créer des connections" -#: ../Doc/library/asyncio-eventloop.rst:290 +#: ../Doc/library/asyncio-eventloop.rst:340 msgid "" -"Create a streaming transport connection to a given Internet *host* and " -"*port*: socket family :py:data:`~socket.AF_INET` or :py:data:`~socket." -"AF_INET6` depending on *host* (or *family* if specified), socket type :py:" -"data:`~socket.SOCK_STREAM`. *protocol_factory* must be a callable returning " -"a :ref:`protocol ` instance." +"Open a streaming transport connection to a given address specified by *host* " +"and *port*." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:296 -#: ../Doc/library/asyncio-eventloop.rst:378 -#: ../Doc/library/asyncio-eventloop.rst:431 +#: ../Doc/library/asyncio-eventloop.rst:343 +msgid "" +"The socket family can be either :py:data:`~socket.AF_INET` or :py:data:" +"`~socket.AF_INET6` depending on *host* (or the *family* argument, if " +"provided)." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:347 +msgid "The socket type will be :py:data:`~socket.SOCK_STREAM`." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:349 +#: ../Doc/library/asyncio-eventloop.rst:917 +#: ../Doc/library/asyncio-eventloop.rst:933 +msgid "" +"*protocol_factory* must be a callable returning an :ref:`asyncio protocol " +"` implementation." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:352 msgid "" "This method will try to establish the connection in the background. When " "successful, it returns a ``(transport, protocol)`` pair." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:299 +#: ../Doc/library/asyncio-eventloop.rst:355 msgid "The chronological synopsis of the underlying operation is as follows:" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:301 +#: ../Doc/library/asyncio-eventloop.rst:357 msgid "" -"The connection is established, and a :ref:`transport ` is " -"created to represent it." +"The connection is established and a :ref:`transport ` is " +"created for it." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:304 +#: ../Doc/library/asyncio-eventloop.rst:360 msgid "" -"*protocol_factory* is called without arguments and must return a :ref:" -"`protocol ` instance." +"*protocol_factory* is called without arguments and is expected to return a :" +"ref:`protocol ` instance." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:307 +#: ../Doc/library/asyncio-eventloop.rst:363 msgid "" -"The protocol instance is tied to the transport, and its :meth:" -"`connection_made` method is called." +"The protocol instance is coupled with the transport by calling its :meth:" +"`~BaseProtocol.connection_made` method." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:310 -msgid "" -"The coroutine returns successfully with the ``(transport, protocol)`` pair." +#: ../Doc/library/asyncio-eventloop.rst:366 +msgid "A ``(transport, protocol)`` tuple is returned on success." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:313 +#: ../Doc/library/asyncio-eventloop.rst:368 msgid "" "The created transport is an implementation-dependent bidirectional stream." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:316 -msgid "" -"*protocol_factory* can be any kind of callable, not necessarily a class. " -"For example, if you want to use a pre-created protocol instance, you can " -"pass ``lambda: my_protocol``." +#: ../Doc/library/asyncio-eventloop.rst:371 +#: ../Doc/library/asyncio-eventloop.rst:445 +msgid "Other arguments:" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:320 -msgid "Options that change how the connection is created:" -msgstr "Options modifiant la création de la connexion :" - -#: ../Doc/library/asyncio-eventloop.rst:322 +#: ../Doc/library/asyncio-eventloop.rst:373 msgid "" "*ssl*: if given and not false, a SSL/TLS transport is created (by default a " "plain TCP transport is created). If *ssl* is a :class:`ssl.SSLContext` " "object, this context is used to create the transport; if *ssl* is :const:" -"`True`, a context with some unspecified default settings is used." +"`True`, a default context returned from :func:`ssl.create_default_context` " +"is used." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:328 +#: ../Doc/library/asyncio-eventloop.rst:379 msgid ":ref:`SSL/TLS security considerations `" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:330 +#: ../Doc/library/asyncio-eventloop.rst:381 msgid "" -"*server_hostname*, is only for use together with *ssl*, and sets or " -"overrides the hostname that the target server's certificate will be matched " -"against. By default the value of the *host* argument is used. If *host* is " -"empty, there is no default and you must pass a value for *server_hostname*. " -"If *server_hostname* is an empty string, hostname matching is disabled " -"(which is a serious security risk, allowing for man-in-the-middle-attacks)." +"*server_hostname* sets or overrides the hostname that the target server's " +"certificate will be matched against. Should only be passed if *ssl* is not " +"``None``. By default the value of the *host* argument is used. If *host* " +"is empty, there is no default and you must pass a value for " +"*server_hostname*. If *server_hostname* is an empty string, hostname " +"matching is disabled (which is a serious security risk, allowing for " +"potential man-in-the-middle attacks)." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:338 +#: ../Doc/library/asyncio-eventloop.rst:389 msgid "" "*family*, *proto*, *flags* are the optional address family, protocol and " "flags to be passed through to getaddrinfo() for *host* resolution. If given, " @@ -436,7 +521,7 @@ msgid "" "constants." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:343 +#: ../Doc/library/asyncio-eventloop.rst:394 msgid "" "*sock*, if given, should be an existing, already connected :class:`socket." "socket` object to be used by the transport. If *sock* is given, none of " @@ -444,67 +529,89 @@ msgid "" "specified." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:348 +#: ../Doc/library/asyncio-eventloop.rst:399 msgid "" "*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind " "the socket to locally. The *local_host* and *local_port* are looked up " -"using getaddrinfo(), similarly to *host* and *port*." +"using ``getaddrinfo()``, similarly to *host* and *port*." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:352 -#: ../Doc/library/asyncio-eventloop.rst:560 -#: ../Doc/library/asyncio-eventloop.rst:629 +#: ../Doc/library/asyncio-eventloop.rst:403 +#: ../Doc/library/asyncio-eventloop.rst:726 msgid "" -"*ssl_handshake_timeout* is (for an SSL connection) the time in seconds to " -"wait for the SSL handshake to complete before aborting the connection. " +"*ssl_handshake_timeout* is (for a TLS connection) the time in seconds to " +"wait for the TLS handshake to complete before aborting the connection. " "``60.0`` seconds if ``None`` (default)." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:358 -#: ../Doc/library/asyncio-eventloop.rst:444 -#: ../Doc/library/asyncio-eventloop.rst:568 +#: ../Doc/library/asyncio-eventloop.rst:409 +#: ../Doc/library/asyncio-eventloop.rst:511 +#: ../Doc/library/asyncio-eventloop.rst:664 msgid "The *ssl_handshake_timeout* parameter." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:362 -#: ../Doc/library/asyncio-eventloop.rst:514 -msgid "On Windows with :class:`ProactorEventLoop`, SSL/TLS is now supported." +#: ../Doc/library/asyncio-eventloop.rst:413 +#: ../Doc/library/asyncio-eventloop.rst:594 +msgid "" +"The socket option :py:data:`~socket.TCP_NODELAY` is set by default for all " +"TCP connections." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:366 -msgid "" -"The :func:`open_connection` function can be used to get a pair of (:class:" -"`StreamReader`, :class:`StreamWriter`) instead of a protocol." +#: ../Doc/library/asyncio-eventloop.rst:418 +#: ../Doc/library/asyncio-eventloop.rst:599 +msgid "Added support for SSL/TLS in :class:`ProactorEventLoop`." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:372 +#: ../Doc/library/asyncio-eventloop.rst:422 +msgid "" +"The :func:`open_connection` function is a high-level alternative API. It " +"returns a pair of (:class:`StreamReader`, :class:`StreamWriter`) that can be " +"used directly in async/await code." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:432 +msgid "Create a datagram connection." +msgstr "Créer des connections de datagrammes" + +#: ../Doc/library/asyncio-eventloop.rst:434 +msgid "" +"The socket family can be either :py:data:`~socket.AF_INET`, :py:data:" +"`~socket.AF_INET6`, or :py:data:`~socket.AF_UNIX`, depending on *host* (or " +"the *family* argument, if provided)." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:438 +msgid "The socket type will be :py:data:`~socket.SOCK_DGRAM`." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:440 +#: ../Doc/library/asyncio-eventloop.rst:536 +#: ../Doc/library/asyncio-eventloop.rst:647 msgid "" -"Create datagram connection: socket family :py:data:`~socket.AF_INET`, :py:" -"data:`~socket.AF_INET6` or :py:data:`~socket.AF_UNIX` depending on *host* " -"(or *family* if specified), socket type :py:data:`~socket.SOCK_DGRAM`. " "*protocol_factory* must be a callable returning a :ref:`protocol ` instance." +"protocol>` implementation." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:381 -msgid "Options changing how the connection is created:" -msgstr "Options modifiant la création de la connexion :" +#: ../Doc/library/asyncio-eventloop.rst:443 +#: ../Doc/library/asyncio-eventloop.rst:497 +msgid "A tuple of ``(transport, protocol)`` is returned on success." +msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:383 +#: ../Doc/library/asyncio-eventloop.rst:447 msgid "" "*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind " "the socket to locally. The *local_host* and *local_port* are looked up " "using :meth:`getaddrinfo`." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:387 +#: ../Doc/library/asyncio-eventloop.rst:451 msgid "" "*remote_addr*, if given, is a ``(remote_host, remote_port)`` tuple used to " "connect the socket to a remote address. The *remote_host* and *remote_port* " "are looked up using :meth:`getaddrinfo`." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:391 +#: ../Doc/library/asyncio-eventloop.rst:455 msgid "" "*family*, *proto*, *flags* are the optional address family, protocol and " "flags to be passed through to :meth:`getaddrinfo` for *host* resolution. If " @@ -512,30 +619,30 @@ msgid "" "module constants." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:396 -#: ../Doc/library/asyncio-eventloop.rst:488 +#: ../Doc/library/asyncio-eventloop.rst:460 +#: ../Doc/library/asyncio-eventloop.rst:568 msgid "" -"*reuse_address* tells the kernel to reuse a local socket in TIME_WAIT state, " -"without waiting for its natural timeout to expire. If not specified will " -"automatically be set to ``True`` on UNIX." +"*reuse_address* tells the kernel to reuse a local socket in ``TIME_WAIT`` " +"state, without waiting for its natural timeout to expire. If not specified " +"will automatically be set to ``True`` on Unix." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:401 +#: ../Doc/library/asyncio-eventloop.rst:465 msgid "" "*reuse_port* tells the kernel to allow this endpoint to be bound to the same " "port as other existing endpoints are bound to, so long as they all set this " "flag when being created. This option is not supported on Windows and some " -"UNIX's. If the :py:data:`~socket.SO_REUSEPORT` constant is not defined then " +"Unixes. If the :py:data:`~socket.SO_REUSEPORT` constant is not defined then " "this capability is unsupported." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:407 +#: ../Doc/library/asyncio-eventloop.rst:471 msgid "" "*allow_broadcast* tells the kernel to allow this endpoint to send messages " "to the broadcast address." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:410 +#: ../Doc/library/asyncio-eventloop.rst:474 msgid "" "*sock* can optionally be specified in order to use a preexisting, already " "connected, :class:`socket.socket` object to be used by the transport. If " @@ -543,132 +650,143 @@ msgid "" "`None`)." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:415 +#: ../Doc/library/asyncio-eventloop.rst:479 msgid "" -"On Windows with :class:`ProactorEventLoop`, this method is not supported." +"On Windows, with :class:`ProactorEventLoop`, this method is not supported." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:417 +#: ../Doc/library/asyncio-eventloop.rst:481 msgid "" "See :ref:`UDP echo client protocol ` and :" "ref:`UDP echo server protocol ` examples." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:420 +#: ../Doc/library/asyncio-eventloop.rst:484 msgid "" "The *family*, *proto*, *flags*, *reuse_address*, *reuse_port, " "*allow_broadcast*, and *sock* parameters were added." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:426 +#: ../Doc/library/asyncio-eventloop.rst:492 +msgid "Create a Unix connection." +msgstr "Créer des connections Unix" + +#: ../Doc/library/asyncio-eventloop.rst:494 msgid "" -"Create UNIX connection: socket family :py:data:`~socket.AF_UNIX`, socket " -"type :py:data:`~socket.SOCK_STREAM`. The :py:data:`~socket.AF_UNIX` socket " -"family is used to communicate between processes on the same machine " -"efficiently." +"The socket family will be :py:data:`~socket.AF_UNIX`; socket type will be :" +"py:data:`~socket.SOCK_STREAM`." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:434 -#: ../Doc/library/asyncio-eventloop.rst:531 +#: ../Doc/library/asyncio-eventloop.rst:499 msgid "" -"*path* is the name of a UNIX domain socket, and is required unless a *sock* " -"parameter is specified. Abstract UNIX sockets, :class:`str`, :class:" +"*path* is the name of a Unix domain socket and is required, unless a *sock* " +"parameter is specified. Abstract Unix sockets, :class:`str`, :class:" "`bytes`, and :class:`~pathlib.Path` paths are supported." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:438 +#: ../Doc/library/asyncio-eventloop.rst:504 msgid "" -"See the :meth:`AbstractEventLoop.create_connection` method for parameters." +"See the documentation of the :meth:`loop.create_connection` method for " +"information about arguments to this method." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:440 -#: ../Doc/library/asyncio-eventloop.rst:535 -msgid "Availability: UNIX." -msgstr "Disponible sur : UNIX." +#: ../Doc/library/asyncio-eventloop.rst:507 +#: ../Doc/library/asyncio-eventloop.rst:627 +#: ../Doc/library/asyncio-eventloop.rst:976 +msgid "Availability: Unix." +msgstr "Disponnibilité : UNIX." -#: ../Doc/library/asyncio-eventloop.rst:448 +#: ../Doc/library/asyncio-eventloop.rst:515 msgid "The *path* parameter can now be a :term:`path-like object`." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:452 -msgid "Creating listening connections" -msgstr "Attendre des connections" +#: ../Doc/library/asyncio-eventloop.rst:519 +msgid "Creating network servers" +msgstr "Créer des serveurs" -#: ../Doc/library/asyncio-eventloop.rst:456 +#: ../Doc/library/asyncio-eventloop.rst:529 msgid "" -"Create a TCP server (socket type :data:`~socket.SOCK_STREAM`) bound to " -"*host* and *port*." +"Create a TCP server (socket type :data:`~socket.SOCK_STREAM`) listening on " +"*port* of the *host* address." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:459 -msgid "" -"Return a :class:`Server` object, its :attr:`~Server.sockets` attribute " -"contains created sockets. Use the :meth:`Server.close` method to stop the " -"server: close listening sockets." +#: ../Doc/library/asyncio-eventloop.rst:532 +msgid "Returns a :class:`Server` object." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:534 +msgid "Arguments:" +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:539 +msgid "" +"The *host* parameter can be set to several types which determine where the " +"server would be listening:" +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:542 +msgid "" +"If *host* is a string, the TCP server is bound to a single network interface " +"specified by *host*." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:545 +msgid "" +"If *host* is a sequence of strings, the TCP server is bound to all network " +"interfaces specified by the sequence." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:548 +msgid "" +"If *host* is an empty string or ``None``, all interfaces are assumed and a " +"list of multiple sockets will be returned (most likely one for IPv4 and " +"another one for IPv6)." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:463 #: ../Doc/library/asyncio-eventloop.rst:552 -#: ../Doc/library/asyncio-eventloop.rst:615 -msgid "Parameters:" -msgstr "Paramètres :" - -#: ../Doc/library/asyncio-eventloop.rst:465 -msgid "" -"The *host* parameter can be a string, in that case the TCP server is bound " -"to *host* and *port*. The *host* parameter can also be a sequence of strings " -"and in that case the TCP server is bound to all hosts of the sequence. If " -"*host* is an empty string or ``None``, all interfaces are assumed and a list " -"of multiple sockets will be returned (most likely one for IPv4 and another " -"one for IPv6)." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:472 msgid "" "*family* can be set to either :data:`socket.AF_INET` or :data:`~socket." -"AF_INET6` to force the socket to use IPv4 or IPv6. If not set it will be " -"determined from host (defaults to :data:`socket.AF_UNSPEC`)." +"AF_INET6` to force the socket to use IPv4 or IPv6. If not set, the *family* " +"will be determined from host name (defaults to :data:`~socket.AF_UNSPEC`)." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:476 +#: ../Doc/library/asyncio-eventloop.rst:557 msgid "*flags* is a bitmask for :meth:`getaddrinfo`." msgstr "*flags* est un masque de bits pour :meth:`getaddrinfo`." -#: ../Doc/library/asyncio-eventloop.rst:478 +#: ../Doc/library/asyncio-eventloop.rst:559 msgid "" "*sock* can optionally be specified in order to use a preexisting socket " -"object. If specified, *host* and *port* should be omitted (must be :const:" -"`None`)." +"object. If specified, *host* and *port* must not be specified." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:482 +#: ../Doc/library/asyncio-eventloop.rst:562 msgid "" "*backlog* is the maximum number of queued connections passed to :meth:" "`~socket.socket.listen` (defaults to 100)." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:485 -#: ../Doc/library/asyncio-eventloop.rst:557 +#: ../Doc/library/asyncio-eventloop.rst:565 msgid "" -"*ssl* can be set to an :class:`~ssl.SSLContext` to enable SSL over the " -"accepted connections." +"*ssl* can be set to an :class:`~ssl.SSLContext` instance to enable TLS over " +"the accepted connections." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:493 +#: ../Doc/library/asyncio-eventloop.rst:573 msgid "" "*reuse_port* tells the kernel to allow this endpoint to be bound to the same " "port as other existing endpoints are bound to, so long as they all set this " "flag when being created. This option is not supported on Windows." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:498 +#: ../Doc/library/asyncio-eventloop.rst:578 msgid "" -"*ssl_handshake_timeout* is (for an SSL server) the time in seconds to wait " -"for the SSL handshake to complete before aborting the connection. ``60.0`` " +"*ssl_handshake_timeout* is (for a TLS server) the time in seconds to wait " +"for the TLS handshake to complete before aborting the connection. ``60.0`` " "seconds if ``None`` (default)." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:502 +#: ../Doc/library/asyncio-eventloop.rst:582 msgid "" "*start_serving* set to ``True`` (the default) causes the created server to " "start accepting connections immediately. When set to ``False``, the user " @@ -676,269 +794,302 @@ msgid "" "to make the server to start accepting connections." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:510 -msgid "*ssl_handshake_timeout* and *start_serving* parameters." +#: ../Doc/library/asyncio-eventloop.rst:590 +msgid "Added *ssl_handshake_timeout* and *start_serving* parameters." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:518 +#: ../Doc/library/asyncio-eventloop.rst:603 +msgid "The *host* parameter can be a sequence of strings." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:607 msgid "" -"The function :func:`start_server` creates a (:class:`StreamReader`, :class:" -"`StreamWriter`) pair and calls back a function with this pair." +"The :func:`start_server` function is a higher-level alternative API that " +"returns a pair of :class:`StreamReader` and :class:`StreamWriter` that can " +"be used in an async/await code." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:523 -msgid "The *host* parameter can now be a sequence of strings." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:528 +#: ../Doc/library/asyncio-eventloop.rst:616 msgid "" -"Similar to :meth:`AbstractEventLoop.create_server`, but specific to the " -"socket family :py:data:`~socket.AF_UNIX`." +"Similar to :meth:`loop.create_server` but works with the :py:data:`~socket." +"AF_UNIX` socket family." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:539 +#: ../Doc/library/asyncio-eventloop.rst:619 +msgid "" +"*path* is the name of a Unix domain socket, and is required, unless a *sock* " +"argument is provided. Abstract Unix sockets, :class:`str`, :class:`bytes`, " +"and :class:`~pathlib.Path` paths are supported." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:624 +msgid "" +"See the documentation of the :meth:`loop.create_server` method for " +"information about arguments to this method." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:631 msgid "The *ssl_handshake_timeout* and *start_serving* parameters." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:543 +#: ../Doc/library/asyncio-eventloop.rst:635 msgid "The *path* parameter can now be a :class:`~pathlib.Path` object." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:547 -msgid "Handle an accepted connection." +#: ../Doc/library/asyncio-eventloop.rst:640 +msgid "Wrap an already accepted connection into a transport/protocol pair." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:549 +#: ../Doc/library/asyncio-eventloop.rst:642 msgid "" -"This is used by servers that accept connections outside of asyncio but that " -"use asyncio to handle them." +"This method can be used by servers that accept connections outside of " +"asyncio but that use asyncio to handle them." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:554 -msgid "*sock* is a preexisting socket object returned from an ``accept`` call." -msgstr "" +#: ../Doc/library/asyncio-eventloop.rst:645 +#: ../Doc/library/asyncio-eventloop.rst:712 +msgid "Parameters:" +msgstr "Paramètres :" -#: ../Doc/library/asyncio-eventloop.rst:564 -msgid "When completed it returns a ``(transport, protocol)`` pair." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:574 -msgid "File Transferring" -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:580 +#: ../Doc/library/asyncio-eventloop.rst:650 msgid "" -"Send a *file* to *transport*, return the total number of bytes which were " -"sent." +"*sock* is a preexisting socket object returned from :meth:`socket.accept " +"`." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:583 +#: ../Doc/library/asyncio-eventloop.rst:653 +msgid "" +"*ssl* can be set to an :class:`~ssl.SSLContext` to enable SSL over the " +"accepted connections." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:656 +msgid "" +"*ssl_handshake_timeout* is (for an SSL connection) the time in seconds to " +"wait for the SSL handshake to complete before aborting the connection. " +"``60.0`` seconds if ``None`` (default)." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:660 +msgid "Returns a ``(transport, protocol)`` pair." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:670 +msgid "Transferring files" +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:675 +msgid "" +"Send a *file* over a *transport*. Return the total number of bytes sent." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:678 msgid "The method uses high-performance :meth:`os.sendfile` if available." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:585 -#: ../Doc/library/asyncio-eventloop.rst:780 +#: ../Doc/library/asyncio-eventloop.rst:680 msgid "*file* must be a regular file object opened in binary mode." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:587 -#: ../Doc/library/asyncio-eventloop.rst:782 +#: ../Doc/library/asyncio-eventloop.rst:682 +#: ../Doc/library/asyncio-eventloop.rst:872 msgid "" "*offset* tells from where to start reading the file. If specified, *count* " "is the total number of bytes to transmit as opposed to sending the file " -"until EOF is reached. File position is updated on return or also in case of " -"error in which case :meth:`file.tell() ` can be used to " -"figure out the number of bytes which were sent." +"until EOF is reached. File position is always updated, even when this method " +"raises an error, and :meth:`file.tell() ` can be used to " +"obtain the actual number of bytes sent." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:594 -#: ../Doc/library/asyncio-eventloop.rst:789 +#: ../Doc/library/asyncio-eventloop.rst:689 msgid "" "*fallback* set to ``True`` makes asyncio to manually read and send the file " -"when the platform does not support the sendfile syscall (e.g. Windows or SSL " -"socket on Unix)." +"when the platform does not support the sendfile system call (e.g. Windows or " +"SSL socket on Unix)." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:598 -#: ../Doc/library/asyncio-eventloop.rst:793 +#: ../Doc/library/asyncio-eventloop.rst:693 msgid "" -"Raise :exc:`SendfileNotAvailableError` if the system does not support " +"Raise :exc:`SendfileNotAvailableError` if the system does not support the " "*sendfile* syscall and *fallback* is ``False``." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:605 +#: ../Doc/library/asyncio-eventloop.rst:700 msgid "TLS Upgrade" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:609 -msgid "Upgrades an existing connection to TLS." +#: ../Doc/library/asyncio-eventloop.rst:706 +msgid "Upgrade an existing transport-based connection to TLS." msgstr "Convertit une connexion existante en connexion TLS." -#: ../Doc/library/asyncio-eventloop.rst:611 +#: ../Doc/library/asyncio-eventloop.rst:708 msgid "" -"Returns a new transport instance, that the *protocol* must start using " +"Return a new transport instance, that the *protocol* must start using " "immediately after the *await*. The *transport* instance passed to the " "*start_tls* method should never be used again." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:617 +#: ../Doc/library/asyncio-eventloop.rst:714 msgid "" -"*transport* and *protocol* instances that methods like :meth:" -"`~AbstractEventLoop.create_server` and :meth:`~AbstractEventLoop." -"create_connection` return." +"*transport* and *protocol* instances that methods like :meth:`~loop." +"create_server` and :meth:`~loop.create_connection` return." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:621 +#: ../Doc/library/asyncio-eventloop.rst:718 msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:623 +#: ../Doc/library/asyncio-eventloop.rst:720 msgid "" "*server_side* pass ``True`` when a server-side connection is being upgraded " -"(like the one created by :meth:`~AbstractEventLoop.create_server`)." +"(like the one created by :meth:`~loop.create_server`)." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:626 +#: ../Doc/library/asyncio-eventloop.rst:723 msgid "" "*server_hostname*: sets or overrides the host name that the target server's " "certificate will be matched against." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:637 -msgid "Watch file descriptors" +#: ../Doc/library/asyncio-eventloop.rst:734 +msgid "Watching file descriptors" msgstr "Surveiller des descripteurs de fichiers" -#: ../Doc/library/asyncio-eventloop.rst:639 +#: ../Doc/library/asyncio-eventloop.rst:738 msgid "" -"On Windows with :class:`SelectorEventLoop`, only socket handles are " -"supported (ex: pipe file descriptors are not supported)." +"Start monitoring the *fd* file descriptor for read availability and invoke " +"*callback* with the specified arguments once *fd* is available for reading." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:642 +#: ../Doc/library/asyncio-eventloop.rst:744 +msgid "Stop monitoring the *fd* file descriptor for read availability." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:748 msgid "" -"On Windows with :class:`ProactorEventLoop`, these methods are not supported." +"Start monitoring the *fd* file descriptor for write availability and invoke " +"*callback* with the specified arguments once *fd* is available for writing." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:646 +#: ../Doc/library/asyncio-eventloop.rst:752 +#: ../Doc/library/asyncio-eventloop.rst:966 +#: ../Doc/library/asyncio-eventloop.rst:1036 msgid "" -"Start watching the file descriptor for read availability and then call the " -"*callback* with specified arguments." +"Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *func*." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:654 -msgid "Stop watching the file descriptor for read availability." +#: ../Doc/library/asyncio-eventloop.rst:757 +msgid "Stop monitoring the *fd* file descriptor for write availability." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:658 -msgid "" -"Start watching the file descriptor for write availability and then call the " -"*callback* with specified arguments." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:666 -msgid "Stop watching the file descriptor for write availability." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:668 -msgid "" -"The :ref:`watch a file descriptor for read events ` example uses the low-level :meth:`AbstractEventLoop.add_reader` " -"method to register the file descriptor of a socket." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:674 -msgid "Low-level socket operations" -msgstr "Opérations bas niveau sur les *socket*" - -#: ../Doc/library/asyncio-eventloop.rst:678 -msgid "" -"Receive data from the socket. Modeled after blocking :meth:`socket.socket." -"recv` method." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:681 -msgid "" -"The return value is a bytes object representing the data received. The " -"maximum amount of data to be received at once is specified by *nbytes*." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:685 -#: ../Doc/library/asyncio-eventloop.rst:701 -#: ../Doc/library/asyncio-eventloop.rst:717 -#: ../Doc/library/asyncio-eventloop.rst:730 -msgid "" -"With :class:`SelectorEventLoop` event loop, the socket *sock* must be non-" -"blocking." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:688 #: ../Doc/library/asyncio-eventloop.rst:759 msgid "" -"Even though the method was always documented as a coroutine method, before " -"Python 3.7 it returned a :class:`Future`. Since Python 3.7, this is an " -"``async def`` method." +"See also :ref:`Platform Support ` section for some " +"limitations of these methods." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:695 +#: ../Doc/library/asyncio-eventloop.rst:764 +msgid "Working with socket objects directly" +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:766 msgid "" -"Receive data from the socket. Modeled after blocking :meth:`socket.socket." -"recv_into` method." +"In general, protocol implementations that use transport-based APIs such as :" +"meth:`loop.create_connection` and :meth:`loop.create_server` are faster than " +"implementations that work with sockets directly. However, there are some use " +"cases when performance is not critical, and working with :class:`~socket." +"socket` objects directly is more convenient." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:698 +#: ../Doc/library/asyncio-eventloop.rst:775 msgid "" -"The received data is written into *buf* (a writable buffer). The return " -"value is the number of bytes written." +"Receive up to *nbytes* from *sock*. Asynchronous version of :meth:`socket." +"recv() `." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:708 +#: ../Doc/library/asyncio-eventloop.rst:778 +msgid "Return the received data as a bytes object." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:780 +#: ../Doc/library/asyncio-eventloop.rst:794 +#: ../Doc/library/asyncio-eventloop.rst:809 +#: ../Doc/library/asyncio-eventloop.rst:822 +#: ../Doc/library/asyncio-eventloop.rst:848 +#: ../Doc/library/asyncio-eventloop.rst:886 +msgid "*sock* must be a non-blocking socket." +msgstr "La *socket* *sock* ne soit pas être bloquante." + +#: ../Doc/library/asyncio-eventloop.rst:782 msgid "" -"Send data to the socket. Modeled after blocking :meth:`socket.socket." -"sendall` method." +"Even though this method was always documented as a coroutine method, " +"releases before Python 3.7 returned a :class:`Future`. Since Python 3.7 this " +"is an ``async def`` method." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:711 +#: ../Doc/library/asyncio-eventloop.rst:789 msgid "" -"The socket must be connected to a remote socket. This method continues to " -"send data from *data* until either all data has been sent or an error " -"occurs. ``None`` is returned on success. On error, an exception is raised, " -"and there is no way to determine how much data, if any, was successfully " -"processed by the receiving end of the connection." +"Receive data from *sock* into the *buf* buffer. Modeled after the blocking :" +"meth:`socket.recv_into() ` method." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:720 +#: ../Doc/library/asyncio-eventloop.rst:792 +msgid "Return the number of bytes written to the buffer." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:800 +msgid "" +"Send *data* to the *sock* socket. Asynchronous version of :meth:`socket." +"sendall() `." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:803 +msgid "" +"This method continues to send to the socket until either all data in *data* " +"has been sent or an error occurs. ``None`` is returned on success. On " +"error, an exception is raised. Additionally, there is no way to determine " +"how much data, if any, was successfully processed by the receiving end of " +"the connection." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:811 msgid "" "Even though the method was always documented as a coroutine method, before " "Python 3.7 it returned an :class:`Future`. Since Python 3.7, this is an " "``async def`` method." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:727 -msgid "" -"Connect to a remote socket at *address*. Modeled after blocking :meth:" -"`socket.socket.connect` method." +#: ../Doc/library/asyncio-eventloop.rst:818 +msgid "Connect *sock* to a remote socket at *address*." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:733 +#: ../Doc/library/asyncio-eventloop.rst:820 +msgid "" +"Asynchronous version of :meth:`socket.connect() `." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:824 msgid "" "``address`` no longer needs to be resolved. ``sock_connect`` will try to " "check if the *address* is already resolved by calling :func:`socket." -"inet_pton`. If not, :meth:`AbstractEventLoop.getaddrinfo` will be used to " -"resolve the *address*." +"inet_pton`. If not, :meth:`loop.getaddrinfo` will be used to resolve the " +"*address*." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:742 +#: ../Doc/library/asyncio-eventloop.rst:833 msgid "" -":meth:`AbstractEventLoop.create_connection` and :func:`asyncio." -"open_connection() `." +":meth:`loop.create_connection` and :func:`asyncio.open_connection() " +"`." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:748 +#: ../Doc/library/asyncio-eventloop.rst:839 msgid "" -"Accept a connection. Modeled after blocking :meth:`socket.socket.accept`." +"Accept a connection. Modeled after the blocking :meth:`socket.accept() " +"` method." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:751 +#: ../Doc/library/asyncio-eventloop.rst:842 msgid "" "The socket must be bound to an address and listening for connections. The " "return value is a pair ``(conn, address)`` where *conn* is a *new* socket " @@ -946,47 +1097,64 @@ msgid "" "the address bound to the socket on the other end of the connection." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:757 -msgid "The socket *sock* must be non-blocking." -msgstr "La *socket* *sock* ne soit pas être bloquante." - -#: ../Doc/library/asyncio-eventloop.rst:766 -msgid ":meth:`AbstractEventLoop.create_server` and :func:`start_server`." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:772 +#: ../Doc/library/asyncio-eventloop.rst:850 msgid "" -"Send a file using high-performance :mod:`os.sendfile` if possible and return " -"the total number of bytes which were sent." +"Even though the method was always documented as a coroutine method, before " +"Python 3.7 it returned a :class:`Future`. Since Python 3.7, this is an " +"``async def`` method." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:775 -msgid "Asynchronous version of :meth:`socket.socket.sendfile`." +#: ../Doc/library/asyncio-eventloop.rst:857 +msgid ":meth:`loop.create_server` and :func:`start_server`." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:777 +#: ../Doc/library/asyncio-eventloop.rst:862 msgid "" -"*sock* must be non-blocking :class:`~socket.socket` of :const:`socket." -"SOCK_STREAM` type." +"Send a file using high-performance :mod:`os.sendfile` if possible. Return " +"the total number of bytes sent." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:800 -msgid "Resolve host name" -msgstr "Résout le nom d'hôte" - -#: ../Doc/library/asyncio-eventloop.rst:804 +#: ../Doc/library/asyncio-eventloop.rst:865 msgid "" -"This method is a :ref:`coroutine `, similar to :meth:`socket." -"getaddrinfo` function but non-blocking." +"Asynchronous version of :meth:`socket.sendfile() `." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:809 +#: ../Doc/library/asyncio-eventloop.rst:867 msgid "" -"This method is a :ref:`coroutine `, similar to :meth:`socket." -"getnameinfo` function but non-blocking." +"*sock* must be a non-blocking :const:`socket.SOCK_STREAM` :class:`~socket." +"socket`." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:812 +#: ../Doc/library/asyncio-eventloop.rst:870 +msgid "*file* must be a regular file object open in binary mode." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:879 +msgid "" +"*fallback*, when set to ``True``, makes asyncio manually read and send the " +"file when the platform does not support the sendfile syscall (e.g. Windows " +"or SSL socket on Unix)." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:883 +msgid "" +"Raise :exc:`SendfileNotAvailableError` if the system does not support " +"*sendfile* syscall and *fallback* is ``False``." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:892 +msgid "DNS" +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:897 +msgid "Asynchronous version of :meth:`socket.getaddrinfo`." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:901 +msgid "Asynchronous version of :meth:`socket.getnameinfo`." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:903 msgid "" "Both *getaddrinfo* and *getnameinfo* methods were always documented to " "return a coroutine, but prior to Python 3.7 they were, in fact, returning :" @@ -994,470 +1162,724 @@ msgid "" "coroutines." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:820 -msgid "Connect pipes" +#: ../Doc/library/asyncio-eventloop.rst:911 +msgid "Working with pipes" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:822 +#: ../Doc/library/asyncio-eventloop.rst:915 +msgid "Register the read end of *pipe* in the event loop." +msgstr "Branche l'extrémité en lecture de *pipe* à la boucle d'évènements." + +#: ../Doc/library/asyncio-eventloop.rst:920 +msgid "*pipe* is a :term:`file-like object `." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:922 msgid "" -"On Windows with :class:`SelectorEventLoop`, these methods are not supported. " -"Use :class:`ProactorEventLoop` to support pipes on Windows." +"Return pair ``(transport, protocol)``, where *transport* supports the :class:" +"`ReadTransport` interface and *protocol* is an object instantiated by the " +"*protocol_factory*." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:827 -msgid "Register read pipe in eventloop." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:829 -msgid "" -"*protocol_factory* should instantiate object with :class:`Protocol` " -"interface. *pipe* is a :term:`file-like object `. Return pair " -"``(transport, protocol)``, where *transport* supports the :class:" -"`ReadTransport` interface." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:834 -#: ../Doc/library/asyncio-eventloop.rst:846 +#: ../Doc/library/asyncio-eventloop.rst:926 +#: ../Doc/library/asyncio-eventloop.rst:942 msgid "" "With :class:`SelectorEventLoop` event loop, the *pipe* is set to non-" "blocking mode." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:839 -msgid "Register write pipe in eventloop." +#: ../Doc/library/asyncio-eventloop.rst:931 +msgid "Register the write end of *pipe* in the event loop." +msgstr "Branche l'extrémité en écriture de *pipe* à la boucle d'évènements." + +#: ../Doc/library/asyncio-eventloop.rst:936 +msgid "*pipe* is :term:`file-like object `." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:841 +#: ../Doc/library/asyncio-eventloop.rst:938 msgid "" -"*protocol_factory* should instantiate object with :class:`BaseProtocol` " -"interface. *pipe* is :term:`file-like object `. Return pair " -"``(transport, protocol)``, where *transport* supports :class:" -"`WriteTransport` interface." +"Return pair ``(transport, protocol)``, where *transport* supports :class:" +"`WriteTransport` interface and *protocol* is an object instantiated by the " +"*protocol_factory*." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:851 +#: ../Doc/library/asyncio-eventloop.rst:947 msgid "" -"The :meth:`AbstractEventLoop.subprocess_exec` and :meth:`AbstractEventLoop." -"subprocess_shell` methods." +":class:`SelectorEventLoop` does not support the above methods on Windows. " +"Use :class:`ProactorEventLoop` instead for Windows." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:856 -msgid "UNIX signals" -msgstr "Signaux UNIX" +#: ../Doc/library/asyncio-eventloop.rst:952 +msgid "" +"The :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` methods." +msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:858 -msgid "Availability: UNIX only." -msgstr "Disponibilité : UNIX seulement." +#: ../Doc/library/asyncio-eventloop.rst:957 +msgid "Unix signals" +msgstr "Signaux Unix" -#: ../Doc/library/asyncio-eventloop.rst:862 -msgid "Add a handler for a signal." -msgstr "Ajouter un gestionnaire (*handler*) pour un signal." +#: ../Doc/library/asyncio-eventloop.rst:961 +msgid "Set *callback* as the handler for the *signum* signal." +msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:864 +#: ../Doc/library/asyncio-eventloop.rst:963 msgid "" "Raise :exc:`ValueError` if the signal number is invalid or uncatchable. " "Raise :exc:`RuntimeError` if there is a problem setting up the handler." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:872 -msgid "Remove a handler for a signal." -msgstr "Supprimer un *handler* pour un signal." +#: ../Doc/library/asyncio-eventloop.rst:971 +msgid "Remove the handler for the *sig* signal." +msgstr "Supprimer le gestionnaire du signal *sig*." -#: ../Doc/library/asyncio-eventloop.rst:874 -msgid "Return ``True`` if a signal handler was removed, ``False`` if not." +#: ../Doc/library/asyncio-eventloop.rst:973 +msgid "" +"Return ``True`` if the signal handler was removed, or ``False`` if no " +"handler was set for the given signal." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:878 +#: ../Doc/library/asyncio-eventloop.rst:980 msgid "The :mod:`signal` module." msgstr "Le module :mod:`signal`." -#: ../Doc/library/asyncio-eventloop.rst:882 -msgid "Executor" -msgstr "Exécuteur" - -#: ../Doc/library/asyncio-eventloop.rst:884 -msgid "" -"Call a function in an :class:`~concurrent.futures.Executor` (pool of threads " -"or pool of processes). By default, an event loop uses a thread pool executor " -"(:class:`~concurrent.futures.ThreadPoolExecutor`)." +#: ../Doc/library/asyncio-eventloop.rst:984 +msgid "Executing code in thread or process pools" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:890 -msgid "Arrange for a *func* to be called in the specified executor." +#: ../Doc/library/asyncio-eventloop.rst:988 +msgid "Arrange for *func* to be called in the specified executor." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:892 +#: ../Doc/library/asyncio-eventloop.rst:990 msgid "" -"The *executor* argument should be an :class:`~concurrent.futures.Executor` " +"The *executor* argument should be an :class:`concurrent.futures.Executor` " "instance. The default executor is used if *executor* is ``None``." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:895 -msgid "" -":ref:`Use functools.partial to pass keywords to the *func* `." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:898 +#: ../Doc/library/asyncio-eventloop.rst:1034 msgid "This method returns a :class:`asyncio.Future` object." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:900 +#: ../Doc/library/asyncio-eventloop.rst:1039 msgid "" -":meth:`BaseEventLoop.run_in_executor` no longer configures the " -"``max_workers`` of the thread pool executor it creates, instead leaving it " -"up to the thread pool executor (:class:`~concurrent.futures." -"ThreadPoolExecutor`) to set the default." +":meth:`loop.run_in_executor` no longer configures the ``max_workers`` of the " +"thread pool executor it creates, instead leaving it up to the thread pool " +"executor (:class:`~concurrent.futures.ThreadPoolExecutor`) to set the " +"default." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:909 -msgid "Set the default executor used by :meth:`run_in_executor`." +#: ../Doc/library/asyncio-eventloop.rst:1048 +msgid "" +"Set *executor* as the default executor used by :meth:`run_in_executor`. " +"*executor* should be an instance of :class:`~concurrent.futures." +"ThreadPoolExecutor`." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:913 +#: ../Doc/library/asyncio-eventloop.rst:1052 +msgid "" +"Using an executor that is not an instance of :class:`~concurrent.futures." +"ThreadPoolExecutor` is deprecated and will trigger an error in Python 3.9." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1057 +msgid "" +"*executor* must be an instance of :class:`concurrent.futures." +"ThreadPoolExecutor`." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1062 msgid "Error Handling API" msgstr "API de gestion d'erreur" -#: ../Doc/library/asyncio-eventloop.rst:915 +#: ../Doc/library/asyncio-eventloop.rst:1064 msgid "Allows customizing how exceptions are handled in the event loop." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:919 +#: ../Doc/library/asyncio-eventloop.rst:1068 msgid "Set *handler* as the new event loop exception handler." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:921 -msgid "If *handler* is ``None``, the default exception handler will be set." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:924 +#: ../Doc/library/asyncio-eventloop.rst:1070 msgid "" -"If *handler* is a callable object, it should have a matching signature to " -"``(loop, context)``, where ``loop`` will be a reference to the active event " -"loop, ``context`` will be a ``dict`` object (see :meth:" -"`call_exception_handler` documentation for details about context)." +"If *handler* is ``None``, the default exception handler will be set. " +"Otherwise, *handler* must be a callable with the signature matching ``(loop, " +"context)``, where ``loop`` is a reference to the active event loop, and " +"``context`` is a ``dict`` object containing the details of the exception " +"(see :meth:`call_exception_handler` documentation for details about context)." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:932 -msgid "Return the exception handler, or ``None`` if the default one is in use." +#: ../Doc/library/asyncio-eventloop.rst:1080 +msgid "" +"Return the current exception handler, or ``None`` if no custom exception " +"handler was set." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:939 +#: ../Doc/library/asyncio-eventloop.rst:1087 msgid "Default exception handler." msgstr "Gestionnaire d'exception par défaut." -#: ../Doc/library/asyncio-eventloop.rst:941 +#: ../Doc/library/asyncio-eventloop.rst:1089 msgid "" -"This is called when an exception occurs and no exception handler is set, and " -"can be called by a custom exception handler that wants to defer to the " -"default behavior." +"This is called when an exception occurs and no exception handler is set. " +"This can be called by a custom exception handler that wants to defer to the " +"default handler behavior." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:945 +#: ../Doc/library/asyncio-eventloop.rst:1093 msgid "" "*context* parameter has the same meaning as in :meth:" "`call_exception_handler`." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:950 +#: ../Doc/library/asyncio-eventloop.rst:1098 msgid "Call the current event loop exception handler." msgstr "" "Appelle le gestionnaire d'exception de la boucle d'évènements actuelle." -#: ../Doc/library/asyncio-eventloop.rst:952 +#: ../Doc/library/asyncio-eventloop.rst:1100 msgid "" "*context* is a ``dict`` object containing the following keys (new keys may " -"be introduced later):" +"be introduced in future Python versions):" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:955 +#: ../Doc/library/asyncio-eventloop.rst:1103 msgid "'message': Error message;" msgstr "``message`` : Message d'erreur ;" -#: ../Doc/library/asyncio-eventloop.rst:956 +#: ../Doc/library/asyncio-eventloop.rst:1104 msgid "'exception' (optional): Exception object;" msgstr "``exception`` (optionnel): Un objet exception ;" -#: ../Doc/library/asyncio-eventloop.rst:957 +#: ../Doc/library/asyncio-eventloop.rst:1105 msgid "'future' (optional): :class:`asyncio.Future` instance;" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:958 +#: ../Doc/library/asyncio-eventloop.rst:1106 msgid "'handle' (optional): :class:`asyncio.Handle` instance;" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:959 +#: ../Doc/library/asyncio-eventloop.rst:1107 msgid "'protocol' (optional): :ref:`Protocol ` instance;" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:960 +#: ../Doc/library/asyncio-eventloop.rst:1108 msgid "'transport' (optional): :ref:`Transport ` instance;" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:961 +#: ../Doc/library/asyncio-eventloop.rst:1109 msgid "'socket' (optional): :class:`socket.socket` instance." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:965 +#: ../Doc/library/asyncio-eventloop.rst:1113 msgid "" -"Note: this method should not be overloaded in subclassed event loops. For " -"any custom exception handling, use :meth:`set_exception_handler()` method." +"This method should not be overloaded in subclassed event loops. For custom " +"exception handling, use the :meth:`set_exception_handler()` method." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:970 -msgid "Debug mode" -msgstr "Mode débogage" +#: ../Doc/library/asyncio-eventloop.rst:1118 +msgid "Enabling debug mode" +msgstr "Active le mode débogage" -#: ../Doc/library/asyncio-eventloop.rst:974 +#: ../Doc/library/asyncio-eventloop.rst:1122 msgid "Get the debug mode (:class:`bool`) of the event loop." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:976 +#: ../Doc/library/asyncio-eventloop.rst:1124 msgid "" "The default value is ``True`` if the environment variable :envvar:" "`PYTHONASYNCIODEBUG` is set to a non-empty string, ``False`` otherwise." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:984 +#: ../Doc/library/asyncio-eventloop.rst:1130 msgid "Set the debug mode of the event loop." msgstr "Active le mode débogage pour la boucle d'évènements." -#: ../Doc/library/asyncio-eventloop.rst:990 +#: ../Doc/library/asyncio-eventloop.rst:1134 +msgid "" +"The new ``-X dev`` command line option can now also be used to enable the " +"debug mode." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1139 msgid "The :ref:`debug mode of asyncio `." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:993 -msgid "Server" -msgstr "Serveur" - -#: ../Doc/library/asyncio-eventloop.rst:997 -msgid "Server listening on sockets." -msgstr "Serveur écoutant sur des *sockets*." - -#: ../Doc/library/asyncio-eventloop.rst:999 -msgid "" -"Object created by :meth:`AbstractEventLoop.create_server`, :meth:" -"`AbstractEventLoop.create_unix_server`, :func:`start_server`, and :func:" -"`start_unix_server` functions. Don't instantiate the class directly." +#: ../Doc/library/asyncio-eventloop.rst:1143 +msgid "Running Subprocesses" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1004 +#: ../Doc/library/asyncio-eventloop.rst:1145 +msgid "" +"Methods described in this subsections are low-level. In regular async/await " +"code consider using the high-level :func:`asyncio.create_subprocess_shell` " +"and :func:`asyncio.create_subprocess_exec` convenience functions instead." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1152 +msgid "" +"The default asyncio event loop on **Windows** does not support subprocesses. " +"See :ref:`Subprocess Support on Windows ` for " +"details." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1160 +msgid "" +"Create a subprocess from one or more string arguments specified by *args*." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1163 +msgid "*args* must be a list of strings represented by:" +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1165 +msgid ":class:`str`;" +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1166 +msgid "" +"or :class:`bytes`, encoded to the :ref:`filesystem encoding `." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1169 +msgid "" +"The first string specifies the program executable, and the remaining strings " +"specify the arguments. Together, string arguments form the ``argv`` of the " +"program." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1173 +msgid "" +"This is similar to the standard library :class:`subprocess.Popen` class " +"called with ``shell=False`` and the list of strings passed as the first " +"argument; however, where :class:`~subprocess.Popen` takes a single argument " +"which is list of strings, *subprocess_exec* takes multiple string arguments." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1179 +msgid "" +"The *protocol_factory* must be a callable returning a subclass of the :class:" +"`asyncio.SubprocessProtocol` class." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1182 +msgid "Other parameters:" +msgstr "Autres Paramètres :" + +#: ../Doc/library/asyncio-eventloop.rst:1184 +msgid "" +"*stdin*: either a file-like object representing a pipe to be connected to " +"the subprocess's standard input stream using :meth:`~loop." +"connect_write_pipe`, or the :const:`subprocess.PIPE` constant (default). By " +"default a new pipe will be created and connected." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1190 +msgid "" +"*stdout*: either a file-like object representing the pipe to be connected to " +"the subprocess's standard output stream using :meth:`~loop." +"connect_read_pipe`, or the :const:`subprocess.PIPE` constant (default). By " +"default a new pipe will be created and connected." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1196 +msgid "" +"*stderr*: either a file-like object representing the pipe to be connected to " +"the subprocess's standard error stream using :meth:`~loop." +"connect_read_pipe`, or one of :const:`subprocess.PIPE` (default) or :const:" +"`subprocess.STDOUT` constants." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1202 +msgid "" +"By default a new pipe will be created and connected. When :const:`subprocess." +"STDOUT` is specified, the subprocess' standard error stream will be " +"connected to the same pipe as the standard output stream." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1207 +msgid "" +"All other keyword arguments are passed to :class:`subprocess.Popen` without " +"interpretation, except for *bufsize*, *universal_newlines* and *shell*, " +"which should not be specified at all." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1211 +msgid "" +"See the constructor of the :class:`subprocess.Popen` class for documentation " +"on other arguments." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1214 +msgid "" +"Returns a pair of ``(transport, protocol)``, where *transport* conforms to " +"the :class:`asyncio.SubprocessTransport` base class and *protocol* is an " +"object instantiated by the *protocol_factory*." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1222 +msgid "" +"Create a subprocess from *cmd*, which can be a :class:`str` or a :class:" +"`bytes` string encoded to the :ref:`filesystem encoding `, using the platform's \"shell\" syntax." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1227 +msgid "" +"This is similar to the standard library :class:`subprocess.Popen` class " +"called with ``shell=True``." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1230 +msgid "" +"The *protocol_factory* must be a callable returning a subclass of the :class:" +"`SubprocessProtocol` class." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1233 +msgid "" +"See :meth:`~loop.subprocess_exec` for more details about the remaining " +"arguments." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1236 +msgid "" +"Returns a pair of ``(transport, protocol)``, where *transport* conforms to " +"the :class:`SubprocessTransport` base class and *protocol* is an object " +"instantiated by the *protocol_factory*." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1241 +msgid "" +"It is the application's responsibility to ensure that all whitespace and " +"special characters are quoted appropriately to avoid `shell injection " +"`_ " +"vulnerabilities. The :func:`shlex.quote` function can be used to properly " +"escape whitespace and special characters in strings that are going to be " +"used to construct shell commands." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1250 +msgid "Callback Handles" +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1254 +msgid "" +"A callback wrapper object returned by :meth:`loop.call_soon`, :meth:`loop." +"call_soon_threadsafe`." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1259 +msgid "" +"Cancel the callback. If the callback has already been canceled or executed, " +"this method has no effect." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1264 +msgid "Return ``True`` if the callback was cancelled." +msgstr "Renvoie ``True`` si la fonction de rappel à été annulé." + +#: ../Doc/library/asyncio-eventloop.rst:1270 +msgid "" +"A callback wrapper object returned by :meth:`loop.call_later`, and :meth:" +"`loop.call_at`." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1273 +msgid "This class is a subclass of :class:`Handle`." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1277 +msgid "Return a scheduled callback time as :class:`float` seconds." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1279 +msgid "" +"The time is an absolute timestamp, using the same time reference as :meth:" +"`loop.time`." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1286 +msgid "Server Objects" +msgstr "Objets Serveur" + +#: ../Doc/library/asyncio-eventloop.rst:1288 +msgid "" +"Server objects are created by :meth:`loop.create_server`, :meth:`loop." +"create_unix_server`, :func:`start_server`, and :func:`start_unix_server` " +"functions." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1292 +msgid "Do not instantiate the class directly." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1296 msgid "" "*Server* objects are asynchronous context managers. When used in an ``async " "with`` statement, it's guaranteed that the Server object is closed and not " "accepting new connections when the ``async with`` statement is completed::" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1017 +#: ../Doc/library/asyncio-eventloop.rst:1309 msgid "Server object is an asynchronous context manager since Python 3.7." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1022 +#: ../Doc/library/asyncio-eventloop.rst:1314 msgid "" "Stop serving: close listening sockets and set the :attr:`sockets` attribute " "to ``None``." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1025 +#: ../Doc/library/asyncio-eventloop.rst:1317 msgid "" "The sockets that represent existing incoming client connections are left " "open." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1028 +#: ../Doc/library/asyncio-eventloop.rst:1320 msgid "" "The server is closed asynchronously, use the :meth:`wait_closed` coroutine " "to wait until the server is closed." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1033 -msgid "Gives the event loop associated with the server object." +#: ../Doc/library/asyncio-eventloop.rst:1325 +msgid "Return the event loop associated with the server object." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1039 +#: ../Doc/library/asyncio-eventloop.rst:1331 msgid "Start accepting connections." msgstr "Commence à accepter les connexions." -#: ../Doc/library/asyncio-eventloop.rst:1041 +#: ../Doc/library/asyncio-eventloop.rst:1333 msgid "" "This method is idempotent, so it can be called when the server is already " "being serving." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1044 +#: ../Doc/library/asyncio-eventloop.rst:1336 msgid "" -"The new *start_serving* keyword-only parameter to :meth:`AbstractEventLoop." -"create_server` and :meth:`asyncio.start_server` allows to create a Server " -"object that is not accepting connections right away. In which case this " -"method, or :meth:`Server.serve_forever` can be used to make the Server " -"object to start accepting connections." +"The *start_serving* keyword-only parameter to :meth:`loop.create_server` " +"and :meth:`asyncio.start_server` allows creating a Server object that is not " +"accepting connections initially. In this case ``Server.start_serving()``, " +"or :meth:`Server.serve_forever` can be used to make the Server start " +"accepting connections." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1055 +#: ../Doc/library/asyncio-eventloop.rst:1347 msgid "" "Start accepting connections until the coroutine is cancelled. Cancellation " "of ``serve_forever`` task causes the server to be closed." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1059 +#: ../Doc/library/asyncio-eventloop.rst:1351 msgid "" "This method can be called if the server is already accepting connections. " "Only one ``serve_forever`` task can exist per one *Server* object." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1063 -msgid "Example::" -msgstr "Exemple ::" - -#: ../Doc/library/asyncio-eventloop.rst:1081 +#: ../Doc/library/asyncio-eventloop.rst:1373 msgid "Return ``True`` if the server is accepting new connections." msgstr "Donne ``True`` si le serveur accepte de nouvelles connexions." -#: ../Doc/library/asyncio-eventloop.rst:1087 +#: ../Doc/library/asyncio-eventloop.rst:1379 msgid "Wait until the :meth:`close` method completes." msgstr "Attends que la méthode :meth:`close` se termine." -#: ../Doc/library/asyncio-eventloop.rst:1091 +#: ../Doc/library/asyncio-eventloop.rst:1383 msgid "" -"List of :class:`socket.socket` objects the server is listening to, or " +"List of :class:`socket.socket` objects the server is listening on, or " "``None`` if the server is closed." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1094 +#: ../Doc/library/asyncio-eventloop.rst:1386 msgid "" -"Prior to Python 3.7 ``Server.sockets`` used to return the internal list of " -"server's sockets directly. In 3.7 a copy of that list is returned." +"Prior to Python 3.7 ``Server.sockets`` used to return an internal list of " +"server sockets directly. In 3.7 a copy of that list is returned." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1101 -msgid "Handle" -msgstr "Handle" +#: ../Doc/library/asyncio-eventloop.rst:1395 +msgid "Event Loop Implementations" +msgstr "Implémentations de boucle d'évènements" -#: ../Doc/library/asyncio-eventloop.rst:1105 +#: ../Doc/library/asyncio-eventloop.rst:1397 msgid "" -"A callback wrapper object returned by :func:`AbstractEventLoop.call_soon`, :" -"func:`AbstractEventLoop.call_soon_threadsafe`." +"asyncio ships with two different event loop implementations: :class:" +"`SelectorEventLoop` and :class:`ProactorEventLoop`." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1110 +#: ../Doc/library/asyncio-eventloop.rst:1400 msgid "" -"Cancel the call. If the callback is already canceled or executed, this " -"method has no effect." +"By default asyncio is configured to use :class:`SelectorEventLoop` on all " +"platforms." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1115 -msgid "Return ``True`` if the call was cancelled." -msgstr "Donne ``True`` si l'appel à été annulé." +#: ../Doc/library/asyncio-eventloop.rst:1406 +msgid "An event loop based on the :mod:`selectors` module." +msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1121 +#: ../Doc/library/asyncio-eventloop.rst:1408 msgid "" -"A callback wrapper object returned by :func:`AbstractEventLoop.call_later`, " -"and :func:`AbstractEventLoop.call_at`." +"Uses the most efficient *selector* available for the given platform. It is " +"also possible to manually configure the exact selector implementation to be " +"used::" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1124 -msgid "The class is inherited from :class:`Handle`." +#: ../Doc/library/asyncio-eventloop.rst:1420 +msgid "Availability: Unix, Windows." +msgstr "Disponibilité : Unix, Windows." + +#: ../Doc/library/asyncio-eventloop.rst:1425 +msgid "An event loop for Windows that uses \"I/O Completion Ports\" (IOCP)." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1128 -msgid "Return a scheduled callback time as :class:`float` seconds." +#: ../Doc/library/asyncio-eventloop.rst:1427 +msgid "Availability: Windows." +msgstr "Disponnibilité : Unix." + +#: ../Doc/library/asyncio-eventloop.rst:1429 +msgid "An example how to use :class:`ProactorEventLoop` on Windows::" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1130 +#: ../Doc/library/asyncio-eventloop.rst:1440 msgid "" -"The time is an absolute timestamp, using the same time reference as :meth:" -"`AbstractEventLoop.time`." +"`MSDN documentation on I/O Completion Ports `_." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1137 -msgid "SendfileNotAvailableError" +#: ../Doc/library/asyncio-eventloop.rst:1446 +msgid "Abstract base class for asyncio-compliant event loops." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1142 -msgid "Sendfile syscall is not available, subclass of :exc:`RuntimeError`." -msgstr "" - -#: ../Doc/library/asyncio-eventloop.rst:1144 +#: ../Doc/library/asyncio-eventloop.rst:1448 msgid "" -"Raised if the OS does not support sendfile syscall for given socket or file " -"type." +"The :ref:`Event Loop Methods ` section lists all methods " +"that an alternative implementation of ``AbstractEventLoop`` should have " +"defined." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1149 -msgid "Event loop examples" -msgstr "Exemples de boucles d'évènements" +#: ../Doc/library/asyncio-eventloop.rst:1454 +msgid "Examples" +msgstr "Exemples" -#: ../Doc/library/asyncio-eventloop.rst:1154 +#: ../Doc/library/asyncio-eventloop.rst:1456 +msgid "" +"Note that all examples in this section **purposefully** show how to use the " +"low-level event loop APIs, such as :meth:`loop.run_forever` and :meth:`loop." +"call_soon`. Modern asyncio applications rarely need to be written this way; " +"consider using the high-level functions like :func:`asyncio.run`." +msgstr "" + +#: ../Doc/library/asyncio-eventloop.rst:1466 msgid "Hello World with call_soon()" msgstr "\"Hello World\" avec ``call_soon()``" -#: ../Doc/library/asyncio-eventloop.rst:1156 +#: ../Doc/library/asyncio-eventloop.rst:1468 msgid "" -"Example using the :meth:`AbstractEventLoop.call_soon` method to schedule a " -"callback. The callback displays ``\"Hello World\"`` and then stops the event " -"loop::" +"An example using the :meth:`loop.call_soon` method to schedule a callback. " +"The callback displays ``\"Hello World\"`` and then stops the event loop::" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1177 +#: ../Doc/library/asyncio-eventloop.rst:1492 msgid "" -"The :ref:`Hello World coroutine ` example " -"uses a :ref:`coroutine `." +"A similar :ref:`Hello World ` example created with a coroutine " +"and the :func:`run` function." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1184 +#: ../Doc/library/asyncio-eventloop.rst:1499 msgid "Display the current date with call_later()" msgstr "Afficher la date actuelle avec ``call_later()``" -#: ../Doc/library/asyncio-eventloop.rst:1186 +#: ../Doc/library/asyncio-eventloop.rst:1501 msgid "" -"Example of callback displaying the current date every second. The callback " -"uses the :meth:`AbstractEventLoop.call_later` method to reschedule itself " -"during 5 seconds, and then stops the event loop::" +"An example of a callback displaying the current date every second. The " +"callback uses the :meth:`loop.call_later` method to reschedule itself after " +"5 seconds, and then stops the event loop::" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1212 +#: ../Doc/library/asyncio-eventloop.rst:1529 msgid "" -"The :ref:`coroutine displaying the current date ` " -"example uses a :ref:`coroutine `." +"A similar :ref:`current date ` example created with a " +"coroutine and the :func:`run` function." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1220 +#: ../Doc/library/asyncio-eventloop.rst:1536 msgid "Watch a file descriptor for read events" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1222 +#: ../Doc/library/asyncio-eventloop.rst:1538 msgid "" -"Wait until a file descriptor received some data using the :meth:" -"`AbstractEventLoop.add_reader` method and then close the event loop::" +"Wait until a file descriptor received some data using the :meth:`loop." +"add_reader` method and then close the event loop::" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1256 +#: ../Doc/library/asyncio-eventloop.rst:1576 msgid "" -"The :ref:`register an open socket to wait for data using a protocol ` example uses a low-level protocol created by the :meth:" -"`AbstractEventLoop.create_connection` method." +"A similar :ref:`example ` using " +"transports, protocols, and the :meth:`loop.create_connection` method." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1260 +#: ../Doc/library/asyncio-eventloop.rst:1580 msgid "" -"The :ref:`register an open socket to wait for data using streams ` example uses high-level streams created by the :" -"func:`open_connection` function in a coroutine." +"Another similar :ref:`example ` " +"using the high-level :func:`asyncio.open_connection` function and streams." msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1266 +#: ../Doc/library/asyncio-eventloop.rst:1588 msgid "Set signal handlers for SIGINT and SIGTERM" msgstr "Définit les gestionnaires de signaux pour *SIGINT* et *SIGTERM*" -#: ../Doc/library/asyncio-eventloop.rst:1268 +#: ../Doc/library/asyncio-eventloop.rst:1590 +msgid "(This ``signals`` example only works on Unix.)" +msgstr "(Cet exemple ne fonctionne que sur Unix.)" + +#: ../Doc/library/asyncio-eventloop.rst:1592 msgid "" "Register handlers for signals :py:data:`SIGINT` and :py:data:`SIGTERM` using " -"the :meth:`AbstractEventLoop.add_signal_handler` method::" +"the :meth:`loop.add_signal_handler` method::" msgstr "" -#: ../Doc/library/asyncio-eventloop.rst:1292 -msgid "This example only works on UNIX." -msgstr "Cet exemple fonctionne seulement sur Unix." +#~ msgid "Returns running status of event loop." +#~ msgstr "Donne le status d'exécution de la boucle d'évènements." + +#~ msgid "Calls" +#~ msgstr "Appels" + +#~ msgid "Like :meth:`call_soon`, but thread safe." +#~ msgstr "Comme :meth:`call_soon` mais *thread safe*." + +#~ msgid "Delayed calls" +#~ msgstr "Appels différés" + +#~ msgid "Tasks" +#~ msgstr "Tâches" + +#~ msgid "Options that change how the connection is created:" +#~ msgstr "Options modifiant la création de la connexion :" + +#~ msgid "Options changing how the connection is created:" +#~ msgstr "Options modifiant la création de la connexion :" + +#~ msgid "Creating listening connections" +#~ msgstr "Attendre des connections" + +#~ msgid "Low-level socket operations" +#~ msgstr "Opérations bas niveau sur les *socket*" + +#~ msgid "Resolve host name" +#~ msgstr "Résout le nom d'hôte" + +#~ msgid "Add a handler for a signal." +#~ msgstr "Ajouter un gestionnaire (*handler*) pour un signal." + +#~ msgid "Executor" +#~ msgstr "Exécuteur" + +#~ msgid "Server listening on sockets." +#~ msgstr "Serveur écoutant sur des *sockets*." + +#~ msgid "Handle" +#~ msgstr "Handle" #~ msgid "This method is a :ref:`coroutine `." #~ msgstr "Cette méthode est une :ref:`coroutine `." diff --git a/library/asyncio-exceptions.po b/library/asyncio-exceptions.po new file mode 100644 index 00000000..84885aab --- /dev/null +++ b/library/asyncio-exceptions.po @@ -0,0 +1,101 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2018, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../Doc/library/asyncio-exceptions.rst:8 +msgid "Exceptions" +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:13 +msgid "The operation has exceeded the given deadline." +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:16 +msgid "" +"This exception is different from the builtin :exc:`TimeoutError` exception." +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:22 +msgid "The operation has been cancelled." +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:24 +msgid "" +"This exception can be caught to perform custom operations when asyncio Tasks " +"are cancelled. In almost all situations the exception must be re-raised." +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:30 +msgid "" +"This exception is a subclass of :exc:`Exception`, so it can be accidentally " +"suppressed by an overly broad ``try..except`` block::" +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:40 +msgid "Instead, the following pattern should be used::" +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:52 +msgid "Invalid internal state of :class:`Task` or :class:`Future`." +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:54 +msgid "" +"Can be raised in situations like setting a result value for a *Future* " +"object that already has a result value set." +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:60 +msgid "" +"The \"sendfile\" syscall is not available for the given socket or file type." +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:63 +msgid "A subclass of :exc:`RuntimeError`." +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:68 +msgid "The requested read operation did not complete fully." +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:70 +msgid "Raised by the :ref:`asyncio stream APIs`." +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:72 +msgid "This exception is a subclass of :exc:`EOFError`." +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:76 +msgid "The total number (:class:`int`) of expected bytes." +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:80 +msgid "A string of :class:`bytes` read before the end of stream was reached." +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:85 +msgid "Reached the buffer size limit while looking for a separator." +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:87 +msgid "Raised by the :ref:`asyncio stream APIs `." +msgstr "" + +#: ../Doc/library/asyncio-exceptions.rst:91 +msgid "The total number of to be consumed bytes." +msgstr "" diff --git a/library/asyncio-future.po b/library/asyncio-future.po new file mode 100644 index 00000000..ea4a35f2 --- /dev/null +++ b/library/asyncio-future.po @@ -0,0 +1,302 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2018, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../Doc/library/asyncio-future.rst:8 +msgid "Futures" +msgstr "" + +#: ../Doc/library/asyncio-future.rst:10 +msgid "" +"*Future* objects are used to bridge **low-level callback-based code** with " +"high-level async/await code." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:15 +msgid "Future Functions" +msgstr "" + +#: ../Doc/library/asyncio-future.rst:19 +msgid "Return ``True`` if *obj* is either of:" +msgstr "" + +#: ../Doc/library/asyncio-future.rst:21 +msgid "an instance of :class:`asyncio.Future`," +msgstr "" + +#: ../Doc/library/asyncio-future.rst:22 +msgid "an instance of :class:`asyncio.Task`," +msgstr "" + +#: ../Doc/library/asyncio-future.rst:23 +msgid "a Future-like object with a ``_asyncio_future_blocking`` attribute." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:31 +msgid "Return:" +msgstr "" + +#: ../Doc/library/asyncio-future.rst:33 +msgid "" +"*obj* argument as is, if *obj* is a :class:`Future`, a :class:`Task`, or a " +"Future-like object (:func:`isfuture` is used for the test.)" +msgstr "" + +#: ../Doc/library/asyncio-future.rst:37 +msgid "" +"a :class:`Task` object wrapping *obj*, if *obj* is a coroutine (:func:" +"`iscoroutine` is used for the test.)" +msgstr "" + +#: ../Doc/library/asyncio-future.rst:40 +msgid "" +"a :class:`Task` object that would await on *obj*, if *obj* is an awaitable (:" +"func:`inspect.isawaitable` is used for the test.)" +msgstr "" + +#: ../Doc/library/asyncio-future.rst:43 +msgid "If *obj* is neither of the above a :exc:`TypeError` is raised." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:47 +msgid "" +"See also the :func:`create_task` function which is the preferred way for " +"creating new Tasks." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:50 +msgid "The function accepts any :term:`awaitable` object." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:56 +msgid "" +"Wrap a :class:`concurrent.futures.Future` object in a :class:`asyncio." +"Future` object." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:61 +msgid "Future Object" +msgstr "" + +#: ../Doc/library/asyncio-future.rst:65 +msgid "" +"A Future represents an eventual result of an asynchronous operation. Not " +"thread-safe." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:68 +msgid "" +"Future is an :term:`awaitable` object. Coroutines can await on Future " +"objects until they either have a result or an exception set, or until they " +"are cancelled." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:72 +msgid "" +"Typically Futures are used to enable low-level callback-based code (e.g. in " +"protocols implemented using asyncio :ref:`transports `) to interoperate with high-level async/await code." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:77 +msgid "" +"The rule of thumb is to never expose Future objects in user-facing APIs, and " +"the recommended way to create a Future object is to call :meth:`loop." +"create_future`. This way alternative event loop implementations can inject " +"their own optimized implementations of a Future object." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:83 +msgid "Added support for the :mod:`contextvars` module." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:88 +msgid "Return the result of the Future." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:90 +msgid "" +"If the Future is *done* and has a result set by the :meth:`set_result` " +"method, the result value is returned." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:93 +msgid "" +"If the Future is *done* and has an exception set by the :meth:" +"`set_exception` method, this method raises the exception." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:96 ../Doc/library/asyncio-future.rst:181 +msgid "" +"If the Future has been *cancelled*, this method raises a :exc:" +"`CancelledError` exception." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:99 +msgid "" +"If the Future's result isn't yet available, this method raises a :exc:" +"`InvalidStateError` exception." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:104 +msgid "Mark the Future as *done* and set its result." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:106 ../Doc/library/asyncio-future.rst:113 +msgid "" +"Raises a :exc:`InvalidStateError` error if the Future is already *done*." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:111 +msgid "Mark the Future as *done* and set an exception." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:118 +msgid "Return ``True`` if the Future is *done*." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:120 +msgid "" +"A Future is *done* if it was *cancelled* or if it has a result or an " +"exception set with :meth:`set_result` or :meth:`set_exception` calls." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:126 +msgid "Return ``True`` if the Future was *cancelled*." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:128 +msgid "" +"The method is usually used to check if a Future is not *cancelled* before " +"setting a result or an exception for it::" +msgstr "" + +#: ../Doc/library/asyncio-future.rst:136 +msgid "Add a callback to be run when the Future is *done*." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:138 +msgid "The *callback* is called with the Future object as its only argument." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:141 +msgid "" +"If the Future is already *done* when this method is called, the callback is " +"scheduled with :meth:`loop.call_soon`." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:144 +msgid "" +"An optional keyword-only *context* argument allows specifying a custom :" +"class:`contextvars.Context` for the *callback* to run in. The current " +"context is used when no *context* is provided." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:148 +msgid "" +":func:`functools.partial` can be used to pass parameters to the callback, e." +"g.::" +msgstr "" + +#: ../Doc/library/asyncio-future.rst:155 +msgid "" +"The *context* keyword-only parameter was added. See :pep:`567` for more " +"details." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:161 +msgid "Remove *callback* from the callbacks list." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:163 +msgid "" +"Returns the number of callbacks removed, which is typically 1, unless a " +"callback was added more than once." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:168 +msgid "Cancel the Future and schedule callbacks." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:170 +msgid "" +"If the Future is already *done* or *cancelled*, return ``False``. Otherwise, " +"change the Future's state to *cancelled*, schedule the callbacks, and return " +"``True``." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:176 +msgid "Return the exception that was set on this Future." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:178 +msgid "" +"The exception (or ``None`` if no exception was set) is returned only if the " +"Future is *done*." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:184 +msgid "" +"If the Future isn't *done* yet, this method raises an :exc:" +"`InvalidStateError` exception." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:189 +msgid "Return the event loop the Future object is bound to." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:196 +msgid "" +"This example creates a Future object, creates and schedules an asynchronous " +"Task to set result for the Future, and waits until the Future has a result::" +msgstr "" + +#: ../Doc/library/asyncio-future.rst:231 +msgid "" +"The Future object was designed to mimic :class:`concurrent.futures.Future`. " +"Key differences include:" +msgstr "" + +#: ../Doc/library/asyncio-future.rst:234 +msgid "" +"unlike asyncio Futures, :class:`concurrent.futures.Future` instances cannot " +"be awaited." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:237 +msgid "" +":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` do not " +"accept the *timeout* argument." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:240 +msgid "" +":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` raise an :" +"exc:`InvalidStateError` exception when the Future is not *done*." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:244 +msgid "" +"Callbacks registered with :meth:`asyncio.Future.add_done_callback` are not " +"called immediately. They are scheduled with :meth:`loop.call_soon` instead." +msgstr "" + +#: ../Doc/library/asyncio-future.rst:248 +msgid "" +"asyncio Future is not compatible with the :func:`concurrent.futures.wait` " +"and :func:`concurrent.futures.as_completed` functions." +msgstr "" diff --git a/library/asyncio-llapi-index.po b/library/asyncio-llapi-index.po new file mode 100644 index 00000000..553844d0 --- /dev/null +++ b/library/asyncio-llapi-index.po @@ -0,0 +1,984 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2018, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../Doc/library/asyncio-llapi-index.rst:6 +msgid "Low-level API Index" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:8 +msgid "This page lists all low-level asyncio APIs." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:12 +msgid "Obtaining the Event Loop" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:18 +msgid ":func:`asyncio.get_running_loop`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:19 +msgid "The **preferred** function to get the running event loop." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:21 +msgid ":func:`asyncio.get_event_loop`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:22 +msgid "Get an event loop instance (current or via the policy)." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:24 +msgid ":func:`asyncio.set_event_loop`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:25 +msgid "Set the event loop as current via the current policy." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:27 +msgid ":func:`asyncio.new_event_loop`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:28 +msgid "Create a new event loop." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:32 +#: ../Doc/library/asyncio-llapi-index.rst:260 +msgid "Examples" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:33 +msgid ":ref:`Using asyncio.get_running_loop() `." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:37 +msgid "Event Loop Methods" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:39 +msgid "" +"See also the main documentation section about the :ref:`event loop methods " +"`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:42 +msgid "Lifecycle" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:47 +msgid ":meth:`loop.run_until_complete`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:48 +msgid "Run a Future/Task/awaitable until complete." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:50 +msgid ":meth:`loop.run_forever`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:51 +msgid "Run the event loop forever." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:53 +msgid ":meth:`loop.stop`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:54 +msgid "Stop the event loop." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:56 +msgid ":meth:`loop.close`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:57 +msgid "Close the event loop." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:59 +msgid ":meth:`loop.is_running()`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:60 +msgid "Return ``True`` if the event loop is running." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:62 +msgid ":meth:`loop.is_closed()`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:63 +msgid "Return ``True`` if the event loop is closed." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:65 +msgid "``await`` :meth:`loop.shutdown_asyncgens`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:66 +msgid "Close asynchronous generators." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:69 +msgid "Debugging" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:74 +msgid ":meth:`loop.set_debug`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:75 +msgid "Enable or disable the debug mode." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:77 +msgid ":meth:`loop.get_debug`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:78 +msgid "Get the current debug mode." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:81 +msgid "Scheduling Callbacks" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:86 +msgid ":meth:`loop.call_soon`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:87 +msgid "Invoke a callback soon." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:89 +msgid ":meth:`loop.call_soon_threadsafe`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:90 +msgid "A thread-safe variant of :meth:`loop.call_soon`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:92 +msgid ":meth:`loop.call_later`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:93 +msgid "Invoke a callback *after* the given time." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:95 +msgid ":meth:`loop.call_at`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:96 +msgid "Invoke a callback *at* the given time." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:99 +msgid "Thread/Process Pool" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:104 +msgid "``await`` :meth:`loop.run_in_executor`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:105 +msgid "" +"Run a CPU-bound or other blocking function in a :mod:`concurrent.futures` " +"executor." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:108 +msgid ":meth:`loop.set_default_executor`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:109 +msgid "Set the default executor for :meth:`loop.run_in_executor`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:112 +msgid "Tasks and Futures" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:117 +msgid ":meth:`loop.create_future`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:118 +msgid "Create a :class:`Future` object." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:120 +msgid ":meth:`loop.create_task`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:121 +msgid "Schedule coroutine as a :class:`Task`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:123 +msgid ":meth:`loop.set_task_factory`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:124 +msgid "" +"Set a factory used by :meth:`loop.create_task` to create :class:`Tasks " +"`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:127 +msgid ":meth:`loop.get_task_factory`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:128 +msgid "" +"Get the factory :meth:`loop.create_task` uses to create :class:`Tasks " +"`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:132 +msgid "DNS" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:137 +msgid "``await`` :meth:`loop.getaddrinfo`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:138 +msgid "Asynchronous version of :meth:`socket.getaddrinfo`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:140 +msgid "``await`` :meth:`loop.getnameinfo`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:141 +msgid "Asynchronous version of :meth:`socket.getnameinfo`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:144 +msgid "Networking and IPC" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:149 +msgid "``await`` :meth:`loop.create_connection`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:150 +msgid "Open a TCP connection." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:152 +msgid "``await`` :meth:`loop.create_server`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:153 +msgid "Create a TCP server." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:155 +msgid "``await`` :meth:`loop.create_unix_connection`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:156 +msgid "Open a Unix socket connection." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:158 +msgid "``await`` :meth:`loop.create_unix_server`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:159 +msgid "Create a Unix socket server." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:161 +msgid "``await`` :meth:`loop.connect_accepted_socket`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:162 +msgid "Wrap a :class:`~socket.socket` into a ``(transport, protocol)`` pair." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:165 +msgid "``await`` :meth:`loop.create_datagram_endpoint`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:166 +msgid "Open a datagram (UDP) connection." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:168 +msgid "``await`` :meth:`loop.sendfile`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:169 +msgid "Send a file over a transport." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:171 +msgid "``await`` :meth:`loop.start_tls`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:172 +msgid "Upgrade an existing connection to TLS." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:174 +msgid "``await`` :meth:`loop.connect_read_pipe`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:175 +msgid "Wrap a read end of a pipe into a ``(transport, protocol)`` pair." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:177 +msgid "``await`` :meth:`loop.connect_write_pipe`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:178 +msgid "Wrap a write end of a pipe into a ``(transport, protocol)`` pair." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:181 +msgid "Sockets" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:186 +msgid "``await`` :meth:`loop.sock_recv`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:187 +msgid "Receive data from the :class:`~socket.socket`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:189 +msgid "``await`` :meth:`loop.sock_recv_into`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:190 +msgid "Receive data from the :class:`~socket.socket` into a buffer." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:192 +msgid "``await`` :meth:`loop.sock_sendall`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:193 +msgid "Send data to the :class:`~socket.socket`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:195 +msgid "``await`` :meth:`loop.sock_connect`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:196 +msgid "Connect the :class:`~socket.socket`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:198 +msgid "``await`` :meth:`loop.sock_accept`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:199 +msgid "Accept a :class:`~socket.socket` connection." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:201 +msgid "``await`` :meth:`loop.sock_sendfile`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:202 +msgid "Send a file over the :class:`~socket.socket`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:204 +msgid ":meth:`loop.add_reader`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:205 +msgid "Start watching a file descriptor for read availability." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:207 +msgid ":meth:`loop.remove_reader`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:208 +msgid "Stop watching a file descriptor for read availability." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:210 +msgid ":meth:`loop.add_writer`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:211 +msgid "Start watching a file descriptor for write availability." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:213 +msgid ":meth:`loop.remove_writer`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:214 +msgid "Stop watching a file descriptor for write availability." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:217 +msgid "Unix Signals" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:222 +msgid ":meth:`loop.add_signal_handler`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:223 +msgid "Add a handler for a :mod:`signal`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:225 +msgid ":meth:`loop.remove_signal_handler`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:226 +msgid "Remove a handler for a :mod:`signal`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:229 +msgid "Subprocesses" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:234 +msgid ":meth:`loop.subprocess_exec`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:235 +msgid "Spawn a subprocess." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:237 +msgid ":meth:`loop.subprocess_shell`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:238 +msgid "Spawn a subprocess from a shell command." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:241 +msgid "Error Handling" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:246 +msgid ":meth:`loop.call_exception_handler`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:247 +msgid "Call the exception handler." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:249 +msgid ":meth:`loop.set_exception_handler`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:250 +msgid "Set a new exception handler." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:252 +msgid ":meth:`loop.get_exception_handler`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:253 +msgid "Get the current exception handler." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:255 +msgid ":meth:`loop.default_exception_handler`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:256 +msgid "The default exception handler implementation." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:261 +msgid "" +":ref:`Using asyncio.get_event_loop() and loop.run_forever() " +"`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:264 +msgid ":ref:`Using loop.call_later() `." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:266 +msgid "" +"Using ``loop.create_connection()`` to implement :ref:`an echo-client " +"`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:269 +msgid "" +"Using ``loop.create_connection()`` to :ref:`connect a socket " +"`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:272 +msgid "" +":ref:`Using add_reader() to watch an FD for read events " +"`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:275 +msgid ":ref:`Using loop.add_signal_handler() `." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:277 +msgid ":ref:`Using loop.subprocess_exec() `." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:281 +msgid "Transports" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:283 +msgid "All transports implement the following methods:" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:289 +msgid ":meth:`transport.close() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:290 +msgid "Close the transport." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:292 +msgid ":meth:`transport.is_closing() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:293 +msgid "Return ``True`` if the transport is closing or is closed." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:295 +msgid ":meth:`transport.get_extra_info() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:296 +msgid "Request for information about the transport." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:298 +msgid ":meth:`transport.set_protocol() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:299 +msgid "Set a new protocol." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:301 +msgid ":meth:`transport.get_protocol() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:302 +msgid "Return the current protocol." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:305 +msgid "" +"Transports that can receive data (TCP and Unix connections, pipes, etc). " +"Returned from methods like :meth:`loop.create_connection`, :meth:`loop." +"create_unix_connection`, :meth:`loop.connect_read_pipe`, etc:" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:310 +msgid "Read Transports" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:315 +msgid ":meth:`transport.is_reading() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:316 +msgid "Return ``True`` if the transport is receiving." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:318 +msgid ":meth:`transport.pause_reading() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:319 +msgid "Pause receiving." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:321 +msgid ":meth:`transport.resume_reading() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:322 +msgid "Resume receiving." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:325 +msgid "" +"Transports that can Send data (TCP and Unix connections, pipes, etc). " +"Returned from methods like :meth:`loop.create_connection`, :meth:`loop." +"create_unix_connection`, :meth:`loop.connect_write_pipe`, etc:" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:330 +msgid "Write Transports" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:335 +msgid ":meth:`transport.write() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:336 +msgid "Write data to the transport." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:338 +msgid ":meth:`transport.writelines() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:339 +msgid "Write buffers to the transport." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:341 +msgid ":meth:`transport.can_write_eof() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:342 +msgid "Return :const:`True` if the transport supports sending EOF." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:344 +msgid ":meth:`transport.write_eof() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:345 +msgid "Close and send EOF after flushing buffered data." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:347 +msgid ":meth:`transport.abort() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:348 +#: ../Doc/library/asyncio-llapi-index.rst:370 +msgid "Close the transport immediately." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:350 +msgid "" +":meth:`transport.get_write_buffer_size() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:352 +msgid "Return high and low water marks for write flow control." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:354 +msgid "" +":meth:`transport.set_write_buffer_limits() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:356 +msgid "Set new high and low water marks for write flow control." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:359 +msgid "Transports returned by :meth:`loop.create_datagram_endpoint`:" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:361 +msgid "Datagram Transports" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:366 +msgid ":meth:`transport.sendto() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:367 +msgid "Send data to the remote peer." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:369 +msgid ":meth:`transport.abort() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:373 +msgid "" +"Low-level transport abstraction over subprocesses. Returned by :meth:`loop." +"subprocess_exec` and :meth:`loop.subprocess_shell`:" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:377 +msgid "Subprocess Transports" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:382 +msgid ":meth:`transport.get_pid() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:383 +msgid "Return the subprocess process id." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:385 +msgid "" +":meth:`transport.get_pipe_transport() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:387 +msgid "" +"Return the transport for the requested communication pipe (*stdin*, " +"*stdout*, or *stderr*)." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:390 +msgid ":meth:`transport.get_returncode() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:391 +msgid "Return the subprocess return code." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:393 +msgid ":meth:`transport.kill() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:394 +msgid "Kill the subprocess." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:396 +msgid ":meth:`transport.send_signal() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:397 +msgid "Send a signal to the subprocess." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:399 +msgid ":meth:`transport.terminate() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:400 +msgid "Stop the subprocess." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:402 +msgid ":meth:`transport.close() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:403 +msgid "Kill the subprocess and close all pipes." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:407 +msgid "Protocols" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:409 +msgid "Protocol classes can implement the following **callback methods**:" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:415 +msgid "``callback`` :meth:`connection_made() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:416 +msgid "Called when a connection is made." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:418 +msgid "``callback`` :meth:`connection_lost() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:419 +msgid "Called when the connection is lost or closed." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:421 +msgid "``callback`` :meth:`pause_writing() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:422 +msgid "Called when the transport's buffer goes over the high water mark." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:424 +msgid "``callback`` :meth:`resume_writing() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:425 +msgid "Called when the transport's buffer drains below the low water mark." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:428 +msgid "Streaming Protocols (TCP, Unix Sockets, Pipes)" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:433 +msgid "``callback`` :meth:`data_received() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:434 +msgid "Called when some data is received." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:436 +msgid "``callback`` :meth:`eof_received() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:437 +#: ../Doc/library/asyncio-llapi-index.rst:452 +msgid "Called when an EOF is received." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:440 +msgid "Buffered Streaming Protocols" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:445 +msgid "``callback`` :meth:`get_buffer() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:446 +msgid "Called to allocate a new receive buffer." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:448 +msgid "``callback`` :meth:`buffer_updated() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:449 +msgid "Called when the buffer was updated with the received data." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:451 +msgid "``callback`` :meth:`eof_received() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:455 +msgid "Datagram Protocols" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:460 +msgid "" +"``callback`` :meth:`datagram_received() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:462 +msgid "Called when a datagram is received." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:464 +msgid "``callback`` :meth:`error_received() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:465 +msgid "" +"Called when a previous send or receive operation raises an :class:`OSError`." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:469 +msgid "Subprocess Protocols" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:474 +msgid "" +"``callback`` :meth:`pipe_data_received() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:476 +msgid "" +"Called when the child process writes data into its *stdout* or *stderr* pipe." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:479 +msgid "" +"``callback`` :meth:`pipe_connection_lost() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:481 +msgid "" +"Called when one of the pipes communicating with the child process is closed." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:484 +msgid "" +"``callback`` :meth:`process_exited() `" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:486 +msgid "Called when the child process has exited." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:490 +msgid "Event Loop Policies" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:492 +msgid "" +"Policies is a low-level mechanism to alter the behavior of functions like :" +"func:`asyncio.get_event_loop`. See also the main :ref:`policies section " +"` for more details." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:498 +msgid "Accessing Policies" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:503 +msgid ":meth:`asyncio.get_event_loop_policy`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:504 +msgid "Return the current process-wide policy." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:506 +msgid ":meth:`asyncio.set_event_loop_policy`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:507 +msgid "Set a new process-wide policy." +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:509 +msgid ":class:`AbstractEventLoopPolicy`" +msgstr "" + +#: ../Doc/library/asyncio-llapi-index.rst:510 +msgid "Base class for policy objects." +msgstr "" diff --git a/library/asyncio-platforms.po b/library/asyncio-platforms.po new file mode 100644 index 00000000..d84c2e9e --- /dev/null +++ b/library/asyncio-platforms.po @@ -0,0 +1,147 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2018, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../Doc/library/asyncio-platforms.rst:9 +msgid "Platform Support" +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:11 +msgid "" +"The :mod:`asyncio` module is designed to be portable, but some platforms " +"have subtle differences and limitations due to the platforms' underlying " +"architecture and capabilities." +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:17 +msgid "All Platforms" +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:19 +msgid "" +":meth:`loop.add_reader` and :meth:`loop.add_writer` cannot be used to " +"monitor file I/O." +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:24 +msgid "Windows" +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:26 +msgid "All event loops on Windows do not support the following methods:" +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:28 +msgid "" +":meth:`loop.create_unix_connection` and :meth:`loop.create_unix_server` are " +"not supported. The :data:`socket.AF_UNIX` socket family is specific to Unix." +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:32 +msgid "" +":meth:`loop.add_signal_handler` and :meth:`loop.remove_signal_handler` are " +"not supported." +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:35 +msgid ":class:`SelectorEventLoop` has the following limitations:" +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:37 +msgid "" +":class:`~selectors.SelectSelector` is used to wait on socket events: it " +"supports sockets and is limited to 512 sockets." +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:40 +msgid "" +":meth:`loop.add_reader` and :meth:`loop.add_writer` only accept socket " +"handles (e.g. pipe file descriptors are not supported)." +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:43 +msgid "" +"Pipes are not supported, so the :meth:`loop.connect_read_pipe` and :meth:" +"`loop.connect_write_pipe` methods are not implemented." +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:46 +msgid "" +":ref:`Subprocesses ` are not supported, i.e. :meth:`loop." +"subprocess_exec` and :meth:`loop.subprocess_shell` methods are not " +"implemented." +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:50 +msgid ":class:`ProactorEventLoop` has the following limitations:" +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:52 +msgid "The :meth:`loop.create_datagram_endpoint` method is not supported." +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:55 +msgid "" +"The :meth:`loop.add_reader` and :meth:`loop.add_writer` methods are not " +"supported." +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:58 +msgid "" +"The resolution of the monotonic clock on Windows is usually around 15.6 " +"msec. The best resolution is 0.5 msec. The resolution depends on the " +"hardware (availability of `HPET `_) and on the Windows configuration." +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:68 +msgid "Subprocess Support on Windows" +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:70 +msgid "" +":class:`SelectorEventLoop` on Windows does not support subproceses. On " +"Windows, :class:`ProactorEventLoop` should be used instead::" +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:81 +msgid "" +"The :meth:`policy.set_child_watcher() ` function is also not supported, as :class:" +"`ProactorEventLoop` has a different mechanism to watch child processes." +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:88 +msgid "macOS" +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:90 +msgid "Modern macOS versions are fully supported." +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:93 +msgid "macOS <= 10.8" +msgstr "" + +#: ../Doc/library/asyncio-platforms.rst:94 +msgid "" +"On macOS 10.6, 10.7 and 10.8, the default event loop uses :class:`selectors." +"KqueueSelector`, which does not support character devices on these " +"versions. The :class:`SelectorEventLoop` can be manually configured to use :" +"class:`~selectors.SelectSelector` or :class:`~selectors.PollSelector` to " +"support character devices on these older versions of macOS. Example::" +msgstr "" diff --git a/library/asyncio-policy.po b/library/asyncio-policy.po new file mode 100644 index 00000000..f7c8f7fb --- /dev/null +++ b/library/asyncio-policy.po @@ -0,0 +1,291 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2018, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../Doc/library/asyncio-policy.rst:8 +msgid "Policies" +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:10 +msgid "" +"An event loop policy is a global per-process object that controls the " +"management of the event loop. Each event loop has a default policy, which " +"can be changed and customized using the policy API." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:14 +msgid "" +"A policy defines the notion of *context* and manages a separate event loop " +"per context. The default policy defines *context* to be the current thread." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:18 +msgid "" +"By using a custom event loop policy, the behavior of :func:" +"`get_event_loop`, :func:`set_event_loop`, and :func:`new_event_loop` " +"functions can be customized." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:22 +msgid "" +"Policy objects should implement the APIs defined in the :class:" +"`AbstractEventLoopPolicy` abstract base class." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:27 +msgid "Getting and Setting the Policy" +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:29 +msgid "" +"The following functions can be used to get and set the policy for the " +"current process:" +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:34 +msgid "Return the current process-wide policy." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:38 +msgid "Set the current process-wide policy to *policy*." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:40 +msgid "If *policy* is set to ``None``, the default policy is restored." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:44 +msgid "Policy Objects" +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:46 +msgid "The abstract event loop policy base class is defined as follows:" +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:50 +msgid "An abstract base class for asyncio policies." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:54 +msgid "Get the event loop for the current context." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:56 +msgid "" +"Return an event loop object implementing the :class:`AbstractEventLoop` " +"interface." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:59 ../Doc/library/asyncio-policy.rst:71 +msgid "This method should never return ``None``." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:65 +msgid "Set the event loop for the current context to *loop*." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:69 +msgid "Create and return a new event loop object." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:75 +msgid "Get a child process watcher object." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:77 +msgid "" +"Return a watcher object implementing the :class:`AbstractChildWatcher` " +"interface." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:80 ../Doc/library/asyncio-policy.rst:86 +msgid "This function is Unix specific." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:84 +msgid "Get the current child process watcher to *watcher*." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:89 +msgid "asyncio ships with the following built-in policies:" +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:94 +msgid "" +"The default asyncio policy. Uses :class:`SelectorEventLoop` on both Unix " +"and Windows platforms." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:97 +msgid "" +"There is no need to install the default policy manually. asyncio is " +"configured to use the default policy automatically." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:103 +msgid "" +"An alternative event loop policy that uses the :class:`ProactorEventLoop` " +"event loop implementation." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:106 +msgid "Availability: Windows." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:110 +msgid "Process Watchers" +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:112 +msgid "" +"A process watcher allows customization of how an event loop monitors child " +"processes on Unix. Specifically, the event loop needs to know when a child " +"process has exited." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:116 +msgid "" +"In asyncio, child processes are created with :func:`create_subprocess_exec` " +"and :meth:`loop.subprocess_exec` functions." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:120 +msgid "" +"asyncio defines the :class:`AbstractChildWatcher` abstract base class, which " +"child watchers should implement, and has two different implementations: :" +"class:`SafeChildWatcher` (configured to be used by default) and :class:" +"`FastChildWatcher`." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:125 +msgid "" +"See also the :ref:`Subprocess and Threads ` " +"section." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:128 +msgid "" +"The following two functions can be used to customize the child process " +"watcher implementation used by the asyncio event loop:" +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:133 +msgid "Return the current child watcher for the current policy." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:137 +msgid "" +"Set the current child watcher to *watcher* for the current policy. " +"*watcher* must implement methods defined in the :class:" +"`AbstractChildWatcher` base class." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:142 +msgid "" +"Third-party event loops implementations might not support custom child " +"watchers. For such event loops, using :func:`set_child_watcher` might be " +"prohibited or have no effect." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:150 +msgid "Register a new child handler." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:152 +msgid "" +"Arrange for ``callback(pid, returncode, *args)`` to be called when a process " +"with PID equal to *pid* terminates. Specifying another callback for the " +"same process replaces the previous handler." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:157 +msgid "The *callback* callable must be thread-safe." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:161 +msgid "Removes the handler for process with PID equal to *pid*." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:163 +msgid "" +"The function returns ``True`` if the handler was successfully removed, " +"``False`` if there was nothing to remove." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:168 +msgid "Attach the watcher to an event loop." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:170 +msgid "" +"If the watcher was previously attached to an event loop, then it is first " +"detached before attaching to the new loop." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:173 +msgid "Note: loop may be ``None``." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:177 +msgid "Close the watcher." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:179 +msgid "" +"This method has to be called to ensure that underlying resources are cleaned-" +"up." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:184 +msgid "" +"This implementation avoids disrupting other code spawning processes by " +"polling every process explicitly on a :py:data:`SIGCHLD` signal." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:187 +msgid "" +"This is a safe solution but it has a significant overhead when handling a " +"big number of processes (*O(n)* each time a :py:data:`SIGCHLD` is received)." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:191 +msgid "asyncio uses this safe implementation by default." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:195 +msgid "" +"This implementation reaps every terminated processes by calling ``os." +"waitpid(-1)`` directly, possibly breaking other code spawning processes and " +"waiting for their termination." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:199 +msgid "" +"There is no noticeable overhead when handling a big number of children " +"(*O(1)* each time a child terminates)." +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:204 +msgid "Custom Policies" +msgstr "" + +#: ../Doc/library/asyncio-policy.rst:206 +msgid "" +"To implement a new event loop policy, it is recommended to subclass :class:" +"`DefaultEventLoopPolicy` and override the methods for which custom behavior " +"is wanted, e.g.::" +msgstr "" diff --git a/library/asyncio-protocol.po b/library/asyncio-protocol.po index fd4bbf5e..c2fe4cc2 100644 --- a/library/asyncio-protocol.po +++ b/library/asyncio-protocol.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" -"PO-Revision-Date: 2018-07-29 00:14+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 11:09+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -15,833 +15,1034 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.0.2\n" -#: ../Doc/library/asyncio-protocol.rst:5 -msgid "Transports and protocols (callback based API)" -msgstr "Transports et protocoles (APi basée sur des fonctions de rappel)" - -#: ../Doc/library/asyncio-protocol.rst:7 -msgid "**Source code:** :source:`Lib/asyncio/transports.py`" -msgstr "" - #: ../Doc/library/asyncio-protocol.rst:9 -msgid "**Source code:** :source:`Lib/asyncio/protocols.py`" +msgid "Transports and Protocols" +msgstr "Transports et Protocoles" + +#: ../Doc/library/asyncio-protocol.rst:12 +msgid "Preface" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:14 -msgid "Transports" -msgstr "Transports" - -#: ../Doc/library/asyncio-protocol.rst:16 +#: ../Doc/library/asyncio-protocol.rst:13 msgid "" -"Transports are classes provided by :mod:`asyncio` in order to abstract " -"various kinds of communication channels. You generally won't instantiate a " -"transport yourself; instead, you will call an :class:`AbstractEventLoop` " -"method which will create the transport and try to initiate the underlying " -"communication channel, calling you back when it succeeds." +"Transports and Protocols are used by the **low-level** event loop APIs such " +"as :meth:`loop.create_connection`. They use callback-based programming " +"style and enable high-performance implementations of network or IPC " +"protocols (e.g. HTTP)." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:18 +msgid "" +"Essentially, transports and protocols should only be used in libraries and " +"frameworks and never in high-level asyncio applications." msgstr "" #: ../Doc/library/asyncio-protocol.rst:22 -msgid "" -"Once the communication channel is established, a transport is always paired " -"with a :ref:`protocol ` instance. The protocol can then " -"call the transport's methods for various purposes." +msgid "This documentation page covers both `Transports`_ and `Protocols`_." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:25 +msgid "Introduction" msgstr "" #: ../Doc/library/asyncio-protocol.rst:26 msgid "" -":mod:`asyncio` currently implements transports for TCP, UDP, SSL, and " -"subprocess pipes. The methods available on a transport depend on the " -"transport's kind." +"At the highest level, the transport is concerned with *how* bytes are " +"transmitted, while the protocol determines *which* bytes to transmit (and to " +"some extent when)." msgstr "" #: ../Doc/library/asyncio-protocol.rst:30 msgid "" -"The transport classes are :ref:`not thread safe `." +"A different way of saying the same thing: a transport is an abstraction for " +"a socket (or similar I/O endpoint) while a protocol is an abstraction for an " +"application, from the transport's point of view." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:32 -msgid "The socket option ``TCP_NODELAY`` is now set by default." -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:37 -msgid "BaseTransport" -msgstr "BaseTransport" - -#: ../Doc/library/asyncio-protocol.rst:41 -msgid "Base class for transports." -msgstr "Classe de base des transports." - -#: ../Doc/library/asyncio-protocol.rst:45 +#: ../Doc/library/asyncio-protocol.rst:35 msgid "" -"Close the transport. If the transport has a buffer for outgoing data, " -"buffered data will be flushed asynchronously. No more data will be " -"received. After all buffered data is flushed, the protocol's :meth:" -"`connection_lost` method will be called with :const:`None` as its argument." +"Yet another view is the transport and protocol interfaces together define an " +"abstract interface for using network I/O and interprocess I/O." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:53 -msgid "Return ``True`` if the transport is closing or is closed." +#: ../Doc/library/asyncio-protocol.rst:39 +msgid "" +"There is always a 1:1 relationship between transport and protocol objects: " +"the protocol calls transport methods to send data, while the transport calls " +"protocol methods to pass it data that has been received." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:44 +msgid "" +"Most of connection oriented event loop methods (such as :meth:`loop." +"create_connection`) usually accept a *protocol_factory* argument used to " +"create a *Protocol* object for an accepted connection, represented by a " +"*Transport* object. Such methods usually return a tuple of ``(transport, " +"protocol)``." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:51 +msgid "Contents" +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:52 +msgid "This documentation page contains the following sections:" +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:54 +msgid "" +"The `Transports`_ section documents asyncio :class:`BaseTransport`, :class:" +"`ReadTransport`, :class:`WriteTransport`, :class:`Transport`, :class:" +"`DatagramTransport`, and :class:`SubprocessTransport` classes." msgstr "" #: ../Doc/library/asyncio-protocol.rst:59 msgid "" -"Return optional transport information. *name* is a string representing the " -"piece of transport-specific information to get, *default* is the value to " -"return if the information doesn't exist." +"The `Protocols`_ section documents asyncio :class:`BaseProtocol`, :class:" +"`Protocol`, :class:`BufferedProtocol`, :class:`DatagramProtocol`, and :class:" +"`SubprocessProtocol` classes." msgstr "" #: ../Doc/library/asyncio-protocol.rst:63 msgid "" -"This method allows transport implementations to easily expose channel-" -"specific information." +"The `Examples`_ section showcases how to work with transports, protocols, " +"and low-level event loop APIs." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:66 +#: ../Doc/library/asyncio-protocol.rst:70 +msgid "Transports" +msgstr "Transports" + +#: ../Doc/library/asyncio-protocol.rst:72 +msgid "" +"Transports are classes provided by :mod:`asyncio` in order to abstract " +"various kinds of communication channels." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:75 +msgid "" +"Transport objects are always instantiated by an ref:`asyncio event loop " +"`." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:78 +msgid "" +"asyncio implements transports for TCP, UDP, SSL, and subprocess pipes. The " +"methods available on a transport depend on the transport's kind." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:81 +msgid "" +"The transport classes are :ref:`not thread safe `." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:85 +msgid "Transports Hierarchy" +msgstr "Hierarchie des transports" + +#: ../Doc/library/asyncio-protocol.rst:89 +msgid "" +"Base class for all transports. Contains methods that all asyncio transports " +"share." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:94 +msgid "A base transport for write-only connections." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:96 +msgid "" +"Instances of the *WriteTransport* class are returned from the :meth:`loop." +"connect_write_pipe` event loop method and are also used by subprocess-" +"related methods like :meth:`loop.subprocess_exec`." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:103 +msgid "A base transport for read-only connections." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:105 +msgid "" +"Instances of the *ReadTransport* class are returned from the :meth:`loop." +"connect_read_pipe` event loop method and are also used by subprocess-related " +"methods like :meth:`loop.subprocess_exec`." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:112 +msgid "" +"Interface representing a bidirectional transport, such as a TCP connection." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:115 +msgid "" +"The user does not instantiate a transport directly; they call a utility " +"function, passing it a protocol factory and other information necessary to " +"create the transport and protocol." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:119 +msgid "" +"Instances of the *Transport* class are returned from or used by event loop " +"methods like :meth:`loop.create_connection`, :meth:`loop." +"create_unix_connection`, :meth:`loop.create_server`, :meth:`loop.sendfile`, " +"etc." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:127 +msgid "A transport for datagram (UDP) connections." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:129 +msgid "" +"Instances of the *DatagramTransport* class are returned from the :meth:`loop." +"create_datagram_endpoint` event loop method." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:135 +msgid "" +"An abstraction to represent a connection between a parent and its child OS " +"process." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:138 +msgid "" +"Instances of the *SubprocessTransport* class are returned from event loop " +"methods :meth:`loop.subprocess_shell` and :meth:`loop.subprocess_exec`." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:144 +msgid "Base Transport" +msgstr "Classe de base des Transports" + +#: ../Doc/library/asyncio-protocol.rst:148 +msgid "Close the transport." +msgstr "Ferme le transport." + +#: ../Doc/library/asyncio-protocol.rst:150 +msgid "" +"If the transport has a buffer for outgoing data, buffered data will be " +"flushed asynchronously. No more data will be received. After all buffered " +"data is flushed, the protocol's :meth:`protocol.connection_lost() " +"` method will be called with :const:`None` as " +"its argument." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:159 +msgid "Return ``True`` if the transport is closing or is closed." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:163 +msgid "Return information about the transport or underlying resources it uses." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:166 +msgid "" +"*name* is a string representing the piece of transport-specific information " +"to get." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:169 +msgid "" +"*default* is the value to return if the information is not available, or if " +"the transport does not support querying it with the given third-party event " +"loop implementation or on the current platform." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:174 +msgid "" +"For example, the following code attempts to get the underlying socket object " +"of the transport::" +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:181 +msgid "Categories of information that can be queried on some transports:" +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:183 msgid "socket:" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:68 +#: ../Doc/library/asyncio-protocol.rst:185 msgid "" "``'peername'``: the remote address to which the socket is connected, result " "of :meth:`socket.socket.getpeername` (``None`` on error)" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:70 +#: ../Doc/library/asyncio-protocol.rst:189 msgid "``'socket'``: :class:`socket.socket` instance" msgstr "``'socket'`` : Instance de :class:`socket.socket`" -#: ../Doc/library/asyncio-protocol.rst:71 +#: ../Doc/library/asyncio-protocol.rst:191 msgid "" "``'sockname'``: the socket's own address, result of :meth:`socket.socket." "getsockname`" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:74 +#: ../Doc/library/asyncio-protocol.rst:194 msgid "SSL socket:" msgstr "*Socket* SSL :" -#: ../Doc/library/asyncio-protocol.rst:76 +#: ../Doc/library/asyncio-protocol.rst:196 msgid "" "``'compression'``: the compression algorithm being used as a string, or " "``None`` if the connection isn't compressed; result of :meth:`ssl.SSLSocket." "compression`" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:79 +#: ../Doc/library/asyncio-protocol.rst:200 msgid "" "``'cipher'``: a three-value tuple containing the name of the cipher being " "used, the version of the SSL protocol that defines its use, and the number " "of secret bits being used; result of :meth:`ssl.SSLSocket.cipher`" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:83 +#: ../Doc/library/asyncio-protocol.rst:205 msgid "" "``'peercert'``: peer certificate; result of :meth:`ssl.SSLSocket.getpeercert`" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:85 +#: ../Doc/library/asyncio-protocol.rst:208 msgid "``'sslcontext'``: :class:`ssl.SSLContext` instance" msgstr "``sslcontext'`` : Instance de :class:`ssl.SSLContext`" -#: ../Doc/library/asyncio-protocol.rst:86 +#: ../Doc/library/asyncio-protocol.rst:210 msgid "" "``'ssl_object'``: :class:`ssl.SSLObject` or :class:`ssl.SSLSocket` instance" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:89 +#: ../Doc/library/asyncio-protocol.rst:213 msgid "pipe:" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:91 +#: ../Doc/library/asyncio-protocol.rst:215 msgid "``'pipe'``: pipe object" msgstr "``'pipe'`` : objet *pipe*" -#: ../Doc/library/asyncio-protocol.rst:93 +#: ../Doc/library/asyncio-protocol.rst:217 msgid "subprocess:" msgstr "processus fils :" -#: ../Doc/library/asyncio-protocol.rst:95 +#: ../Doc/library/asyncio-protocol.rst:219 msgid "``'subprocess'``: :class:`subprocess.Popen` instance" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:99 +#: ../Doc/library/asyncio-protocol.rst:223 +msgid "Set a new protocol." +msgstr "Change le protocole." + +#: ../Doc/library/asyncio-protocol.rst:225 msgid "" -"Set a new protocol. Switching protocol should only be done when both " -"protocols are documented to support the switch." +"Switching protocol should only be done when both protocols are documented to " +"support the switch." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:106 +#: ../Doc/library/asyncio-protocol.rst:230 msgid "Return the current protocol." msgstr "Renvoie le protocole courant." -#: ../Doc/library/asyncio-protocol.rst:110 -msgid "``'ssl_object'`` info was added to SSL sockets." -msgstr "``'ssl_object'`` est ajouté aux *sockets* SSL." +#: ../Doc/library/asyncio-protocol.rst:234 +msgid "Read-only Transports" +msgstr "Transports en lecture seule" -#: ../Doc/library/asyncio-protocol.rst:115 -msgid "ReadTransport" -msgstr "ReadTransport" - -#: ../Doc/library/asyncio-protocol.rst:119 -msgid "Interface for read-only transports." -msgstr "Interface pour les transports en lecture seule." - -#: ../Doc/library/asyncio-protocol.rst:123 +#: ../Doc/library/asyncio-protocol.rst:238 msgid "Return ``True`` if the transport is receiving new data." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:129 +#: ../Doc/library/asyncio-protocol.rst:244 msgid "" "Pause the receiving end of the transport. No data will be passed to the " -"protocol's :meth:`data_received` method until :meth:`resume_reading` is " -"called." +"protocol's :meth:`protocol.data_received() ` method " +"until :meth:`resume_reading` is called." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:133 +#: ../Doc/library/asyncio-protocol.rst:248 msgid "" "The method is idempotent, i.e. it can be called when the transport is " "already paused or closed." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:139 +#: ../Doc/library/asyncio-protocol.rst:254 msgid "" -"Resume the receiving end. The protocol's :meth:`data_received` method will " -"be called once again if some data is available for reading." +"Resume the receiving end. The protocol's :meth:`protocol.data_received() " +"` method will be called once again if some data is " +"available for reading." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:142 +#: ../Doc/library/asyncio-protocol.rst:258 msgid "" "The method is idempotent, i.e. it can be called when the transport is " "already reading." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:148 -msgid "WriteTransport" -msgstr "WriteTransport" +#: ../Doc/library/asyncio-protocol.rst:264 +msgid "Write-only Transports" +msgstr "Transports en lecture/écriture" -#: ../Doc/library/asyncio-protocol.rst:152 -msgid "Interface for write-only transports." -msgstr "Interface pour les transports en écriture seule." - -#: ../Doc/library/asyncio-protocol.rst:156 -#: ../Doc/library/asyncio-protocol.rst:244 +#: ../Doc/library/asyncio-protocol.rst:268 msgid "" "Close the transport immediately, without waiting for pending operations to " "complete. Buffered data will be lost. No more data will be received. The " -"protocol's :meth:`connection_lost` method will eventually be called with :" -"const:`None` as its argument." +"protocol's :meth:`protocol.connection_lost() ` " +"method will eventually be called with :const:`None` as its argument." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:163 +#: ../Doc/library/asyncio-protocol.rst:276 msgid "" -"Return :const:`True` if the transport supports :meth:`write_eof`, :const:" -"`False` if not." +"Return :const:`True` if the transport supports :meth:`~WriteTransport." +"write_eof`, :const:`False` if not." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:168 +#: ../Doc/library/asyncio-protocol.rst:281 msgid "Return the current size of the output buffer used by the transport." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:172 +#: ../Doc/library/asyncio-protocol.rst:285 msgid "" -"Get the *high*- and *low*-water limits for write flow control. Return a " -"tuple ``(low, high)`` where *low* and *high* are positive number of bytes." +"Get the *high* and *low* watermarks for write flow control. Return a tuple " +"``(low, high)`` where *low* and *high* are positive number of bytes." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:176 +#: ../Doc/library/asyncio-protocol.rst:289 msgid "Use :meth:`set_write_buffer_limits` to set the limits." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:182 -msgid "Set the *high*- and *low*-water limits for write flow control." +#: ../Doc/library/asyncio-protocol.rst:295 +msgid "Set the *high* and *low* watermarks for write flow control." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:184 +#: ../Doc/library/asyncio-protocol.rst:297 msgid "" "These two values (measured in number of bytes) control when the protocol's :" -"meth:`pause_writing` and :meth:`resume_writing` methods are called. If " -"specified, the low-water limit must be less than or equal to the high-water " -"limit. Neither *high* nor *low* can be negative." +"meth:`protocol.pause_writing() ` and :meth:" +"`protocol.resume_writing() ` methods are " +"called. If specified, the low watermark must be less than or equal to the " +"high watermark. Neither *high* nor *low* can be negative." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:190 +#: ../Doc/library/asyncio-protocol.rst:305 msgid "" -":meth:`pause_writing` is called when the buffer size becomes greater than or " -"equal to the *high* value. If writing has been paused, :meth:" -"`resume_writing` is called when the buffer size becomes less than or equal " -"to the *low* value." +":meth:`~BaseProtocol.pause_writing` is called when the buffer size becomes " +"greater than or equal to the *high* value. If writing has been paused, :meth:" +"`~BaseProtocol.resume_writing` is called when the buffer size becomes less " +"than or equal to the *low* value." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:195 +#: ../Doc/library/asyncio-protocol.rst:310 msgid "" -"The defaults are implementation-specific. If only the high-water limit is " -"given, the low-water limit defaults to an implementation-specific value less " -"than or equal to the high-water limit. Setting *high* to zero forces *low* " -"to zero as well, and causes :meth:`pause_writing` to be called whenever the " -"buffer becomes non-empty. Setting *low* to zero causes :meth:" -"`resume_writing` to be called only once the buffer is empty. Use of zero for " -"either limit is generally sub-optimal as it reduces opportunities for doing " -"I/O and computation concurrently." +"The defaults are implementation-specific. If only the high watermark is " +"given, the low watermark defaults to an implementation-specific value less " +"than or equal to the high watermark. Setting *high* to zero forces *low* to " +"zero as well, and causes :meth:`~BaseProtocol.pause_writing` to be called " +"whenever the buffer becomes non-empty. Setting *low* to zero causes :meth:" +"`~BaseProtocol.resume_writing` to be called only once the buffer is empty. " +"Use of zero for either limit is generally sub-optimal as it reduces " +"opportunities for doing I/O and computation concurrently." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:206 -msgid "Use :meth:`get_write_buffer_limits` to get the limits." +#: ../Doc/library/asyncio-protocol.rst:321 +msgid "Use :meth:`~WriteTransport.get_write_buffer_limits` to get the limits." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:210 +#: ../Doc/library/asyncio-protocol.rst:326 msgid "Write some *data* bytes to the transport." msgstr "Écrit des octets de *data* sur le transport." -#: ../Doc/library/asyncio-protocol.rst:212 -#: ../Doc/library/asyncio-protocol.rst:239 +#: ../Doc/library/asyncio-protocol.rst:328 +#: ../Doc/library/asyncio-protocol.rst:357 msgid "" "This method does not block; it buffers the data and arranges for it to be " "sent out asynchronously." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:217 +#: ../Doc/library/asyncio-protocol.rst:333 msgid "" "Write a list (or any iterable) of data bytes to the transport. This is " "functionally equivalent to calling :meth:`write` on each element yielded by " "the iterable, but may be implemented more efficiently." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:223 +#: ../Doc/library/asyncio-protocol.rst:340 msgid "" -"Close the write end of the transport after flushing buffered data. Data may " -"still be received." +"Close the write end of the transport after flushing all buffered data. Data " +"may still be received." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:226 +#: ../Doc/library/asyncio-protocol.rst:343 msgid "" "This method can raise :exc:`NotImplementedError` if the transport (e.g. SSL) " -"doesn't support half-closes." +"doesn't support half-closed connections." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:231 -msgid "DatagramTransport" -msgstr "DatagramTransport" +#: ../Doc/library/asyncio-protocol.rst:348 +msgid "Datagram Transports" +msgstr "Transports de datagrammes" -#: ../Doc/library/asyncio-protocol.rst:235 +#: ../Doc/library/asyncio-protocol.rst:352 msgid "" "Send the *data* bytes to the remote peer given by *addr* (a transport-" "dependent target address). If *addr* is :const:`None`, the data is sent to " "the target address given on transport creation." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:251 -msgid "BaseSubprocessTransport" -msgstr "BaseSubprocessTransport" +#: ../Doc/library/asyncio-protocol.rst:362 +msgid "" +"Close the transport immediately, without waiting for pending operations to " +"complete. Buffered data will be lost. No more data will be received. The " +"protocol's :meth:`protocol.connection_lost() ` " +"method will eventually be called with :const:`None` as its argument." +msgstr "" -#: ../Doc/library/asyncio-protocol.rst:257 +#: ../Doc/library/asyncio-protocol.rst:372 +msgid "Subprocess Transports" +msgstr "Transports vers des sous-processus" + +#: ../Doc/library/asyncio-protocol.rst:376 msgid "Return the subprocess process id as an integer." msgstr "" "Donne l'identifiant du sous processus sous la forme d'un nombre entier." -#: ../Doc/library/asyncio-protocol.rst:261 +#: ../Doc/library/asyncio-protocol.rst:380 msgid "" "Return the transport for the communication pipe corresponding to the integer " "file descriptor *fd*:" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:264 +#: ../Doc/library/asyncio-protocol.rst:383 msgid "" "``0``: readable streaming transport of the standard input (*stdin*), or :" "const:`None` if the subprocess was not created with ``stdin=PIPE``" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:266 +#: ../Doc/library/asyncio-protocol.rst:385 msgid "" "``1``: writable streaming transport of the standard output (*stdout*), or :" "const:`None` if the subprocess was not created with ``stdout=PIPE``" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:268 +#: ../Doc/library/asyncio-protocol.rst:387 msgid "" "``2``: writable streaming transport of the standard error (*stderr*), or :" "const:`None` if the subprocess was not created with ``stderr=PIPE``" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:270 +#: ../Doc/library/asyncio-protocol.rst:389 msgid "other *fd*: :const:`None`" msgstr "autre *fd* : :const:`None`" -#: ../Doc/library/asyncio-protocol.rst:274 +#: ../Doc/library/asyncio-protocol.rst:393 msgid "" -"Return the subprocess returncode as an integer or :const:`None` if it hasn't " -"returned, similarly to the :attr:`subprocess.Popen.returncode` attribute." +"Return the subprocess return code as an integer or :const:`None` if it " +"hasn't returned, which is similar to the :attr:`subprocess.Popen.returncode` " +"attribute." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:280 -msgid "Kill the subprocess, as in :meth:`subprocess.Popen.kill`." -msgstr "" +#: ../Doc/library/asyncio-protocol.rst:399 +msgid "Kill the subprocess." +msgstr "Tue le sous-processus." -#: ../Doc/library/asyncio-protocol.rst:282 +#: ../Doc/library/asyncio-protocol.rst:401 msgid "" "On POSIX systems, the function sends SIGKILL to the subprocess. On Windows, " "this method is an alias for :meth:`terminate`." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:287 +#: ../Doc/library/asyncio-protocol.rst:404 +msgid "See also :meth:`subprocess.Popen.kill`." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:408 msgid "" "Send the *signal* number to the subprocess, as in :meth:`subprocess.Popen." "send_signal`." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:292 -msgid "" -"Ask the subprocess to stop, as in :meth:`subprocess.Popen.terminate`. This " -"method is an alias for the :meth:`close` method." -msgstr "" +#: ../Doc/library/asyncio-protocol.rst:413 +msgid "Stop the subprocess." +msgstr "Termine le processus fils." -#: ../Doc/library/asyncio-protocol.rst:295 +#: ../Doc/library/asyncio-protocol.rst:415 msgid "" "On POSIX systems, this method sends SIGTERM to the subprocess. On Windows, " "the Windows API function TerminateProcess() is called to stop the subprocess." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:301 -msgid "" -"Ask the subprocess to stop by calling the :meth:`terminate` method if the " -"subprocess hasn't returned yet, and close transports of all pipes (*stdin*, " -"*stdout* and *stderr*)." +#: ../Doc/library/asyncio-protocol.rst:419 +msgid "See also :meth:`subprocess.Popen.terminate`." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:309 +#: ../Doc/library/asyncio-protocol.rst:423 +msgid "Kill the subprocess by calling the :meth:`kill` method." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:425 +msgid "" +"If the subprocess hasn't returned yet, and close transports of *stdin*, " +"*stdout*, and *stderr* pipes." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:432 msgid "Protocols" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:311 +#: ../Doc/library/asyncio-protocol.rst:434 msgid "" -":mod:`asyncio` provides base classes that you can subclass to implement your " -"network protocols. Those classes are used in conjunction with :ref:" -"`transports ` (see below): the protocol parses incoming " -"data and asks for the writing of outgoing data, while the transport is " -"responsible for the actual I/O and buffering." +"asyncio provides a set of abstract base classes that should be used to " +"implement network protocols. Those classes are meant to be used together " +"with :ref:`transports `." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:317 +#: ../Doc/library/asyncio-protocol.rst:438 msgid "" -"When subclassing a protocol class, it is recommended you override certain " -"methods. Those methods are callbacks: they will be called by the transport " -"on certain events (for example when some data is received); you shouldn't " -"call them yourself, unless you are implementing a transport." +"Subclasses of abstract base protocol classes may implement some or all " +"methods. All these methods are callbacks: they are called by transports on " +"certain events, for example when some data is received. A base protocol " +"method should be called by the corresponding transport." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:323 +#: ../Doc/library/asyncio-protocol.rst:445 +msgid "Base Protocols" +msgstr "Protocoles de base" + +#: ../Doc/library/asyncio-protocol.rst:449 +msgid "Base protocol with methods that all protocols share." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:453 msgid "" -"All callbacks have default implementations, which are empty. Therefore, you " -"only need to implement the callbacks for the events in which you are " -"interested." +"The base class for implementing streaming protocols (TCP, Unix sockets, etc)." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:329 -msgid "Protocol classes" -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:333 -msgid "" -"The base class for implementing streaming protocols (for use with e.g. TCP " -"and SSL transports)." -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:338 +#: ../Doc/library/asyncio-protocol.rst:458 msgid "" "A base class for implementing streaming protocols with manual control of the " "receive buffer." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:341 -msgid "" -"**Important:** this has been added to asyncio in Python 3.7 *on a " -"provisional basis*! Treat it as an experimental API that might be changed " -"or removed in Python 3.8." +#: ../Doc/library/asyncio-protocol.rst:463 +msgid "The base class for implementing datagram (UDP) protocols." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:348 -msgid "" -"The base class for implementing datagram protocols (for use with e.g. UDP " -"transports)." -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:353 +#: ../Doc/library/asyncio-protocol.rst:467 msgid "" "The base class for implementing protocols communicating with child processes " -"(through a set of unidirectional pipes)." +"(unidirectional pipes)." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:358 -msgid "Connection callbacks" +#: ../Doc/library/asyncio-protocol.rst:472 +msgid "Base Protocol" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:360 -#: ../Doc/library/asyncio-protocol.rst:537 +#: ../Doc/library/asyncio-protocol.rst:474 +msgid "All asyncio protocols can implement Base Protocol callbacks." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:477 +msgid "Connection Callbacks" +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:478 msgid "" -"These callbacks may be called on :class:`Protocol`, :class:" -"`DatagramProtocol` and :class:`SubprocessProtocol` instances:" +"Connection callbacks are called on all protocols, exactly once per a " +"successful connection. All other protocol callbacks can only be called " +"between those two methods." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:365 +#: ../Doc/library/asyncio-protocol.rst:484 msgid "Called when a connection is made." msgstr "Appelé lorsqu'une connexion est établie." -#: ../Doc/library/asyncio-protocol.rst:367 +#: ../Doc/library/asyncio-protocol.rst:486 msgid "" -"The *transport* argument is the transport representing the connection. You " -"are responsible for storing it somewhere (e.g. as an attribute) if you need " -"to." +"The *transport* argument is the transport representing the connection. The " +"protocol is responsible for storing the reference to its transport." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:373 +#: ../Doc/library/asyncio-protocol.rst:492 msgid "Called when the connection is lost or closed." msgstr "Appelé lorsqu'une connexion est perdue ou fermée." -#: ../Doc/library/asyncio-protocol.rst:375 +#: ../Doc/library/asyncio-protocol.rst:494 msgid "" "The argument is either an exception object or :const:`None`. The latter " "means a regular EOF is received, or the connection was aborted or closed by " "this side of the connection." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:379 +#: ../Doc/library/asyncio-protocol.rst:500 +msgid "Flow Control Callbacks" +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:501 msgid "" -":meth:`~BaseProtocol.connection_made` and :meth:`~BaseProtocol." -"connection_lost` are called exactly once per successful connection. All " -"other callbacks will be called between those two methods, which allows for " -"easier resource management in your protocol implementation." +"Flow control callbacks can be called by transports to pause or resume " +"writing performed by the protocol." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:384 +#: ../Doc/library/asyncio-protocol.rst:504 msgid "" -"The following callbacks may be called only on :class:`SubprocessProtocol` " -"instances:" +"See the documentation of the :meth:`~WriteTransport.set_write_buffer_limits` " +"method for more details." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:389 +#: ../Doc/library/asyncio-protocol.rst:509 +msgid "Called when the transport's buffer goes over the high watermark." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:513 +msgid "Called when the transport's buffer drains below the low watermark." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:515 msgid "" -"Called when the child process writes data into its stdout or stderr pipe. " -"*fd* is the integer file descriptor of the pipe. *data* is a non-empty " -"bytes object containing the data." +"If the buffer size equals the high watermark, :meth:`~BaseProtocol." +"pause_writing` is not called: the buffer size must go strictly over." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:395 +#: ../Doc/library/asyncio-protocol.rst:519 msgid "" -"Called when one of the pipes communicating with the child process is " -"closed. *fd* is the integer file descriptor that was closed." +"Conversely, :meth:`~BaseProtocol.resume_writing` is called when the buffer " +"size is equal or lower than the low watermark. These end conditions are " +"important to ensure that things go as expected when either mark is zero." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:400 -msgid "Called when the child process has exited." -msgstr "Appelé lorsqu'un processus enfant se termine." +#: ../Doc/library/asyncio-protocol.rst:526 +msgid "Streaming Protocols" +msgstr "Protocoles connectés" -#: ../Doc/library/asyncio-protocol.rst:404 -msgid "Streaming protocols" +#: ../Doc/library/asyncio-protocol.rst:528 +msgid "" +"Event methods, such as :meth:`loop.create_server`, :meth:`loop." +"create_unix_server`, :meth:`loop.create_connection`, :meth:`loop." +"create_unix_connection`, :meth:`loop.connect_accepted_socket`, :meth:`loop." +"connect_read_pipe`, and :meth:`loop.connect_write_pipe` accept factories " +"that return streaming protocols." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:406 -msgid "The following callbacks are called on :class:`Protocol` instances:" -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:410 +#: ../Doc/library/asyncio-protocol.rst:536 msgid "" "Called when some data is received. *data* is a non-empty bytes object " "containing the incoming data." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:414 +#: ../Doc/library/asyncio-protocol.rst:539 msgid "" "Whether the data is buffered, chunked or reassembled depends on the " "transport. In general, you shouldn't rely on specific semantics and instead " -"make your parsing generic and flexible enough. However, data is always " -"received in the correct order." +"make your parsing generic and flexible. However, data is always received in " +"the correct order." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:421 +#: ../Doc/library/asyncio-protocol.rst:544 +msgid "" +"The method can be called an arbitrary number of times while a connection is " +"open." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:547 +msgid "" +"However, :meth:`protocol.eof_received() ` is called " +"at most once. Once `eof_received()` is called, ``data_received()`` is not " +"called anymore." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:553 msgid "" "Called when the other end signals it won't send any more data (for example " -"by calling :meth:`write_eof`, if the other end also uses asyncio)." +"by calling :meth:`transport.write_eof() `, if the " +"other end also uses asyncio)." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:425 +#: ../Doc/library/asyncio-protocol.rst:558 msgid "" "This method may return a false value (including ``None``), in which case the " "transport will close itself. Conversely, if this method returns a true " -"value, closing the transport is up to the protocol. Since the default " -"implementation returns ``None``, it implicitly closes the connection." +"value, the protocol used determines whether to close the transport. Since " +"the default implementation returns ``None``, it implicitly closes the " +"connection." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:431 +#: ../Doc/library/asyncio-protocol.rst:564 msgid "" -"Some transports such as SSL don't support half-closed connections, in which " -"case returning true from this method will not prevent closing the connection." +"Some transports, including SSL, don't support half-closed connections, in " +"which case returning true from this method will result in the connection " +"being closed." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:435 -msgid "" -":meth:`data_received` can be called an arbitrary number of times during a " -"connection. However, :meth:`eof_received` is called at most once and, if " -"called, :meth:`data_received` won't be called after it." -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:439 -#: ../Doc/library/asyncio-protocol.rst:500 +#: ../Doc/library/asyncio-protocol.rst:569 +#: ../Doc/library/asyncio-protocol.rst:630 msgid "State machine:" msgstr "Machine à états :" -#: ../Doc/library/asyncio-protocol.rst:450 -msgid "Streaming protocols with manual receive buffer control" +#: ../Doc/library/asyncio-protocol.rst:580 +msgid "Buffered Streaming Protocols" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:452 +#: ../Doc/library/asyncio-protocol.rst:582 msgid "" -"**Important:** :class:`BufferedProtocol` has been added to asyncio in Python " -"3.7 *on a provisional basis*! Consider it as an experimental API that might " -"be changed or removed in Python 3.8." +"**Important:** this has been added to asyncio in Python 3.7 *on a " +"provisional basis*! This is as an experimental API that might be changed or " +"removed completely in Python 3.8." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:458 +#: ../Doc/library/asyncio-protocol.rst:587 msgid "" -"Event methods, such as :meth:`AbstractEventLoop.create_server` and :meth:" -"`AbstractEventLoop.create_connection`, accept factories that return " -"protocols that implement this interface." +"Buffered Protocols can be used with any event loop method that supports " +"`Streaming Protocols`_." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:462 +#: ../Doc/library/asyncio-protocol.rst:590 msgid "" -"The idea of BufferedProtocol is that it allows to manually allocate and " -"control the receive buffer. Event loops can then use the buffer provided by " -"the protocol to avoid unnecessary data copies. This can result in " +"``BufferedProtocol`` implementations allow explicit manual allocation and " +"control of the receive buffer. Event loops can then use the buffer provided " +"by the protocol to avoid unnecessary data copies. This can result in " "noticeable performance improvement for protocols that receive big amounts of " -"data. Sophisticated protocols implementations can allocate the buffer only " -"once at creation time." +"data. Sophisticated protocol implementations can significantly reduce the " +"number of buffer allocations." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:469 +#: ../Doc/library/asyncio-protocol.rst:597 msgid "" "The following callbacks are called on :class:`BufferedProtocol` instances:" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:474 +#: ../Doc/library/asyncio-protocol.rst:602 msgid "Called to allocate a new receive buffer." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:476 +#: ../Doc/library/asyncio-protocol.rst:604 msgid "" -"*sizehint* is a recommended minimal size for the returned buffer. It is " -"acceptable to return smaller or bigger buffers than what *sizehint* " +"*sizehint* is the recommended minimum size for the returned buffer. It is " +"acceptable to return smaller or larger buffers than what *sizehint* " "suggests. When set to -1, the buffer size can be arbitrary. It is an error " -"to return a zero-sized buffer." +"to return a buffer with a zero size." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:481 +#: ../Doc/library/asyncio-protocol.rst:609 msgid "" -"Must return an object that implements the :ref:`buffer protocol " -"`." +"``get_buffer()`` must return an object implementing the :ref:`buffer " +"protocol `." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:486 +#: ../Doc/library/asyncio-protocol.rst:614 msgid "Called when the buffer was updated with the received data." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:488 +#: ../Doc/library/asyncio-protocol.rst:616 msgid "*nbytes* is the total number of bytes that were written to the buffer." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:492 -msgid "See the documentation of the :meth:`Protocol.eof_received` method." -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:495 +#: ../Doc/library/asyncio-protocol.rst:620 msgid "" -":meth:`get_buffer` can be called an arbitrary number of times during a " -"connection. However, :meth:`eof_received` is called at most once and, if " -"called, :meth:`get_buffer` and :meth:`buffer_updated` won't be called after " -"it." +"See the documentation of the :meth:`protocol.eof_received() ` method." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:513 -msgid "Datagram protocols" -msgstr "Protocoles de datagrammes" - -#: ../Doc/library/asyncio-protocol.rst:515 +#: ../Doc/library/asyncio-protocol.rst:624 msgid "" -"The following callbacks are called on :class:`DatagramProtocol` instances." +":meth:`~BufferedProtocol.get_buffer` can be called an arbitrary number of " +"times during a connection. However, :meth:`protocol.eof_received() " +"` is called at most once and, if called, :meth:" +"`~BufferedProtocol.get_buffer` and :meth:`~BufferedProtocol.buffer_updated` " +"won't be called after it." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:519 +#: ../Doc/library/asyncio-protocol.rst:643 +msgid "Datagram Protocols" +msgstr "Protocoles non-connectés" + +#: ../Doc/library/asyncio-protocol.rst:645 +msgid "" +"Datagram Protocol instances should be constructed by protocol factories " +"passed to the :meth:`loop.create_datagram_endpoint` method." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:650 msgid "" "Called when a datagram is received. *data* is a bytes object containing the " "incoming data. *addr* is the address of the peer sending the data; the " "exact format depends on the transport." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:525 +#: ../Doc/library/asyncio-protocol.rst:656 msgid "" "Called when a previous send or receive operation raises an :class:" "`OSError`. *exc* is the :class:`OSError` instance." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:528 +#: ../Doc/library/asyncio-protocol.rst:659 msgid "" "This method is called in rare conditions, when the transport (e.g. UDP) " -"detects that a datagram couldn't be delivered to its recipient. In many " +"detects that a datagram could not be delivered to its recipient. In many " "conditions though, undeliverable datagrams will be silently dropped." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:535 -msgid "Flow control callbacks" -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:542 -msgid "Called when the transport's buffer goes over the high-water mark." -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:546 -msgid "Called when the transport's buffer drains below the low-water mark." -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:549 +#: ../Doc/library/asyncio-protocol.rst:666 msgid "" -":meth:`pause_writing` and :meth:`resume_writing` calls are paired -- :meth:" -"`pause_writing` is called once when the buffer goes strictly over the high-" -"water mark (even if subsequent writes increases the buffer size even more), " -"and eventually :meth:`resume_writing` is called once when the buffer size " -"reaches the low-water mark." +"On BSD systems (macOS, FreeBSD, etc.) flow control is not supported for " +"datagram protocols, because there is no reliable way to detect send failures " +"caused by writing too many packets." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:556 +#: ../Doc/library/asyncio-protocol.rst:670 msgid "" -"If the buffer size equals the high-water mark, :meth:`pause_writing` is not " -"called -- it must go strictly over. Conversely, :meth:`resume_writing` is " -"called when the buffer size is equal or lower than the low-water mark. " -"These end conditions are important to ensure that things go as expected when " -"either mark is zero." +"The socket always appears 'ready' and excess packets are dropped. An :class:" +"`OSError` with ``errno`` set to :const:`errno.ENOBUFS` may or may not be " +"raised; if it is raised, it will be reported to :meth:`DatagramProtocol." +"error_received` but otherwise ignored." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:564 +#: ../Doc/library/asyncio-protocol.rst:679 +msgid "Subprocess Protocols" +msgstr "Protocole liés aux sous-processus" + +#: ../Doc/library/asyncio-protocol.rst:681 msgid "" -"On BSD systems (OS X, FreeBSD, etc.) flow control is not supported for :" -"class:`DatagramProtocol`, because send failures caused by writing too many " -"packets cannot be detected easily. The socket always appears 'ready' and " -"excess packets are dropped; an :class:`OSError` with errno set to :const:" -"`errno.ENOBUFS` may or may not be raised; if it is raised, it will be " -"reported to :meth:`DatagramProtocol.error_received` but otherwise ignored." -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:574 -msgid "Coroutines and protocols" -msgstr "Coroutines et protocoles" - -#: ../Doc/library/asyncio-protocol.rst:576 -msgid "" -"Coroutines can be scheduled in a protocol method using :func:" -"`ensure_future`, but there is no guarantee made about the execution order. " -"Protocols are not aware of coroutines created in protocol methods and so " -"will not wait for them." -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:580 -msgid "" -"To have a reliable execution order, use :ref:`stream objects ` in a coroutine with ``await``. For example, the :meth:" -"`StreamWriter.drain` coroutine can be used to wait until the write buffer is " -"flushed." -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:587 -msgid "Protocol examples" -msgstr "Exemples de protocole" - -#: ../Doc/library/asyncio-protocol.rst:592 -msgid "TCP echo client protocol" -msgstr "Protocole \"*echo client*\" en TCP" - -#: ../Doc/library/asyncio-protocol.rst:594 -msgid "" -"TCP echo client using the :meth:`AbstractEventLoop.create_connection` " -"method, send data and wait until the connection is closed::" -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:624 -msgid "" -"The event loop is running twice. The :meth:`~AbstractEventLoop." -"run_until_complete` method is preferred in this short example to raise an " -"exception if the server is not listening, instead of having to write a short " -"coroutine to handle the exception and stop the running loop. At :meth:" -"`~AbstractEventLoop.run_until_complete` exit, the loop is no longer running, " -"so there is no need to stop the loop in case of an error." -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:633 -msgid "" -"The :ref:`TCP echo client using streams ` " -"example uses the :func:`asyncio.open_connection` function." -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:640 -msgid "TCP echo server protocol" -msgstr "Protocole \"*echo serveur*\" en TCP" - -#: ../Doc/library/asyncio-protocol.rst:642 -msgid "" -"TCP echo server using the :meth:`AbstractEventLoop.create_server` method, " -"send back received data and close the connection::" -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:680 -msgid "" -":meth:`Transport.close` can be called immediately after :meth:" -"`WriteTransport.write` even if data are not sent yet on the socket: both " -"methods are asynchronous. ``await`` is not needed because these transport " -"methods are not coroutines." +"Datagram Protocol instances should be constructed by protocol factories " +"passed to the :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` " +"methods." msgstr "" #: ../Doc/library/asyncio-protocol.rst:687 msgid "" -"The :ref:`TCP echo server using streams ` " -"example uses the :func:`asyncio.start_server` function." +"Called when the child process writes data into its stdout or stderr pipe." +msgstr "" +"Appelé lorsqu'un processus enfant écrit sur sa sortie d'erreur ou sa sortie " +"standard." + +#: ../Doc/library/asyncio-protocol.rst:690 +msgid "*fd* is the integer file descriptor of the pipe." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:694 -msgid "UDP echo client protocol" -msgstr "Protocole \"*echo client*\" en UDP" +#: ../Doc/library/asyncio-protocol.rst:692 +msgid "*data* is a non-empty bytes object containing the received data." +msgstr "" #: ../Doc/library/asyncio-protocol.rst:696 msgid "" -"UDP echo client using the :meth:`AbstractEventLoop.create_datagram_endpoint` " -"method, send data and close the transport when we received the answer::" +"Called when one of the pipes communicating with the child process is closed." +msgstr "" +"Appelé lorsqu'une des *pipe*\\ s de communication avec un processus fils est " +"fermée." + +#: ../Doc/library/asyncio-protocol.rst:699 +msgid "*fd* is the integer file descriptor that was closed." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:740 -msgid "UDP echo server protocol" -msgstr "Protocole \"*echo serveur*\" en UDP" +#: ../Doc/library/asyncio-protocol.rst:703 +msgid "Called when the child process has exited." +msgstr "Appelé lorsqu'un processus enfant se termine." -#: ../Doc/library/asyncio-protocol.rst:742 +#: ../Doc/library/asyncio-protocol.rst:707 +msgid "Examples" +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:712 +msgid "TCP Echo Server" +msgstr "Serveur de *ping* en TCP" + +#: ../Doc/library/asyncio-protocol.rst:714 msgid "" -"UDP echo server using the :meth:`AbstractEventLoop.create_datagram_endpoint` " -"method, send back received data::" +"Create a TCP echo server using the :meth:`loop.create_server` method, send " +"back received data, and close the connection::" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:776 -msgid "Register an open socket to wait for data using a protocol" -msgstr "" - -#: ../Doc/library/asyncio-protocol.rst:778 +#: ../Doc/library/asyncio-protocol.rst:755 msgid "" -"Wait until a socket receives data using the :meth:`AbstractEventLoop." -"create_connection` method with a protocol, and then close the event loop ::" +"The :ref:`TCP echo server using streams ` " +"example uses the high-level :func:`asyncio.start_server` function." msgstr "" -#: ../Doc/library/asyncio-protocol.rst:822 +#: ../Doc/library/asyncio-protocol.rst:761 +msgid "TCP Echo Client" +msgstr "Client de *ping* en TCP" + +#: ../Doc/library/asyncio-protocol.rst:763 msgid "" -"The :ref:`watch a file descriptor for read events ` example uses the low-level :meth:`AbstractEventLoop.add_reader` " -"method to register the file descriptor of a socket." +"A TCP echo client using the :meth:`loop.create_connection` method, sends " +"data, and waits until the connection is closed::" msgstr "" -#: ../Doc/library/asyncio-protocol.rst:827 +#: ../Doc/library/asyncio-protocol.rst:812 msgid "" -"The :ref:`register an open socket to wait for data using streams ` example uses high-level streams created by the :" -"func:`open_connection` function in a coroutine." +"The :ref:`TCP echo client using streams ` " +"example uses the high-level :func:`asyncio.open_connection` function." msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:819 +msgid "UDP Echo Server" +msgstr "Serveur de *ping* en UDP" + +#: ../Doc/library/asyncio-protocol.rst:821 +msgid "" +"A UDP echo server, using the :meth:`loop.create_datagram_endpoint` method, " +"sends back received data::" +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:863 +msgid "UDP Echo Client" +msgstr "Client de *ping* en UDP" + +#: ../Doc/library/asyncio-protocol.rst:865 +msgid "" +"A UDP echo client, using the :meth:`loop.create_datagram_endpoint` method, " +"sends data and closes the transport when it receives the answer::" +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:919 +msgid "Connecting Existing Sockets" +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:921 +msgid "" +"Wait until a socket receives data using the :meth:`loop.create_connection` " +"method with a protocol::" +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:974 +msgid "" +"The :ref:`watch a file descriptor for read events " +"` example uses the low-level :meth:`loop." +"add_reader` method to register an FD." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:978 +msgid "" +"The :ref:`register an open socket to wait for data using streams " +"` example uses high-level streams " +"created by the :func:`open_connection` function in a coroutine." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:985 +msgid "loop.subprocess_exec() and SubprocessProtocol" +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:987 +msgid "" +"An example of a subprocess protocol used to get the output of a subprocess " +"and to wait for the subprocess exit." +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:990 +msgid "The subprocess is created by th :meth:`loop.subprocess_exec` method::" +msgstr "" + +#: ../Doc/library/asyncio-protocol.rst:1040 +msgid "" +"See also the :ref:`same example ` " +"written using high-level APIs." +msgstr "" + +#~ msgid "Transports and protocols (callback based API)" +#~ msgstr "Transports et protocoles (APi basée sur des fonctions de rappel)" + +#~ msgid "``'ssl_object'`` info was added to SSL sockets." +#~ msgstr "``'ssl_object'`` est ajouté aux *sockets* SSL." + +#~ msgid "Interface for read-only transports." +#~ msgstr "Interface pour les transports en lecture seule." + +#~ msgid "Interface for write-only transports." +#~ msgstr "Interface pour les transports en écriture seule." + +#~ msgid "Protocol examples" +#~ msgstr "Exemples de protocole" diff --git a/library/asyncio-queue.po b/library/asyncio-queue.po index 85184274..41c746da 100644 --- a/library/asyncio-queue.po +++ b/library/asyncio-queue.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 17:37+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -14,36 +14,25 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../Doc/library/asyncio-queue.rst:4 +#: ../Doc/library/asyncio-queue.rst:7 msgid "Queues" msgstr "" -#: ../Doc/library/asyncio-queue.rst:6 -msgid "**Source code:** :source:`Lib/asyncio/queues.py`" -msgstr "" - -#: ../Doc/library/asyncio-queue.rst:8 -msgid "Queues:" -msgstr "" - -#: ../Doc/library/asyncio-queue.rst:10 -msgid ":class:`Queue`" -msgstr ":class:`Queue`" - -#: ../Doc/library/asyncio-queue.rst:11 -msgid ":class:`PriorityQueue`" -msgstr ":class:`PriorityQueue`" - -#: ../Doc/library/asyncio-queue.rst:12 -msgid ":class:`LifoQueue`" -msgstr ":class:`LifoQueue`" - -#: ../Doc/library/asyncio-queue.rst:14 +#: ../Doc/library/asyncio-queue.rst:9 msgid "" -"asyncio queue API was designed to be close to classes of the :mod:`queue` " -"module (:class:`~queue.Queue`, :class:`~queue.PriorityQueue`, :class:`~queue." -"LifoQueue`), but it has no *timeout* parameter. The :func:`asyncio.wait_for` " -"function can be used to cancel a task after a timeout." +"asyncio queues are designed to be similar to classes of the :mod:`queue` " +"module. Although asyncio queues are not thread-safe, they are designed to " +"be used specifically in async/await code." +msgstr "" + +#: ../Doc/library/asyncio-queue.rst:13 +msgid "" +"Note that methods of asyncio queues don't have a *timeout* parameter; use :" +"func:`asyncio.wait_for` function to do queue operations with a timeout." +msgstr "" + +#: ../Doc/library/asyncio-queue.rst:17 +msgid "See also the `Examples`_ section below." msgstr "" #: ../Doc/library/asyncio-queue.rst:20 @@ -51,75 +40,60 @@ msgid "Queue" msgstr "" #: ../Doc/library/asyncio-queue.rst:24 -msgid "A queue, useful for coordinating producer and consumer coroutines." +msgid "A first in, first out (FIFO) queue." msgstr "" #: ../Doc/library/asyncio-queue.rst:26 msgid "" -"If *maxsize* is less than or equal to zero, the queue size is infinite. If " -"it is an integer greater than ``0``, then ``await put()`` will block when " -"the queue reaches *maxsize*, until an item is removed by :meth:`get`." +"If *maxsize* is less than or equal to zero, the queue size is infinite. If " +"it is an integer greater than ``0``, then ``await put()`` blocks when the " +"queue reaches *maxsize* until an item is removed by :meth:`get`." msgstr "" -#: ../Doc/library/asyncio-queue.rst:30 +#: ../Doc/library/asyncio-queue.rst:31 msgid "" -"Unlike the standard library :mod:`queue`, you can reliably know this Queue's " -"size with :meth:`qsize`, since your single-threaded asyncio application " -"won't be interrupted between calling :meth:`qsize` and doing an operation on " -"the Queue." +"Unlike the standard library threading :mod:`queue`, the size of the queue is " +"always known and can be returned by calling the :meth:`qsize` method." msgstr "" #: ../Doc/library/asyncio-queue.rst:35 msgid "This class is :ref:`not thread safe `." msgstr "" -#: ../Doc/library/asyncio-queue.rst:37 -msgid "New :meth:`join` and :meth:`task_done` methods." -msgstr "Les nouvelles méthodes :meth:`join` et :meth:`task_done`." +#: ../Doc/library/asyncio-queue.rst:39 +msgid "Number of items allowed in the queue." +msgstr "Nombre d'éléments autorisés dans la queue." -#: ../Doc/library/asyncio-queue.rst:42 +#: ../Doc/library/asyncio-queue.rst:43 msgid "Return ``True`` if the queue is empty, ``False`` otherwise." msgstr "" -#: ../Doc/library/asyncio-queue.rst:46 +#: ../Doc/library/asyncio-queue.rst:47 msgid "Return ``True`` if there are :attr:`maxsize` items in the queue." msgstr "" -#: ../Doc/library/asyncio-queue.rst:50 +#: ../Doc/library/asyncio-queue.rst:49 msgid "" -"If the Queue was initialized with ``maxsize=0`` (the default), then :meth:" -"`full()` is never ``True``." +"If the queue was initialized with ``maxsize=0`` (the default), then :meth:" +"`full()` never returns ``True``." msgstr "" -#: ../Doc/library/asyncio-queue.rst:55 +#: ../Doc/library/asyncio-queue.rst:54 msgid "" "Remove and return an item from the queue. If queue is empty, wait until an " "item is available." msgstr "" -#: ../Doc/library/asyncio-queue.rst:58 ../Doc/library/asyncio-queue.rst:81 -#: ../Doc/library/asyncio-queue.rst:90 -msgid "This method is a :ref:`coroutine `." -msgstr "Cette méthode est une :ref:`coroutine `." - -#: ../Doc/library/asyncio-queue.rst:62 -msgid "The :meth:`empty` method." -msgstr "La méthode :meth:`empty`." - -#: ../Doc/library/asyncio-queue.rst:66 -msgid "Remove and return an item from the queue." -msgstr "Supprime et donne un élément de la queue." - -#: ../Doc/library/asyncio-queue.rst:68 +#: ../Doc/library/asyncio-queue.rst:59 msgid "" "Return an item if one is immediately available, else raise :exc:`QueueEmpty`." msgstr "" -#: ../Doc/library/asyncio-queue.rst:73 -msgid "Block until all items in the queue have been gotten and processed." +#: ../Doc/library/asyncio-queue.rst:64 +msgid "Block until all items in the queue have been received and processed." msgstr "" -#: ../Doc/library/asyncio-queue.rst:75 +#: ../Doc/library/asyncio-queue.rst:66 msgid "" "The count of unfinished tasks goes up whenever an item is added to the " "queue. The count goes down whenever a consumer thread calls :meth:" @@ -128,92 +102,117 @@ msgid "" "unblocks." msgstr "" -#: ../Doc/library/asyncio-queue.rst:87 +#: ../Doc/library/asyncio-queue.rst:74 msgid "" "Put an item into the queue. If the queue is full, wait until a free slot is " -"available before adding item." +"available before adding the item." msgstr "" -#: ../Doc/library/asyncio-queue.rst:94 -msgid "The :meth:`full` method." -msgstr "La méthode :meth:`full`." - -#: ../Doc/library/asyncio-queue.rst:98 +#: ../Doc/library/asyncio-queue.rst:79 msgid "Put an item into the queue without blocking." msgstr "Ajoute un élément dans la queue sans bloquer." -#: ../Doc/library/asyncio-queue.rst:100 +#: ../Doc/library/asyncio-queue.rst:81 msgid "If no free slot is immediately available, raise :exc:`QueueFull`." msgstr "" -#: ../Doc/library/asyncio-queue.rst:104 -msgid "Number of items in the queue." -msgstr "Nombre d'éléments dans la queue." +#: ../Doc/library/asyncio-queue.rst:85 +msgid "Return the number of items in the queue." +msgstr "Renvoie le nombre d'éléments dans la queue." -#: ../Doc/library/asyncio-queue.rst:108 +#: ../Doc/library/asyncio-queue.rst:89 msgid "Indicate that a formerly enqueued task is complete." msgstr "" -#: ../Doc/library/asyncio-queue.rst:110 +#: ../Doc/library/asyncio-queue.rst:91 msgid "" "Used by queue consumers. For each :meth:`~Queue.get` used to fetch a task, a " "subsequent call to :meth:`task_done` tells the queue that the processing on " "the task is complete." msgstr "" -#: ../Doc/library/asyncio-queue.rst:114 +#: ../Doc/library/asyncio-queue.rst:95 msgid "" "If a :meth:`join` is currently blocking, it will resume when all items have " "been processed (meaning that a :meth:`task_done` call was received for every " "item that had been :meth:`~Queue.put` into the queue)." msgstr "" -#: ../Doc/library/asyncio-queue.rst:118 +#: ../Doc/library/asyncio-queue.rst:100 msgid "" "Raises :exc:`ValueError` if called more times than there were items placed " "in the queue." msgstr "" -#: ../Doc/library/asyncio-queue.rst:125 -msgid "Number of items allowed in the queue." -msgstr "Nombre d'éléments autorisés dans la queue." +#: ../Doc/library/asyncio-queue.rst:105 +msgid "Priority Queue" +msgstr "File de priorité" -#: ../Doc/library/asyncio-queue.rst:129 -msgid "PriorityQueue" -msgstr "PriorityQueue" - -#: ../Doc/library/asyncio-queue.rst:133 +#: ../Doc/library/asyncio-queue.rst:109 msgid "" -"A subclass of :class:`Queue`; retrieves entries in priority order (lowest " +"A variant of :class:`Queue`; retrieves entries in priority order (lowest " "first)." msgstr "" -#: ../Doc/library/asyncio-queue.rst:136 -msgid "Entries are typically tuples of the form: (priority number, data)." +#: ../Doc/library/asyncio-queue.rst:112 +msgid "Entries are typically tuples of the form ``(priority_number, data)``." msgstr "" -#: ../Doc/library/asyncio-queue.rst:140 -msgid "LifoQueue" +#: ../Doc/library/asyncio-queue.rst:117 +msgid "LIFO Queue" msgstr "" -#: ../Doc/library/asyncio-queue.rst:144 +#: ../Doc/library/asyncio-queue.rst:121 msgid "" -"A subclass of :class:`Queue` that retrieves most recently added entries " -"first." +"A variant of :class:`Queue` that retrieves most recently added entries first " +"(last in, first out)." msgstr "" -#: ../Doc/library/asyncio-queue.rst:149 +#: ../Doc/library/asyncio-queue.rst:126 msgid "Exceptions" msgstr "Exceptions" -#: ../Doc/library/asyncio-queue.rst:153 +#: ../Doc/library/asyncio-queue.rst:130 msgid "" -"Exception raised when the :meth:`~Queue.get_nowait` method is called on a :" -"class:`Queue` object which is empty." +"This exception is raised when the :meth:`~Queue.get_nowait` method is called " +"on an empty queue." msgstr "" -#: ../Doc/library/asyncio-queue.rst:159 +#: ../Doc/library/asyncio-queue.rst:136 msgid "" -"Exception raised when the :meth:`~Queue.put_nowait` method is called on a :" -"class:`Queue` object which is full." +"Exception raised when the :meth:`~Queue.put_nowait` method is called on a " +"queue that has reached its *maxsize*." msgstr "" + +#: ../Doc/library/asyncio-queue.rst:141 +msgid "Examples" +msgstr "" + +#: ../Doc/library/asyncio-queue.rst:145 +msgid "" +"Queues can be used to distribute workload between several concurrent tasks::" +msgstr "" + +#~ msgid ":class:`Queue`" +#~ msgstr ":class:`Queue`" + +#~ msgid ":class:`PriorityQueue`" +#~ msgstr ":class:`PriorityQueue`" + +#~ msgid ":class:`LifoQueue`" +#~ msgstr ":class:`LifoQueue`" + +#~ msgid "New :meth:`join` and :meth:`task_done` methods." +#~ msgstr "Les nouvelles méthodes :meth:`join` et :meth:`task_done`." + +#~ msgid "This method is a :ref:`coroutine `." +#~ msgstr "Cette méthode est une :ref:`coroutine `." + +#~ msgid "The :meth:`empty` method." +#~ msgstr "La méthode :meth:`empty`." + +#~ msgid "Remove and return an item from the queue." +#~ msgstr "Supprime et donne un élément de la queue." + +#~ msgid "The :meth:`full` method." +#~ msgstr "La méthode :meth:`full`." diff --git a/library/asyncio-stream.po b/library/asyncio-stream.po index 25bf42a2..fb74ab47 100644 --- a/library/asyncio-stream.po +++ b/library/asyncio-stream.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-15 21:52+0200\n" -"PO-Revision-Date: 2018-07-27 23:20+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 17:36+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -15,453 +15,408 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../Doc/library/asyncio-stream.rst:7 -msgid "Streams (coroutine based API)" -msgstr "" +msgid "Streams" +msgstr "Streams" #: ../Doc/library/asyncio-stream.rst:9 -msgid "**Source code:** :source:`Lib/asyncio/streams.py`" -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:12 -msgid "Stream functions" -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:16 msgid "" -"The top-level functions in this module are meant as convenience wrappers " -"only; there's really nothing special there, and if they don't do exactly " -"what you want, feel free to copy their code." +"Streams are high-level async/await-ready primitives to work with network " +"connections. Streams allow sending and receiving data without using " +"callbacks or low-level protocols and transports." msgstr "" -#: ../Doc/library/asyncio-stream.rst:23 -msgid "" -"A wrapper for :meth:`~AbstractEventLoop.create_connection()` returning a " -"(reader, writer) pair." +#: ../Doc/library/asyncio-stream.rst:15 +msgid "Here is an example of a TCP echo client written using asyncio streams::" msgstr "" -#: ../Doc/library/asyncio-stream.rst:26 -msgid "" -"The reader returned is a :class:`StreamReader` instance; the writer is a :" -"class:`StreamWriter` instance." +#: ../Doc/library/asyncio-stream.rst:37 +msgid "See also the `Examples`_ section below." msgstr "" -#: ../Doc/library/asyncio-stream.rst:29 ../Doc/library/asyncio-stream.rst:74 -msgid "" -"When specified, the *loop* argument determines which event loop to use, and " -"the *limit* argument determines the buffer size limit used by the returned :" -"class:`StreamReader` instance." +#: ../Doc/library/asyncio-stream.rst:41 +msgid "Stream Functions" msgstr "" -#: ../Doc/library/asyncio-stream.rst:33 +#: ../Doc/library/asyncio-stream.rst:42 msgid "" -"The rest of the arguments are passed directly to :meth:`AbstractEventLoop." +"The following top-level asyncio functions can be used to create and work " +"with streams:" +msgstr "" + +#: ../Doc/library/asyncio-stream.rst:51 +msgid "" +"Establish a network connection and return a pair of ``(reader, writer)`` " +"objects." +msgstr "" + +#: ../Doc/library/asyncio-stream.rst:54 +msgid "" +"The returned *reader* and *writer* objects are instances of :class:" +"`StreamReader` and :class:`StreamWriter` classes." +msgstr "" + +#: ../Doc/library/asyncio-stream.rst:57 +msgid "" +"The *loop* argument is optional and can always be determined automatically " +"when this function is awaited from a coroutine." +msgstr "" + +#: ../Doc/library/asyncio-stream.rst:60 ../Doc/library/asyncio-stream.rst:93 +msgid "" +"*limit* determines the buffer size limit used by the returned :class:" +"`StreamReader` instance. By default the *limit* is set to 64 KiB." +msgstr "" + +#: ../Doc/library/asyncio-stream.rst:64 +msgid "" +"The rest of the arguments are passed directly to :meth:`loop." "create_connection`." msgstr "" -#: ../Doc/library/asyncio-stream.rst:36 ../Doc/library/asyncio-stream.rst:63 -#: ../Doc/library/asyncio-stream.rst:81 ../Doc/library/asyncio-stream.rst:113 -msgid "This function is a :ref:`coroutine `." -msgstr "Cette fonction est une :ref:`coroutine `." - -#: ../Doc/library/asyncio-stream.rst:40 ../Doc/library/asyncio-stream.rst:87 +#: ../Doc/library/asyncio-stream.rst:69 ../Doc/library/asyncio-stream.rst:122 msgid "The *ssl_handshake_timeout* parameter." msgstr "" -#: ../Doc/library/asyncio-stream.rst:44 -msgid "" -"Start a socket server, with a callback for each client connected. The return " -"value is the same as :meth:`~AbstractEventLoop.create_server()`." +#: ../Doc/library/asyncio-stream.rst:79 +msgid "Start a socket server." msgstr "" -#: ../Doc/library/asyncio-stream.rst:47 ../Doc/library/asyncio-stream.rst:97 +#: ../Doc/library/asyncio-stream.rst:81 msgid "" "The *client_connected_cb* callback is called whenever a new client " -"connection is established. It receives a reader/writer pair as two " -"arguments, the first is a :class:`StreamReader` instance, and the second is " -"a :class:`StreamWriter` instance." +"connection is established. It receives a ``(reader, writer)`` pair as two " +"arguments, instances of the :class:`StreamReader` and :class:`StreamWriter` " +"classes." msgstr "" -#: ../Doc/library/asyncio-stream.rst:52 ../Doc/library/asyncio-stream.rst:102 +#: ../Doc/library/asyncio-stream.rst:86 msgid "" -"*client_connected_cb* accepts a plain callable or a :ref:`coroutine function " +"*client_connected_cb* can be a plain callable or a :ref:`coroutine function " "`; if it is a coroutine function, it will be automatically " -"converted into a :class:`Task`." +"scheduled as a :class:`Task`." msgstr "" -#: ../Doc/library/asyncio-stream.rst:56 ../Doc/library/asyncio-stream.rst:106 +#: ../Doc/library/asyncio-stream.rst:90 msgid "" -"When specified, the *loop* argument determines which event loop to use, and " -"the *limit* argument determines the buffer size limit used by the :class:" -"`StreamReader` instance passed to *client_connected_cb*." +"The *loop* argument is optional and can always be determined automatically " +"when this method is awaited from a coroutine." msgstr "" -#: ../Doc/library/asyncio-stream.rst:60 +#: ../Doc/library/asyncio-stream.rst:97 msgid "" -"The rest of the arguments are passed directly to :meth:`~AbstractEventLoop." -"create_server()`." +"The rest of the arguments are passed directly to :meth:`loop.create_server`." msgstr "" -#: ../Doc/library/asyncio-stream.rst:67 ../Doc/library/asyncio-stream.rst:119 +#: ../Doc/library/asyncio-stream.rst:102 ../Doc/library/asyncio-stream.rst:144 msgid "The *ssl_handshake_timeout* and *start_serving* parameters." msgstr "" -#: ../Doc/library/asyncio-stream.rst:71 -msgid "" -"A wrapper for :meth:`~AbstractEventLoop.create_unix_connection()` returning " -"a (reader, writer) pair." +#: ../Doc/library/asyncio-stream.rst:106 +msgid "Unix Sockets" msgstr "" -#: ../Doc/library/asyncio-stream.rst:78 +#: ../Doc/library/asyncio-stream.rst:111 msgid "" -"The rest of the arguments are passed directly to :meth:`~AbstractEventLoop." -"create_unix_connection()`." +"Establish a Unix socket connection and return a pair of ``(reader, writer)``." msgstr "" -#: ../Doc/library/asyncio-stream.rst:83 ../Doc/library/asyncio-stream.rst:115 -msgid "Availability: UNIX." -msgstr "Disponible sur : UNIX." +#: ../Doc/library/asyncio-stream.rst:114 +msgid "Similar to :func:`open_connection` but operates on Unix sockets." +msgstr "" -#: ../Doc/library/asyncio-stream.rst:91 +#: ../Doc/library/asyncio-stream.rst:116 +msgid "See also the documentation of :meth:`loop.create_unix_connection`." +msgstr "" + +#: ../Doc/library/asyncio-stream.rst:118 ../Doc/library/asyncio-stream.rst:140 +msgid "Availability: Unix." +msgstr "Disponibilité : Unix." + +#: ../Doc/library/asyncio-stream.rst:126 msgid "The *path* parameter can now be a :term:`path-like object`" msgstr "" -#: ../Doc/library/asyncio-stream.rst:95 -msgid "" -"Start a UNIX Domain Socket server, with a callback for each client connected." +#: ../Doc/library/asyncio-stream.rst:134 +msgid "Start a Unix socket server." msgstr "" -#: ../Doc/library/asyncio-stream.rst:110 -msgid "" -"The rest of the arguments are passed directly to :meth:`~AbstractEventLoop." -"create_unix_server()`." +#: ../Doc/library/asyncio-stream.rst:136 +msgid "Similar to :func:`start_server` but works with Unix sockets." msgstr "" -#: ../Doc/library/asyncio-stream.rst:123 +#: ../Doc/library/asyncio-stream.rst:138 +msgid "See also the documentation of :meth:`loop.create_unix_server`." +msgstr "" + +#: ../Doc/library/asyncio-stream.rst:148 msgid "The *path* parameter can now be a :term:`path-like object`." msgstr "" -#: ../Doc/library/asyncio-stream.rst:127 +#: ../Doc/library/asyncio-stream.rst:155 msgid "StreamReader" msgstr "StreamReader" -#: ../Doc/library/asyncio-stream.rst:131 ../Doc/library/asyncio-stream.rst:229 -msgid "This class is :ref:`not thread safe `." -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:133 +#: ../Doc/library/asyncio-stream.rst:159 msgid "" -"The *limit* argument's default value is set to _DEFAULT_LIMIT which is 2**16 " -"(64 KiB)" +"Represents a reader object that provides APIs to read data from the IO " +"stream." msgstr "" -#: ../Doc/library/asyncio-stream.rst:137 -msgid "Get the exception." -msgstr "Récupère l'exception." - -#: ../Doc/library/asyncio-stream.rst:141 -msgid "Acknowledge the EOF." -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:145 +#: ../Doc/library/asyncio-stream.rst:162 msgid "" -"Feed *data* bytes in the internal buffer. Any operations waiting for the " -"data will be resumed." +"It is not recommended to instantiate *StreamReader* objects directly; use :" +"func:`open_connection` and :func:`start_server` instead." msgstr "" -#: ../Doc/library/asyncio-stream.rst:150 -msgid "Set the exception." -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:154 -msgid "Set the transport." -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:158 +#: ../Doc/library/asyncio-stream.rst:168 msgid "" "Read up to *n* bytes. If *n* is not provided, or set to ``-1``, read until " "EOF and return all read bytes." msgstr "" -#: ../Doc/library/asyncio-stream.rst:161 ../Doc/library/asyncio-stream.rst:173 +#: ../Doc/library/asyncio-stream.rst:171 msgid "" -"If the EOF was received and the internal buffer is empty, return an empty " +"If EOF was received and the internal buffer is empty, return an empty " "``bytes`` object." msgstr "" -#: ../Doc/library/asyncio-stream.rst:164 ../Doc/library/asyncio-stream.rst:176 -#: ../Doc/library/asyncio-stream.rst:185 ../Doc/library/asyncio-stream.rst:278 -msgid "This method is a :ref:`coroutine `." -msgstr "Cette méthode est une :ref:`coroutine `." - -#: ../Doc/library/asyncio-stream.rst:168 +#: ../Doc/library/asyncio-stream.rst:176 msgid "" "Read one line, where \"line\" is a sequence of bytes ending with ``\\n``." msgstr "" -#: ../Doc/library/asyncio-stream.rst:170 +#: ../Doc/library/asyncio-stream.rst:179 msgid "" -"If EOF is received, and ``\\n`` was not found, the method will return the " -"partial read bytes." +"If EOF is received and ``\\n`` was not found, the method returns partially " +"read data." msgstr "" -#: ../Doc/library/asyncio-stream.rst:180 +#: ../Doc/library/asyncio-stream.rst:182 msgid "" -"Read exactly *n* bytes. Raise an :exc:`IncompleteReadError` if the end of " -"the stream is reached before *n* can be read, the :attr:`IncompleteReadError." -"partial` attribute of the exception contains the partial read bytes." +"If EOF is received and the internal buffer is empty, return an empty " +"``bytes`` object." +msgstr "" + +#: ../Doc/library/asyncio-stream.rst:187 +msgid "Read exactly *n* bytes." msgstr "" #: ../Doc/library/asyncio-stream.rst:189 -msgid "Read data from the stream until ``separator`` is found." +msgid "" +"Raise an :exc:`IncompleteReadError` if EOF is reached before *n* can be " +"read. Use the :attr:`IncompleteReadError.partial` attribute to get the " +"partially read data." msgstr "" -#: ../Doc/library/asyncio-stream.rst:191 +#: ../Doc/library/asyncio-stream.rst:195 +msgid "Read data from the stream until *separator* is found." +msgstr "" + +#: ../Doc/library/asyncio-stream.rst:197 msgid "" "On success, the data and separator will be removed from the internal buffer " "(consumed). Returned data will include the separator at the end." msgstr "" -#: ../Doc/library/asyncio-stream.rst:195 +#: ../Doc/library/asyncio-stream.rst:201 msgid "" -"Configured stream limit is used to check result. Limit sets the maximal " -"length of data that can be returned, not counting the separator." -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:199 -msgid "" -"If an EOF occurs and the complete separator is still not found, an :exc:" -"`IncompleteReadError` exception will be raised, and the internal buffer will " -"be reset. The :attr:`IncompleteReadError.partial` attribute may contain the " -"separator partially." +"If the amount of data read exceeds the configured stream limit, a :exc:" +"`LimitOverrunError` exception is raised, and the data is left in the " +"internal buffer and can be read again." msgstr "" #: ../Doc/library/asyncio-stream.rst:205 msgid "" -"If the data cannot be read because of over limit, a :exc:`LimitOverrunError` " -"exception will be raised, and the data will be left in the internal buffer, " -"so it can be read again." +"If EOF is reached before the complete separator is found, an :exc:" +"`IncompleteReadError` exception is raised, and the internal buffer is " +"reset. The :attr:`IncompleteReadError.partial` attribute may contain a " +"portion of the separator." msgstr "" -#: ../Doc/library/asyncio-stream.rst:213 +#: ../Doc/library/asyncio-stream.rst:214 msgid "Return ``True`` if the buffer is empty and :meth:`feed_eof` was called." msgstr "" -#: ../Doc/library/asyncio-stream.rst:217 +#: ../Doc/library/asyncio-stream.rst:219 msgid "StreamWriter" msgstr "StreamWriter" -#: ../Doc/library/asyncio-stream.rst:221 -msgid "Wraps a Transport." -msgstr "" - #: ../Doc/library/asyncio-stream.rst:223 msgid "" -"This exposes :meth:`write`, :meth:`writelines`, :meth:`can_write_eof()`, :" -"meth:`write_eof`, :meth:`get_extra_info` and :meth:`close`. It adds :meth:" -"`drain` which returns an optional :class:`Future` on which you can wait for " -"flow control. It also adds a transport attribute which references the :" -"class:`Transport` directly." +"Represents a writer object that provides APIs to write data to the IO stream." msgstr "" -#: ../Doc/library/asyncio-stream.rst:233 -msgid "Transport." -msgstr "Transport." +#: ../Doc/library/asyncio-stream.rst:226 +msgid "" +"It is not recommended to instantiate *StreamWriter* objects directly; use :" +"func:`open_connection` and :func:`start_server` instead." +msgstr "" + +#: ../Doc/library/asyncio-stream.rst:232 +msgid "" +"Return *True* if the underlying transport supports the :meth:`write_eof` " +"method, *False* otherwise." +msgstr "" #: ../Doc/library/asyncio-stream.rst:237 msgid "" -"Return :const:`True` if the transport supports :meth:`write_eof`, :const:" -"`False` if not. See :meth:`WriteTransport.can_write_eof`." +"Close the write end of the stream after the buffered write data is flushed." msgstr "" #: ../Doc/library/asyncio-stream.rst:242 -msgid "Close the transport: see :meth:`BaseTransport.close`." +msgid "Return the underlying asyncio transport." msgstr "" #: ../Doc/library/asyncio-stream.rst:246 -msgid "Return ``True`` if the writer is closing or is closed." -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:252 -msgid "Wait until the writer is closed." -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:254 msgid "" -"Should be called after :meth:`close` to wait until the underlying " -"connection (and the associated transport/protocol pair) is closed." +"Access optional transport information; see :meth:`BaseTransport." +"get_extra_info` for details." msgstr "" -#: ../Doc/library/asyncio-stream.rst:261 +#: ../Doc/library/asyncio-stream.rst:251 +msgid "Write *data* to the stream." +msgstr "" + +#: ../Doc/library/asyncio-stream.rst:253 msgid "" -"Let the write buffer of the underlying transport a chance to be flushed." +"This method is not subject to flow control. Calls to ``write()`` should be " +"followed by :meth:`drain`." msgstr "" -#: ../Doc/library/asyncio-stream.rst:263 -msgid "The intended use is to write::" +#: ../Doc/library/asyncio-stream.rst:258 +msgid "Write a list (or any iterable) of bytes to the stream." msgstr "" -#: ../Doc/library/asyncio-stream.rst:268 +#: ../Doc/library/asyncio-stream.rst:260 msgid "" -"When the size of the transport buffer reaches the high-water limit (the " -"protocol is paused), block until the size of the buffer is drained down to " -"the low-water limit and the protocol is resumed. When there is nothing to " -"wait for, the yield-from continues immediately." +"This method is not subject to flow control. Calls to ``writelines()`` should " +"be followed by :meth:`drain`." msgstr "" -#: ../Doc/library/asyncio-stream.rst:273 +#: ../Doc/library/asyncio-stream.rst:265 +msgid "Wait until it is appropriate to resume writing to the stream. Example::" +msgstr "" + +#: ../Doc/library/asyncio-stream.rst:271 msgid "" -"Yielding from :meth:`drain` gives the opportunity for the loop to schedule " -"the write operation and flush the buffer. It should especially be used when " -"a possibly large amount of data is written to the transport, and the " -"coroutine does not yield-from between calls to :meth:`write`." +"This is a flow control method that interacts with the underlying IO write " +"buffer. When the size of the buffer reaches the high watermark, *drain()* " +"blocks until the size of the buffer is drained down to the low watermark and " +"writing can be resumed. When there is nothing to wait for, the :meth:" +"`drain` returns immediately." msgstr "" -#: ../Doc/library/asyncio-stream.rst:282 +#: ../Doc/library/asyncio-stream.rst:280 +msgid "Close the stream." +msgstr "" + +#: ../Doc/library/asyncio-stream.rst:284 msgid "" -"Return optional transport information: see :meth:`BaseTransport." -"get_extra_info`." +"Return ``True`` if the stream is closed or in the process of being closed." msgstr "" -#: ../Doc/library/asyncio-stream.rst:287 +#: ../Doc/library/asyncio-stream.rst:291 +msgid "Wait until the stream is closed." +msgstr "" + +#: ../Doc/library/asyncio-stream.rst:293 msgid "" -"Write some *data* bytes to the transport: see :meth:`WriteTransport.write`." +"Should be called after :meth:`close` to wait until the underlying connection " +"is closed." msgstr "" -#: ../Doc/library/asyncio-stream.rst:292 -msgid "" -"Write a list (or any iterable) of data bytes to the transport: see :meth:" -"`WriteTransport.writelines`." +#: ../Doc/library/asyncio-stream.rst:300 +msgid "Examples" msgstr "" -#: ../Doc/library/asyncio-stream.rst:297 -msgid "" -"Close the write end of the transport after flushing buffered data: see :meth:" -"`WriteTransport.write_eof`." -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:302 -msgid "StreamReaderProtocol" -msgstr "StreamReaderProtocol" - -#: ../Doc/library/asyncio-stream.rst:306 -msgid "" -"Trivial helper class to adapt between :class:`Protocol` and :class:" -"`StreamReader`. Subclass of :class:`Protocol`." -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:309 -msgid "" -"*stream_reader* is a :class:`StreamReader` instance, *client_connected_cb* " -"is an optional function called with (stream_reader, stream_writer) when a " -"connection is made, *loop* is the event loop instance to use." -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:313 -msgid "" -"(This is a helper class instead of making :class:`StreamReader` itself a :" -"class:`Protocol` subclass, because the :class:`StreamReader` has other " -"potential uses, and to prevent the user of the :class:`StreamReader` from " -"accidentally calling inappropriate methods of the protocol.)" -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:320 -msgid "IncompleteReadError" -msgstr "IncompleteReadError" - -#: ../Doc/library/asyncio-stream.rst:324 -msgid "Incomplete read error, subclass of :exc:`EOFError`." -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:328 -msgid "Total number of expected bytes (:class:`int`)." -msgstr "Nombre total d'octets attendus (:class:`int`)." - -#: ../Doc/library/asyncio-stream.rst:332 -msgid "" -"Read bytes string before the end of stream was reached (:class:`bytes`)." -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:336 -msgid "LimitOverrunError" -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:340 -msgid "Reached the buffer limit while looking for a separator." -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:344 -msgid "Total number of to be consumed bytes." -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:348 -msgid "Stream examples" -msgstr "" - -#: ../Doc/library/asyncio-stream.rst:353 +#: ../Doc/library/asyncio-stream.rst:305 msgid "TCP echo client using streams" msgstr "" -#: ../Doc/library/asyncio-stream.rst:355 +#: ../Doc/library/asyncio-stream.rst:307 msgid "TCP echo client using the :func:`asyncio.open_connection` function::" msgstr "" -#: ../Doc/library/asyncio-stream.rst:379 +#: ../Doc/library/asyncio-stream.rst:329 msgid "" -"The :ref:`TCP echo client protocol ` " -"example uses the :meth:`AbstractEventLoop.create_connection` method." +"The :ref:`TCP echo client protocol " +"` example uses the low-level :meth:" +"`loop.create_connection` method." msgstr "" -#: ../Doc/library/asyncio-stream.rst:386 +#: ../Doc/library/asyncio-stream.rst:336 msgid "TCP echo server using streams" msgstr "" -#: ../Doc/library/asyncio-stream.rst:388 +#: ../Doc/library/asyncio-stream.rst:338 msgid "TCP echo server using the :func:`asyncio.start_server` function::" msgstr "" -#: ../Doc/library/asyncio-stream.rst:423 +#: ../Doc/library/asyncio-stream.rst:371 msgid "" -"The :ref:`TCP echo server protocol ` " -"example uses the :meth:`AbstractEventLoop.create_server` method." +"The :ref:`TCP echo server protocol " +"` example uses the :meth:`loop." +"create_server` method." msgstr "" -#: ../Doc/library/asyncio-stream.rst:428 +#: ../Doc/library/asyncio-stream.rst:376 msgid "Get HTTP headers" msgstr "Récupère les en-têtes HTTP" -#: ../Doc/library/asyncio-stream.rst:430 +#: ../Doc/library/asyncio-stream.rst:378 msgid "" "Simple example querying HTTP headers of the URL passed on the command line::" msgstr "" -#: ../Doc/library/asyncio-stream.rst:464 +#: ../Doc/library/asyncio-stream.rst:416 msgid "Usage::" msgstr "Utilisation ::" -#: ../Doc/library/asyncio-stream.rst:468 +#: ../Doc/library/asyncio-stream.rst:420 msgid "or with HTTPS::" msgstr "ou avec HTTPS ::" -#: ../Doc/library/asyncio-stream.rst:475 +#: ../Doc/library/asyncio-stream.rst:428 msgid "Register an open socket to wait for data using streams" msgstr "" -#: ../Doc/library/asyncio-stream.rst:477 +#: ../Doc/library/asyncio-stream.rst:430 msgid "" "Coroutine waiting until a socket receives data using the :func:" "`open_connection` function::" msgstr "" -#: ../Doc/library/asyncio-stream.rst:509 +#: ../Doc/library/asyncio-stream.rst:464 msgid "" -"The :ref:`register an open socket to wait for data using a protocol ` example uses a low-level protocol created by the :meth:" -"`AbstractEventLoop.create_connection` method." +"The :ref:`register an open socket to wait for data using a protocol " +"` example uses a low-level protocol and " +"the :meth:`loop.create_connection` method." msgstr "" -#: ../Doc/library/asyncio-stream.rst:513 +#: ../Doc/library/asyncio-stream.rst:468 msgid "" -"The :ref:`watch a file descriptor for read events ` example uses the low-level :meth:`AbstractEventLoop.add_reader` " -"method to register the file descriptor of a socket." +"The :ref:`watch a file descriptor for read events " +"` example uses the low-level :meth:`loop." +"add_reader` method to watch a file descriptor." msgstr "" + +#~ msgid "This function is a :ref:`coroutine `." +#~ msgstr "Cette fonction est une :ref:`coroutine `." + +#~ msgid "Get the exception." +#~ msgstr "Récupère l'exception." + +#~ msgid "This method is a :ref:`coroutine `." +#~ msgstr "Cette méthode est une :ref:`coroutine `." + +#~ msgid "Transport." +#~ msgstr "Transport." + +#~ msgid "StreamReaderProtocol" +#~ msgstr "StreamReaderProtocol" + +#~ msgid "IncompleteReadError" +#~ msgstr "IncompleteReadError" + +#~ msgid "Total number of expected bytes (:class:`int`)." +#~ msgstr "Nombre total d'octets attendus (:class:`int`)." diff --git a/library/asyncio-subprocess.po b/library/asyncio-subprocess.po index 3e5bf44f..af3385b1 100644 --- a/library/asyncio-subprocess.po +++ b/library/asyncio-subprocess.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" -"PO-Revision-Date: 2018-07-27 23:31+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 11:41+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -14,445 +14,422 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../Doc/library/asyncio-subprocess.rst:6 -msgid "Subprocess" -msgstr "" +#: ../Doc/library/asyncio-subprocess.rst:7 +msgid "Subprocesses" +msgstr "Processus fils" -#: ../Doc/library/asyncio-subprocess.rst:8 -msgid "**Source code:** :source:`Lib/asyncio/subprocess.py`" -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:11 -msgid "Windows event loop" -msgstr "Boucle d'évènements Windows" - -#: ../Doc/library/asyncio-subprocess.rst:13 +#: ../Doc/library/asyncio-subprocess.rst:9 msgid "" -"On Windows, the default event loop is :class:`SelectorEventLoop` which does " -"not support subprocesses. :class:`ProactorEventLoop` should be used instead. " -"Example to use it on Windows::" +"This section describes high-level async/await asyncio APIs to create and " +"manage subprocesses." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:25 +#: ../Doc/library/asyncio-subprocess.rst:14 msgid "" -":ref:`Available event loops ` and :ref:`Platform " -"support `." +"Here's an example of how asyncio can run a shell command and obtain its " +"result::" msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:30 -msgid "Create a subprocess: high-level API using Process" -msgstr "Créer un processus fils : API de haut niveau utilisant ``Process``" - -#: ../Doc/library/asyncio-subprocess.rst:34 -msgid "Create a subprocess." +#: ../Doc/library/asyncio-subprocess.rst:35 +msgid "will print::" msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:36 +#: ../Doc/library/asyncio-subprocess.rst:41 msgid "" -"The *limit* parameter sets the buffer limit passed to the :class:" -"`StreamReader`. See :meth:`AbstractEventLoop.subprocess_exec` for other " -"parameters." +"Because all asyncio subprocess functions are asynchronous and asyncio " +"provides many tools to work with such functions, it is easy to execute and " +"monitor multiple subprocesses in parallel. It is indeed trivial to modify " +"the above example to run several commands simultaneously::" msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:40 -#: ../Doc/library/asyncio-subprocess.rst:52 -msgid "Return a :class:`~asyncio.subprocess.Process` instance." +#: ../Doc/library/asyncio-subprocess.rst:53 +msgid "See also the `Examples`_ subsection." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:42 -#: ../Doc/library/asyncio-subprocess.rst:61 -msgid "This function is a :ref:`coroutine `." -msgstr "Cette fonction est une :ref:`coroutine `." - -#: ../Doc/library/asyncio-subprocess.rst:46 -msgid "Run the shell command *cmd*." -msgstr "Exécute la commande *shell* *cmd*." - -#: ../Doc/library/asyncio-subprocess.rst:48 -msgid "" -"The *limit* parameter sets the buffer limit passed to the :class:" -"`StreamReader`. See :meth:`AbstractEventLoop.subprocess_shell` for other " -"parameters." -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:54 -#: ../Doc/library/asyncio-subprocess.rst:137 -msgid "" -"It is the application's responsibility to ensure that all whitespace and " -"metacharacters are quoted appropriately to avoid `shell injection `_ vulnerabilities. " -"The :func:`shlex.quote` function can be used to properly escape whitespace " -"and shell metacharacters in strings that are going to be used to construct " -"shell commands." +#: ../Doc/library/asyncio-subprocess.rst:57 +msgid "Creating Subprocesses" msgstr "" #: ../Doc/library/asyncio-subprocess.rst:63 +msgid "Create a subprocess." +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:65 +#: ../Doc/library/asyncio-subprocess.rst:80 msgid "" -"Use the :meth:`AbstractEventLoop.connect_read_pipe` and :meth:" -"`AbstractEventLoop.connect_write_pipe` methods to connect pipes." +"The *limit* argument sets the buffer limit for :class:`StreamReader` " +"wrappers for :attr:`Process.stdout` and :attr:`Process.stderr` (if :attr:" +"`subprocess.PIPE` is passed to *stdout* and *stderr* arguments)." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:68 -msgid "Create a subprocess: low-level API using subprocess.Popen" +#: ../Doc/library/asyncio-subprocess.rst:69 +#: ../Doc/library/asyncio-subprocess.rst:84 +msgid "Return a :class:`~asyncio.subprocess.Process` instance." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:70 -msgid "Run subprocesses asynchronously using the :mod:`subprocess` module." -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:74 +#: ../Doc/library/asyncio-subprocess.rst:71 msgid "" -"Create a subprocess from one or more string arguments (character strings or " -"bytes strings encoded to the :ref:`filesystem encoding `), where the first string specifies the program to execute, and " -"the remaining strings specify the program's arguments. (Thus, together the " -"string arguments form the ``sys.argv`` value of the program, assuming it is " -"a Python script.) This is similar to the standard library :class:`subprocess." -"Popen` class called with shell=False and the list of strings passed as the " -"first argument; however, where :class:`~subprocess.Popen` takes a single " -"argument which is list of strings, :func:`subprocess_exec` takes multiple " -"string arguments." +"See the documentation of :meth:`loop.subprocess_exec` for other parameters." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:85 -#: ../Doc/library/asyncio-subprocess.rst:128 +#: ../Doc/library/asyncio-subprocess.rst:78 +msgid "Run the *cmd* shell command." +msgstr "Exécute la commande *cmd* dans un *shell*." + +#: ../Doc/library/asyncio-subprocess.rst:86 msgid "" -"The *protocol_factory* must instantiate a subclass of the :class:`asyncio." -"SubprocessProtocol` class." +"See the documentation of :meth:`loop.subprocess_shell` for other parameters." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:88 -msgid "Other parameters:" -msgstr "Autres paramètres :" - -#: ../Doc/library/asyncio-subprocess.rst:90 +#: ../Doc/library/asyncio-subprocess.rst:91 msgid "" -"*stdin*: Either a file-like object representing the pipe to be connected to " -"the subprocess's standard input stream using :meth:`~AbstractEventLoop." -"connect_write_pipe`, or the constant :const:`subprocess.PIPE` (the default). " -"By default a new pipe will be created and connected." +"It is the application's responsibility to ensure that all whitespace and " +"special characters are quoted appropriately to avoid `shell injection " +"`_ " +"vulnerabilities. The :func:`shlex.quote` function can be used to properly " +"escape whitespace and special shell characters in strings that are going to " +"be used to construct shell commands." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:96 +#: ../Doc/library/asyncio-subprocess.rst:100 msgid "" -"*stdout*: Either a file-like object representing the pipe to be connected to " -"the subprocess's standard output stream using :meth:`~AbstractEventLoop." -"connect_read_pipe`, or the constant :const:`subprocess.PIPE` (the default). " -"By default a new pipe will be created and connected." +"The default asyncio event loop implementation on **Windows** does not " +"support subprocesses. Subprocesses are available for Windows if a :class:" +"`ProactorEventLoop` is used. See :ref:`Subprocess Support on Windows " +"` for details." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:102 +#: ../Doc/library/asyncio-subprocess.rst:108 msgid "" -"*stderr*: Either a file-like object representing the pipe to be connected to " -"the subprocess's standard error stream using :meth:`~AbstractEventLoop." -"connect_read_pipe`, or one of the constants :const:`subprocess.PIPE` (the " -"default) or :const:`subprocess.STDOUT`. By default a new pipe will be " -"created and connected. When :const:`subprocess.STDOUT` is specified, the " -"subprocess's standard error stream will be connected to the same pipe as the " -"standard output stream." +"asyncio also has the following *low-level* APIs to work with subprocesses: :" +"meth:`loop.subprocess_exec`, :meth:`loop.subprocess_shell`, :meth:`loop." +"connect_read_pipe`, :meth:`loop.connect_write_pipe`, as well as the :ref:" +"`Subprocess Transports ` and :ref:`Subprocess " +"Protocols `." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:110 -msgid "" -"All other keyword arguments are passed to :class:`subprocess.Popen` without " -"interpretation, except for *bufsize*, *universal_newlines* and *shell*, " -"which should not be specified at all." -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:114 -#: ../Doc/library/asyncio-subprocess.rst:134 -msgid "" -"Returns a pair of ``(transport, protocol)``, where *transport* is an " -"instance of :class:`BaseSubprocessTransport`." -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:117 -#: ../Doc/library/asyncio-subprocess.rst:144 -#: ../Doc/library/asyncio-subprocess.rst:206 -#: ../Doc/library/asyncio-subprocess.rst:234 -msgid "This method is a :ref:`coroutine `." -msgstr "Cette méthode est une :ref:`coroutine `." - -#: ../Doc/library/asyncio-subprocess.rst:119 -msgid "" -"See the constructor of the :class:`subprocess.Popen` class for parameters." -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:123 -msgid "" -"Create a subprocess from *cmd*, which is a character string or a bytes " -"string encoded to the :ref:`filesystem encoding `, " -"using the platform's \"shell\" syntax. This is similar to the standard " -"library :class:`subprocess.Popen` class called with ``shell=True``." -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:131 -msgid "" -"See :meth:`~AbstractEventLoop.subprocess_exec` for more details about the " -"remaining arguments." -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:148 -msgid "" -"The :meth:`AbstractEventLoop.connect_read_pipe` and :meth:`AbstractEventLoop." -"connect_write_pipe` methods." -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:153 +#: ../Doc/library/asyncio-subprocess.rst:116 msgid "Constants" msgstr "Constantes" +#: ../Doc/library/asyncio-subprocess.rst:120 +msgid "Can be passed to the *stdin*, *stdout* or *stderr* parameters." +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:122 +msgid "" +"If *PIPE* is passed to *stdin* argument, the :attr:`Process.stdin ` attribute will point to a :class:`StreamWriter` " +"instance." +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:126 +msgid "" +"If *PIPE* is passed to *stdout* or *stderr* arguments, the :attr:`Process." +"stdout ` and :attr:`Process.stderr " +"` attributes will point to :class:" +"`StreamReader` instances." +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:133 +msgid "" +"Special value that can be used as the *stderr* argument and indicates that " +"standard error should be redirected into standard output." +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:138 +msgid "" +"Special value that can be used as the *stdin*, *stdout* or *stderr* argument " +"to process creation functions. It indicates that the special file :data:`os." +"devnull` will be used for the corresponding subprocess stream." +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:144 +msgid "Interacting with Subprocesses" +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:146 +msgid "" +"Both :func:`create_subprocess_exec` and :func:`create_subprocess_shell` " +"functions return instances of the *Process* class. *Process* is a high-" +"level wrapper that allows communicating with subprocesses and watching for " +"their completion." +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:153 +msgid "" +"An object that wraps OS processes created by the :func:" +"`create_subprocess_exec` and :func:`create_subprocess_shell` functions." +msgstr "" + #: ../Doc/library/asyncio-subprocess.rst:157 msgid "" -"Special value that can be used as the *stdin*, *stdout* or *stderr* argument " -"to :func:`create_subprocess_shell` and :func:`create_subprocess_exec` and " -"indicates that a pipe to the standard stream should be opened." +"This class is designed to have a similar API to the :class:`subprocess." +"Popen` class, but there are some notable differences:" msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:163 +#: ../Doc/library/asyncio-subprocess.rst:161 msgid "" -"Special value that can be used as the *stderr* argument to :func:" -"`create_subprocess_shell` and :func:`create_subprocess_exec` and indicates " -"that standard error should go into the same handle as standard output." +"unlike Popen, Process instances do not have an equivalent to the :meth:" +"`~subprocess.Popen.poll` method;" msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:170 +#: ../Doc/library/asyncio-subprocess.rst:164 msgid "" -"Special value that can be used as the *stdin*, *stdout* or *stderr* argument " -"to :func:`create_subprocess_shell` and :func:`create_subprocess_exec` and " -"indicates that the special file :data:`os.devnull` will be used." +"the :meth:`~asyncio.subprocess.Process.communicate` and :meth:`~asyncio." +"subprocess.Process.wait` methods don't have a *timeout* parameter: use the :" +"func:`wait_for` function;" +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:168 +msgid "" +"the :meth:`Process.wait() ` method is " +"asynchronous, whereas :meth:`subprocess.Popen.wait` method is implemented as " +"a blocking busy loop;" +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:172 +msgid "the *universal_newlines* parameter is not supported." +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:174 +msgid "This class is :ref:`not thread safe `." msgstr "" #: ../Doc/library/asyncio-subprocess.rst:176 -msgid "Process" +msgid "" +"See also the :ref:`Subprocess and Threads ` " +"section." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:180 -msgid "" -"A subprocess created by the :func:`create_subprocess_exec` or the :func:" -"`create_subprocess_shell` function." +#: ../Doc/library/asyncio-subprocess.rst:181 +msgid "Wait for the child process to terminate." msgstr "" #: ../Doc/library/asyncio-subprocess.rst:183 -msgid "" -"The API of the :class:`~asyncio.subprocess.Process` class was designed to be " -"close to the API of the :class:`subprocess.Popen` class, but there are some " -"differences:" +msgid "Set and return the :attr:`returncode` attribute." msgstr "" #: ../Doc/library/asyncio-subprocess.rst:187 -msgid "There is no explicit :meth:`~subprocess.Popen.poll` method" +msgid "" +"This method can deadlock when using ``stdout=PIPE`` or ``stderr=PIPE`` and " +"the child process generates so much output that it blocks waiting for the OS " +"pipe buffer to accept more data. Use the :meth:`communicate` method when " +"using pipes to avoid this condition." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:188 -msgid "" -"The :meth:`~subprocess.Popen.communicate` and :meth:`~subprocess.Popen.wait` " -"methods don't take a *timeout* parameter: use the :func:`wait_for` function" +#: ../Doc/library/asyncio-subprocess.rst:195 +msgid "Interact with process:" msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:191 -msgid "" -"The *universal_newlines* parameter is not supported (only bytes strings are " -"supported)" -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:193 -msgid "" -"The :meth:`~asyncio.subprocess.Process.wait` method of the :class:`~asyncio." -"subprocess.Process` class is asynchronous whereas the :meth:`~subprocess." -"Popen.wait` method of the :class:`~subprocess.Popen` class is implemented as " -"a busy loop." +#: ../Doc/library/asyncio-subprocess.rst:197 +msgid "send data to *stdin* (if *input* is not ``None``);" msgstr "" #: ../Doc/library/asyncio-subprocess.rst:198 -msgid "" -"This class is :ref:`not thread safe `. See also the :" -"ref:`Subprocess and threads ` section." +msgid "read data from *stdout* and *stderr*, until EOF is reached;" msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:203 -msgid "" -"Wait for child process to terminate. Set and return :attr:`returncode` " -"attribute." +#: ../Doc/library/asyncio-subprocess.rst:199 +msgid "wait for process to terminate." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:210 +#: ../Doc/library/asyncio-subprocess.rst:201 msgid "" -"This will deadlock when using ``stdout=PIPE`` or ``stderr=PIPE`` and the " -"child process generates enough output to a pipe such that it blocks waiting " -"for the OS pipe buffer to accept more data. Use the :meth:`communicate` " -"method when using pipes to avoid that." +"The optional *input* argument is the data (:class:`bytes` object) that will " +"be sent to the child process." +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:204 +msgid "Return a tuple ``(stdout_data, stderr_data)``." +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:206 +msgid "" +"If either :exc:`BrokenPipeError` or :exc:`ConnectionResetError` exception is " +"raised when writing *input* into *stdin*, the exception is ignored. This " +"condition occurs when the process exits before all data are written into " +"*stdin*." +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:211 +msgid "" +"If it is desired to send data to the process' *stdin*, the process needs to " +"be created with ``stdin=PIPE``. Similarly, to get anything other than " +"``None`` in the result tuple, the process has to be created with " +"``stdout=PIPE`` and/or ``stderr=PIPE`` arguments." msgstr "" #: ../Doc/library/asyncio-subprocess.rst:217 msgid "" -"Interact with process: Send data to stdin. Read data from stdout and " -"stderr, until end-of-file is reached. Wait for process to terminate. The " -"optional *input* argument should be data to be sent to the child process, or " -"``None``, if no data should be sent to the child. The type of *input* must " -"be bytes." +"Note, that the data read is buffered in memory, so do not use this method if " +"the data size is large or unlimited." msgstr "" +"Notez que les données lues sont mises en cache en mémoire, donc n'utilisez " +"pas cette méthode si la taille des données est importante voire illimitée." -#: ../Doc/library/asyncio-subprocess.rst:223 -msgid ":meth:`communicate` returns a tuple ``(stdout_data, stderr_data)``." -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:225 -msgid "" -"If a :exc:`BrokenPipeError` or :exc:`ConnectionResetError` exception is " -"raised when writing *input* into stdin, the exception is ignored. It occurs " -"when the process exits before all data are written into stdin." -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:229 -msgid "" -"Note that if you want to send data to the process's stdin, you need to " -"create the Process object with ``stdin=PIPE``. Similarly, to get anything " -"other than ``None`` in the result tuple, you need to give ``stdout=PIPE`` " -"and/or ``stderr=PIPE`` too." -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:238 -msgid "" -"The data read is buffered in memory, so do not use this method if the data " -"size is large or unlimited." -msgstr "" -"Les données lues sont mises en cache en mémoire, donc n'utilisez pas cette " -"méthode si la taille des données est importante voire illimitée." - -#: ../Doc/library/asyncio-subprocess.rst:241 -msgid "" -"The method now ignores :exc:`BrokenPipeError` and :exc:" -"`ConnectionResetError`." -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:247 +#: ../Doc/library/asyncio-subprocess.rst:222 msgid "Sends the signal *signal* to the child process." msgstr "Envoie le signal *signal* au processus fils." -#: ../Doc/library/asyncio-subprocess.rst:251 +#: ../Doc/library/asyncio-subprocess.rst:226 msgid "" "On Windows, :py:data:`SIGTERM` is an alias for :meth:`terminate`. " "``CTRL_C_EVENT`` and ``CTRL_BREAK_EVENT`` can be sent to processes started " "with a *creationflags* parameter which includes ``CREATE_NEW_PROCESS_GROUP``." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:258 +#: ../Doc/library/asyncio-subprocess.rst:233 +msgid "Stop the child process." +msgstr "Arrête le processus fils." + +#: ../Doc/library/asyncio-subprocess.rst:235 msgid "" -"Stop the child. On Posix OSs the method sends :py:data:`signal.SIGTERM` to " -"the child. On Windows the Win32 API function :c:func:`TerminateProcess` is " -"called to stop the child." +"On POSIX systems this method sends :py:data:`signal.SIGTERM` to the child " +"process." +msgstr "" +"Sur les systèmes POSIX, cette méthode envoie un :py:data:`signal.SIGTERM` au " +"processus fils." + +#: ../Doc/library/asyncio-subprocess.rst:238 +msgid "" +"On Windows the Win32 API function :c:func:`TerminateProcess` is called to " +"stop the child process." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:264 -msgid "" -"Kills the child. On Posix OSs the function sends :py:data:`SIGKILL` to the " -"child. On Windows :meth:`kill` is an alias for :meth:`terminate`." +#: ../Doc/library/asyncio-subprocess.rst:243 +msgid "Kill the child." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:269 +#: ../Doc/library/asyncio-subprocess.rst:245 msgid "" -"Standard input stream (:class:`StreamWriter`), ``None`` if the process was " +"On POSIX systems this method sends :py:data:`SIGKILL` to the child process." +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:248 +msgid "On Windows this method is an alias for :meth:`terminate`." +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:252 +msgid "" +"Standard input stream (:class:`StreamWriter`) or ``None`` if the process was " "created with ``stdin=None``." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:274 +#: ../Doc/library/asyncio-subprocess.rst:257 msgid "" -"Standard output stream (:class:`StreamReader`), ``None`` if the process was " -"created with ``stdout=None``." +"Standard output stream (:class:`StreamReader`) or ``None`` if the process " +"was created with ``stdout=None``." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:279 +#: ../Doc/library/asyncio-subprocess.rst:262 msgid "" -"Standard error stream (:class:`StreamReader`), ``None`` if the process was " +"Standard error stream (:class:`StreamReader`) or ``None`` if the process was " "created with ``stderr=None``." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:284 +#: ../Doc/library/asyncio-subprocess.rst:267 msgid "" -"Use the :meth:`communicate` method rather than :attr:`.stdin.write " -"`, :attr:`.stdout.read ` or :attr:`.stderr.read ` to " -"avoid deadlocks due to streams pausing reading or writing and blocking the " -"child process." +"Use the :meth:`communicate` method rather than :attr:`process.stdin.write() " +"`, :attr:`await process.stdout.read() ` or :attr:`await " +"process.stderr.read `. This avoids deadlocks due to streams pausing " +"reading or writing and blocking the child process." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:291 -msgid "The identifier of the process." -msgstr "L'identifiant du processus." +#: ../Doc/library/asyncio-subprocess.rst:276 +msgid "Process identification number (PID)." +msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:293 +#: ../Doc/library/asyncio-subprocess.rst:278 msgid "" "Note that for processes created by the :func:`create_subprocess_shell` " -"function, this attribute is the process identifier of the spawned shell." +"function, this attribute is the PID of the spawned shell." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:298 -msgid "" -"Return code of the process when it exited. A ``None`` value indicates that " -"the process has not terminated yet." +#: ../Doc/library/asyncio-subprocess.rst:283 +msgid "Return code of the process when it exits." msgstr "" +#: ../Doc/library/asyncio-subprocess.rst:285 +msgid "A ``None`` value indicates that the process has not terminated yet." +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:287 +msgid "" +"A negative value ``-N`` indicates that the child was terminated by signal " +"``N`` (POSIX only)." +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:294 +msgid "Subprocess and Threads" +msgstr "Processus fils et fils d'exécution" + +#: ../Doc/library/asyncio-subprocess.rst:296 +msgid "" +"Standard asyncio event loop supports running subprocesses from different " +"threads, but there are limitations:" +msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:299 +msgid "An event loop must run in the main thread." +msgstr "" +"Une boucle d'évènements doit être exécutée sur le fil d'exécution principal." + #: ../Doc/library/asyncio-subprocess.rst:301 msgid "" -"A negative value ``-N`` indicates that the child was terminated by signal " -"``N`` (Unix only)." -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:308 -msgid "Subprocess and threads" -msgstr "Processus fils et fils d'exécution" - -#: ../Doc/library/asyncio-subprocess.rst:310 -msgid "" -"asyncio supports running subprocesses from different threads, but there are " -"limits:" -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:313 -msgid "An event loop must run in the main thread" -msgstr "" -"Une boucle d'évènements doit être exécutée sur le fil d'exécution principal" - -#: ../Doc/library/asyncio-subprocess.rst:314 -msgid "" -"The child watcher must be instantiated in the main thread, before executing " +"The child watcher must be instantiated in the main thread before executing " "subprocesses from other threads. Call the :func:`get_child_watcher` function " "in the main thread to instantiate the child watcher." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:318 -msgid "The :class:`asyncio.subprocess.Process` class is not thread safe." +#: ../Doc/library/asyncio-subprocess.rst:306 +msgid "" +"Note that alternative event loop implementations might not share the above " +"limitations; please refer to their documentation." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:322 +#: ../Doc/library/asyncio-subprocess.rst:311 msgid "" "The :ref:`Concurrency and multithreading in asyncio ` section." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:327 -msgid "Subprocess examples" +#: ../Doc/library/asyncio-subprocess.rst:316 +msgid "Examples" msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:330 -msgid "Subprocess using transport and protocol" -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:332 +#: ../Doc/library/asyncio-subprocess.rst:318 msgid "" -"Example of a subprocess protocol using to get the output of a subprocess and " -"to wait for the subprocess exit. The subprocess is created by the :meth:" -"`AbstractEventLoop.subprocess_exec` method::" +"An example using the :class:`~asyncio.subprocess.Process` class to control a " +"subprocess and the :class:`StreamReader` class to read from its standard " +"output." msgstr "" -#: ../Doc/library/asyncio-subprocess.rst:385 -msgid "Subprocess using streams" -msgstr "" - -#: ../Doc/library/asyncio-subprocess.rst:387 +#: ../Doc/library/asyncio-subprocess.rst:324 msgid "" -"Example using the :class:`~asyncio.subprocess.Process` class to control the " -"subprocess and the :class:`StreamReader` class to read from the standard " -"output. The subprocess is created by the :func:`create_subprocess_exec` " -"function::" +"The subprocess is created by the :func:`create_subprocess_exec` function::" msgstr "" + +#: ../Doc/library/asyncio-subprocess.rst:355 +msgid "" +"See also the :ref:`same example ` written " +"using low-level APIs." +msgstr "" + +#~ msgid "Windows event loop" +#~ msgstr "Boucle d'évènements Windows" + +#~ msgid "Create a subprocess: high-level API using Process" +#~ msgstr "Créer un processus fils : API de haut niveau utilisant ``Process``" + +#~ msgid "This function is a :ref:`coroutine `." +#~ msgstr "Cette fonction est une :ref:`coroutine `." + +#~ msgid "Other parameters:" +#~ msgstr "Autres paramètres :" + +#~ msgid "This method is a :ref:`coroutine `." +#~ msgstr "Cette méthode est une :ref:`coroutine `." + +#~ msgid "The identifier of the process." +#~ msgstr "L'identifiant du processus." diff --git a/library/asyncio-sync.po b/library/asyncio-sync.po index 32e16ca3..15b097e7 100644 --- a/library/asyncio-sync.po +++ b/library/asyncio-sync.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-15 21:52+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 17:26+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -14,389 +14,349 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../Doc/library/asyncio-sync.rst:5 -msgid "Synchronization primitives" -msgstr "" - #: ../Doc/library/asyncio-sync.rst:7 -msgid "**Source code:** :source:`Lib/asyncio/locks.py`" +msgid "Synchronization Primitives" msgstr "" #: ../Doc/library/asyncio-sync.rst:9 -msgid "Locks:" +msgid "" +"asyncio synchronization primitives are designed to be similar to those of " +"the :mod:`threading` module with two important caveats:" msgstr "" -#: ../Doc/library/asyncio-sync.rst:11 +#: ../Doc/library/asyncio-sync.rst:12 +msgid "" +"asyncio primitives are not thread-safe, therefore they should not be used " +"for OS thread synchronization (use :mod:`threading` for that);" +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:16 +msgid "" +"methods of these synchronization primitives do not accept the *timeout* " +"argument; use the :func:`asyncio.wait_for` function to perform operations " +"with timeouts." +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:20 +msgid "asyncio has the following basic sychronization primitives:" +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:22 msgid ":class:`Lock`" msgstr ":class:`Lock`" -#: ../Doc/library/asyncio-sync.rst:12 +#: ../Doc/library/asyncio-sync.rst:23 msgid ":class:`Event`" msgstr ":class:`Event`" -#: ../Doc/library/asyncio-sync.rst:13 +#: ../Doc/library/asyncio-sync.rst:24 msgid ":class:`Condition`" msgstr ":class:`Condition`" -#: ../Doc/library/asyncio-sync.rst:15 -msgid "Semaphores:" -msgstr "Sémaphores :" - -#: ../Doc/library/asyncio-sync.rst:17 +#: ../Doc/library/asyncio-sync.rst:25 msgid ":class:`Semaphore`" msgstr ":class:`Semaphore`" -#: ../Doc/library/asyncio-sync.rst:18 +#: ../Doc/library/asyncio-sync.rst:26 msgid ":class:`BoundedSemaphore`" msgstr ":class:`BoundedSemaphore`" -#: ../Doc/library/asyncio-sync.rst:20 -msgid "" -"asyncio lock API was designed to be close to classes of the :mod:`threading` " -"module (:class:`~threading.Lock`, :class:`~threading.Event`, :class:" -"`~threading.Condition`, :class:`~threading.Semaphore`, :class:`~threading." -"BoundedSemaphore`), but it has no *timeout* parameter. The :func:`asyncio." -"wait_for` function can be used to cancel a task after a timeout." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:28 +#: ../Doc/library/asyncio-sync.rst:33 msgid "Lock" msgstr "" -#: ../Doc/library/asyncio-sync.rst:32 -msgid "Primitive lock objects." +#: ../Doc/library/asyncio-sync.rst:37 +msgid "Implements a mutex lock for asyncio tasks. Not thread-safe." msgstr "" -#: ../Doc/library/asyncio-sync.rst:34 +#: ../Doc/library/asyncio-sync.rst:39 msgid "" -"A primitive lock is a synchronization primitive that is not owned by a " -"particular coroutine when locked. A primitive lock is in one of two states, " -"'locked' or 'unlocked'." +"An asyncio lock can be used to guarantee exclusive access to a shared " +"resource." msgstr "" -#: ../Doc/library/asyncio-sync.rst:38 -msgid "" -"The lock is created in the unlocked state. It has two basic methods, :meth:" -"`acquire` and :meth:`release`. When the state is unlocked, acquire() changes " -"the state to locked and returns immediately. When the state is locked, " -"acquire() blocks until a call to release() in another coroutine changes it " -"to unlocked, then the acquire() call resets it to locked and returns. The " -"release() method should only be called in the locked state; it changes the " -"state to unlocked and returns immediately. If an attempt is made to release " -"an unlocked lock, a :exc:`RuntimeError` will be raised." +#: ../Doc/library/asyncio-sync.rst:42 +msgid "The preferred way to use a Lock is an :keyword:`async with` statement::" msgstr "" -#: ../Doc/library/asyncio-sync.rst:48 -msgid "" -"When more than one coroutine is blocked in acquire() waiting for the state " -"to turn to unlocked, only one coroutine proceeds when a release() call " -"resets the state to unlocked; first coroutine which is blocked in acquire() " -"is being processed." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:53 -msgid ":meth:`acquire` is a coroutine and should be called with ``await``." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:55 -msgid "" -"Locks support the :ref:`context management protocol `." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:57 ../Doc/library/asyncio-sync.rst:97 -#: ../Doc/library/asyncio-sync.rst:145 ../Doc/library/asyncio-sync.rst:237 +#: ../Doc/library/asyncio-sync.rst:51 ../Doc/library/asyncio-sync.rst:178 #: ../Doc/library/asyncio-sync.rst:274 -msgid "This class is :ref:`not thread safe `." +msgid "which is equivalent to::" msgstr "" -#: ../Doc/library/asyncio-sync.rst:61 -msgid "Return ``True`` if the lock is acquired." -msgstr "Donne ``True`` si le verrou est acquis." - -#: ../Doc/library/asyncio-sync.rst:65 -msgid "Acquire a lock." +#: ../Doc/library/asyncio-sync.rst:64 +msgid "Acquire the lock." msgstr "" -#: ../Doc/library/asyncio-sync.rst:67 ../Doc/library/asyncio-sync.rst:151 +#: ../Doc/library/asyncio-sync.rst:66 msgid "" -"This method blocks until the lock is unlocked, then sets it to locked and " +"This method waits until the lock is *unlocked*, sets it to *locked* and " "returns ``True``." msgstr "" -#: ../Doc/library/asyncio-sync.rst:70 ../Doc/library/asyncio-sync.rst:123 -#: ../Doc/library/asyncio-sync.rst:154 ../Doc/library/asyncio-sync.rst:206 -#: ../Doc/library/asyncio-sync.rst:215 ../Doc/library/asyncio-sync.rst:248 -msgid "This method is a :ref:`coroutine `." -msgstr "Cette méthode est une :ref:`coroutine `." - -#: ../Doc/library/asyncio-sync.rst:74 -msgid "Release a lock." +#: ../Doc/library/asyncio-sync.rst:71 +msgid "Release the lock." msgstr "Libère un verrou." -#: ../Doc/library/asyncio-sync.rst:76 -msgid "" -"When the lock is locked, reset it to unlocked, and return. If any other " -"coroutines are blocked waiting for the lock to become unlocked, allow " -"exactly one of them to proceed." +#: ../Doc/library/asyncio-sync.rst:73 +msgid "When the lock is *locked*, reset it to *unlocked* and return." msgstr "" -#: ../Doc/library/asyncio-sync.rst:80 ../Doc/library/asyncio-sync.rst:190 -msgid "When invoked on an unlocked lock, a :exc:`RuntimeError` is raised." +#: ../Doc/library/asyncio-sync.rst:75 +msgid "If the lock is *unlocked*, a :exc:`RuntimeError` is raised." msgstr "" -#: ../Doc/library/asyncio-sync.rst:82 ../Doc/library/asyncio-sync.rst:192 -msgid "There is no return value." -msgstr "Il n'y a pas de valeur de retour." +#: ../Doc/library/asyncio-sync.rst:79 +msgid "Return ``True`` if the lock is *locked*." +msgstr "Donne ``True`` si le verrou est vérouillé." -#: ../Doc/library/asyncio-sync.rst:86 +#: ../Doc/library/asyncio-sync.rst:83 msgid "Event" msgstr "" -#: ../Doc/library/asyncio-sync.rst:90 +#: ../Doc/library/asyncio-sync.rst:87 +msgid "An event object. Not thread-safe." +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:89 msgid "" -"An Event implementation, asynchronous equivalent to :class:`threading.Event`." +"An asyncio event can be used to notify multiple asyncio tasks that some " +"event has happened." msgstr "" #: ../Doc/library/asyncio-sync.rst:92 msgid "" -"Class implementing event objects. An event manages a flag that can be set to " -"true with the :meth:`set` method and reset to false with the :meth:`clear` " -"method. The :meth:`wait` method blocks until the flag is true. The flag is " -"initially false." +"An Event object manages an internal flag that can be set to *true* with the :" +"meth:`set` method and reset to *false* with the :meth:`clear` method. The :" +"meth:`wait` method blocks until the flag is set to *true*. The flag is set " +"to *false* initially." msgstr "" -#: ../Doc/library/asyncio-sync.rst:101 +#: ../Doc/library/asyncio-sync.rst:99 +msgid "Example::" +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:124 +msgid "Wait until the event is set." +msgstr "Attends que l'évènement ait une valeur." + +#: ../Doc/library/asyncio-sync.rst:126 msgid "" -"Reset the internal flag to false. Subsequently, coroutines calling :meth:" -"`wait` will block until :meth:`set` is called to set the internal flag to " -"true again." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:107 -msgid "Return ``True`` if and only if the internal flag is true." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:111 -msgid "" -"Set the internal flag to true. All coroutines waiting for it to become true " -"are awakened. Coroutine that call :meth:`wait` once the flag is true will " -"not block at all." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:117 -msgid "Block until the internal flag is true." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:119 -msgid "" -"If the internal flag is true on entry, return ``True`` immediately. " -"Otherwise, block until another coroutine calls :meth:`set` to set the flag " -"to true, then return ``True``." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:127 -msgid "Condition" +"If the event is set, return ``True`` immediately. Otherwise block until " +"another task calls :meth:`set`." msgstr "" #: ../Doc/library/asyncio-sync.rst:131 -msgid "" -"A Condition implementation, asynchronous equivalent to :class:`threading." -"Condition`." +msgid "Set the event." msgstr "" -#: ../Doc/library/asyncio-sync.rst:134 -msgid "" -"This class implements condition variable objects. A condition variable " -"allows one or more coroutines to wait until they are notified by another " -"coroutine." +#: ../Doc/library/asyncio-sync.rst:133 +msgid "All tasks waiting for event to be set will be immediately awakened." msgstr "" #: ../Doc/library/asyncio-sync.rst:138 -msgid "" -"If the *lock* argument is given and not ``None``, it must be a :class:`Lock` " -"object, and it is used as the underlying lock. Otherwise, a new :class:" -"`Lock` object is created and used as the underlying lock." +msgid "Clear (unset) the event." msgstr "" -#: ../Doc/library/asyncio-sync.rst:142 +#: ../Doc/library/asyncio-sync.rst:140 msgid "" -"Conditions support the :ref:`context management protocol `." +"Tasks awaiting on :meth:`wait` will now block until the :meth:`set` method " +"is called again." msgstr "" +#: ../Doc/library/asyncio-sync.rst:145 +msgid "Return ``True`` if the event is set." +msgstr "Renvoie ``True`` si l'évènement a une valeur." + #: ../Doc/library/asyncio-sync.rst:149 +msgid "Condition" +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:153 +msgid "A Condition object. Not thread-safe." +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:155 +msgid "" +"An asyncio condition primitive can be used by a task to wait for some event " +"to happen and then get exclusive access to a shared resource." +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:159 +msgid "" +"In essence, a Condition object combines the functionality of an :class:" +"`Event` and a :class:`Lock`. It is possible to have multiple Condition " +"objects share one Lock, which allows coordinating exclusive access to a " +"shared resource between different tasks interested in particular states of " +"that shared resource." +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:165 +msgid "" +"The optional *lock* argument must be a :class:`Lock` object or ``None``. In " +"the latter case a new Lock object is created automatically." +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:169 +msgid "" +"The preferred way to use a Condition is an :keyword:`async with` statement::" +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:191 msgid "Acquire the underlying lock." msgstr "" -#: ../Doc/library/asyncio-sync.rst:158 +#: ../Doc/library/asyncio-sync.rst:193 msgid "" -"By default, wake up one coroutine waiting on this condition, if any. If the " -"calling coroutine has not acquired the lock when this method is called, a :" -"exc:`RuntimeError` is raised." +"This method waits until the underlying lock is *unlocked*, sets it to " +"*locked* and returns ``True``." msgstr "" -#: ../Doc/library/asyncio-sync.rst:162 -msgid "" -"This method wakes up at most *n* of the coroutines waiting for the condition " -"variable; it is a no-op if no coroutines are waiting." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:167 -msgid "" -"An awakened coroutine does not actually return from its :meth:`wait` call " -"until it can reacquire the lock. Since :meth:`notify` does not release the " -"lock, its caller should." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:173 -msgid "Return ``True`` if the underlying lock is acquired." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:177 -msgid "" -"Wake up all coroutines waiting on this condition. This method acts like :" -"meth:`notify`, but wakes up all waiting coroutines instead of one. If the " -"calling coroutine has not acquired the lock when this method is called, a :" -"exc:`RuntimeError` is raised." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:184 -msgid "Release the underlying lock." -msgstr "Libère le verrou sous-jacent." - -#: ../Doc/library/asyncio-sync.rst:186 -msgid "" -"When the lock is locked, reset it to unlocked, and return. If any other " -"coroutines are blocked waiting for the lock to become unlocked, allow " -"exactly one of them to proceed." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:196 -msgid "Wait until notified." -msgstr "Attends d'être notifié." - #: ../Doc/library/asyncio-sync.rst:198 msgid "" -"If the calling coroutine has not acquired the lock when this method is " -"called, a :exc:`RuntimeError` is raised." +"Wake up at most *n* tasks (1 by default) waiting on this condition. The " +"method is no-op if no tasks are waiting." msgstr "" -#: ../Doc/library/asyncio-sync.rst:201 +#: ../Doc/library/asyncio-sync.rst:201 ../Doc/library/asyncio-sync.rst:216 msgid "" -"This method releases the underlying lock, and then blocks until it is " -"awakened by a :meth:`notify` or :meth:`notify_all` call for the same " -"condition variable in another coroutine. Once awakened, it re-acquires the " -"lock and returns ``True``." +"The lock must be acquired before this method is called and released shortly " +"after. If called with an *unlocked* lock a :exc:`RuntimeError` error is " +"raised." msgstr "" -#: ../Doc/library/asyncio-sync.rst:210 -msgid "Wait until a predicate becomes true." -msgstr "Attends jusqu'à ce qu'un prédicat devienne vrai." +#: ../Doc/library/asyncio-sync.rst:207 +msgid "Return ``True`` if the underlying lock is acquired." +msgstr "" -#: ../Doc/library/asyncio-sync.rst:212 +#: ../Doc/library/asyncio-sync.rst:211 +msgid "Wake up all tasks waiting on this condition." +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:213 +msgid "This method acts like :meth:`notify`, but wakes up all waiting tasks." +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:222 +msgid "Release the underlying lock." +msgstr "Libère le verrou sous-jacent." + +#: ../Doc/library/asyncio-sync.rst:224 +msgid "When invoked on an unlocked lock, a :exc:`RuntimeError` is raised." +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:229 +msgid "Wait until notified." +msgstr "Attends d'être notifié." + +#: ../Doc/library/asyncio-sync.rst:231 msgid "" -"The predicate should be a callable which result will be interpreted as a " -"boolean value. The final predicate value is the return value." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:219 -msgid "Semaphore" -msgstr "Sémaphore" - -#: ../Doc/library/asyncio-sync.rst:223 -msgid "A Semaphore implementation." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:225 -msgid "" -"A semaphore manages an internal counter which is decremented by each :meth:" -"`acquire` call and incremented by each :meth:`release` call. The counter can " -"never go below zero; when :meth:`acquire` finds that it is zero, it blocks, " -"waiting until some other coroutine calls :meth:`release`." -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:230 -msgid "" -"The optional argument gives the initial value for the internal counter; it " -"defaults to ``1``. If the value given is less than ``0``, :exc:`ValueError` " -"is raised." +"If the calling task has not acquired the lock when this method is called, a :" +"exc:`RuntimeError` is raised." msgstr "" #: ../Doc/library/asyncio-sync.rst:234 msgid "" -"Semaphores support the :ref:`context management protocol `." +"This method releases the underlying lock, and then blocks until it is " +"awakened by a :meth:`notify` or :meth:`notify_all` call. Once awakened, the " +"Condition re-acquires its lock and this method returns ``True``." msgstr "" #: ../Doc/library/asyncio-sync.rst:241 -msgid "Acquire a semaphore." -msgstr "" +msgid "Wait until a predicate becomes *true*." +msgstr "Attends jusqu'à ce qu'un prédicat devienne vrai." #: ../Doc/library/asyncio-sync.rst:243 msgid "" -"If the internal counter is larger than zero on entry, decrement it by one " -"and return ``True`` immediately. If it is zero on entry, block, waiting " -"until some other coroutine has called :meth:`release` to make it larger than " -"``0``, and then return ``True``." +"The predicate must be a callable which result will be interpreted as a " +"boolean value. The final value is the return value." msgstr "" -#: ../Doc/library/asyncio-sync.rst:252 +#: ../Doc/library/asyncio-sync.rst:249 +msgid "Semaphore" +msgstr "Sémaphore" + +#: ../Doc/library/asyncio-sync.rst:253 +msgid "A Semaphore object. Not thread-safe." +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:255 +msgid "" +"A semaphore manages an internal counter which is decremented by each :meth:" +"`acquire` call and incremented by each :meth:`release` call. The counter can " +"never go below zero; when :meth:`acquire` finds that it is zero, it blocks, " +"waiting until some task calls :meth:`release`." +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:261 +msgid "" +"The optional *value* argument gives the initial value for the internal " +"counter (``1`` by default). If the given value is less than ``0`` a :exc:" +"`ValueError` is raised." +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:265 +msgid "" +"The preferred way to use a Semaphore is an :keyword:`async with` statement::" +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:287 +msgid "Acquire a semaphore." +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:289 +msgid "" +"If the internal counter is greater than zero, decrement it by one and return " +"``True`` immediately. If it is zero, wait until a :meth:`release` is called " +"and return ``True``." +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:295 msgid "Returns ``True`` if semaphore can not be acquired immediately." msgstr "" -#: ../Doc/library/asyncio-sync.rst:256 +#: ../Doc/library/asyncio-sync.rst:299 msgid "" -"Release a semaphore, incrementing the internal counter by one. When it was " -"zero on entry and another coroutine is waiting for it to become larger than " -"zero again, wake up that coroutine." +"Release a semaphore, incrementing the internal counter by one. Can wake up a " +"task waiting to acquire the semaphore." msgstr "" -#: ../Doc/library/asyncio-sync.rst:262 +#: ../Doc/library/asyncio-sync.rst:302 +msgid "" +"Unlike :class:`BoundedSemaphore`, :class:`Semaphore` allows making more " +"``release()`` calls than ``acquire()`` calls." +msgstr "" + +#: ../Doc/library/asyncio-sync.rst:307 msgid "BoundedSemaphore" msgstr "BoundedSemaphore" -#: ../Doc/library/asyncio-sync.rst:266 -msgid "A bounded semaphore implementation. Inherit from :class:`Semaphore`." +#: ../Doc/library/asyncio-sync.rst:311 +msgid "A bounded semaphore object. Not thread-safe." msgstr "" -#: ../Doc/library/asyncio-sync.rst:268 +#: ../Doc/library/asyncio-sync.rst:313 msgid "" -"This raises :exc:`ValueError` in :meth:`~Semaphore.release` if it would " -"increase the value above the initial value." +"Bounded Semaphore is a version of :class:`Semaphore` that raises a :exc:" +"`ValueError` in :meth:`~Semaphore.release` if it increases the internal " +"counter above the initial *value*." msgstr "" -#: ../Doc/library/asyncio-sync.rst:271 +#: ../Doc/library/asyncio-sync.rst:323 msgid "" -"Bounded semaphores support the :ref:`context management protocol `." +"Acquiring a lock using ``await lock`` or ``yield from lock`` and/or :keyword:" +"`with` statement (``with await lock``, ``with (yield from lock)``) is " +"deprecated. Use ``async with lock`` instead." msgstr "" -#: ../Doc/library/asyncio-sync.rst:280 -msgid "" -"Using locks, conditions and semaphores in the :keyword:`async with` statement" -msgstr "" +#~ msgid "Semaphores:" +#~ msgstr "Sémaphores :" -#: ../Doc/library/asyncio-sync.rst:282 -msgid "" -":class:`Lock`, :class:`Condition`, :class:`Semaphore`, and :class:" -"`BoundedSemaphore` objects can be used in :keyword:`async with` statements." -msgstr "" +#~ msgid "This method is a :ref:`coroutine `." +#~ msgstr "Cette méthode est une :ref:`coroutine `." -#: ../Doc/library/asyncio-sync.rst:286 -msgid "" -"The :meth:`acquire` method will be called when the block is entered, and :" -"meth:`release` will be called when the block is exited. Hence, the " -"following snippet::" -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:293 -msgid "is equivalent to::" -msgstr "" - -#: ../Doc/library/asyncio-sync.rst:303 -msgid "" -"Lock acquiring using ``await lock`` or ``yield from lock`` and :keyword:" -"`with` statement (``with await lock``, ``with (yield from lock)``) are " -"deprecated." -msgstr "" +#~ msgid "There is no return value." +#~ msgstr "Il n'y a pas de valeur de retour." #~ msgid "Semaphores" #~ msgstr "Sémaphores" diff --git a/library/asyncio-task.po b/library/asyncio-task.po index 4a31c953..5985dcf9 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" -"PO-Revision-Date: 2018-07-27 23:20+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 11:37+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -14,942 +14,958 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../Doc/library/asyncio-task.rst:4 -msgid "Tasks and coroutines" -msgstr "Tâches et coroutines" - #: ../Doc/library/asyncio-task.rst:6 -msgid "**Source code:** :source:`Lib/asyncio/tasks.py`" -msgstr "" +msgid "Coroutines and Tasks" +msgstr "Coroutines et tâches" #: ../Doc/library/asyncio-task.rst:8 -msgid "**Source code:** :source:`Lib/asyncio/coroutines.py`" +msgid "" +"This section outlines high-level asyncio APIs to work with coroutines and " +"Tasks." msgstr "" -#: ../Doc/library/asyncio-task.rst:13 +#: ../Doc/library/asyncio-task.rst:19 ../Doc/library/asyncio-task.rst:121 msgid "Coroutines" msgstr "Coroutines" -#: ../Doc/library/asyncio-task.rst:15 +#: ../Doc/library/asyncio-task.rst:21 msgid "" -"Coroutines used with :mod:`asyncio` may be implemented using the :keyword:" -"`async def` statement, or by using :term:`generators `. The :" -"keyword:`async def` type of coroutine was added in Python 3.5, and is " -"recommended if there is no need to support older Python versions." +"Coroutines declared with async/await syntax is the preferred way of writing " +"asyncio applications. For example, the following snippet of code (requires " +"Python 3.7+) prints \"hello\", waits 1 second, and then prints \"world\"::" msgstr "" -#: ../Doc/library/asyncio-task.rst:20 +#: ../Doc/library/asyncio-task.rst:37 msgid "" -"Generator-based coroutines should be decorated with :func:`@asyncio." -"coroutine `, although this is not strictly enforced. The " -"decorator enables compatibility with :keyword:`async def` coroutines, and " -"also serves as documentation. Generator-based coroutines use the ``yield " -"from`` syntax introduced in :pep:`380`, instead of the original ``yield`` " -"syntax." +"Note that simply calling a coroutine will not schedule it to be executed::" msgstr "" -#: ../Doc/library/asyncio-task.rst:27 -msgid "" -"The word \"coroutine\", like the word \"generator\", is used for two " -"different (though related) concepts:" -msgstr "" - -#: ../Doc/library/asyncio-task.rst:30 -msgid "" -"The function that defines a coroutine (a function definition using :keyword:" -"`async def` or decorated with ``@asyncio.coroutine``). If disambiguation is " -"needed we will call this a *coroutine function* (:func:`iscoroutinefunction` " -"returns ``True``)." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:36 -msgid "" -"The object obtained by calling a coroutine function. This object represents " -"a computation or an I/O operation (usually a combination) that will complete " -"eventually. If disambiguation is needed we will call it a *coroutine " -"object* (:func:`iscoroutine` returns ``True``)." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:41 -msgid "Things a coroutine can do:" -msgstr "Les choses que les coroutines peuvent faire :" - #: ../Doc/library/asyncio-task.rst:43 +msgid "To actually run a coroutine asyncio provides three main mechanisms:" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:45 msgid "" -"``result = await future`` or ``result = yield from future`` -- suspends the " -"coroutine until the future is done, then returns the future's result, or " -"raises an exception, which will be propagated. (If the future is cancelled, " -"it will raise a ``CancelledError`` exception.) Note that tasks are futures, " -"and everything said about futures also applies to tasks." +"The :func:`asyncio.run` function to run the top-level entry point \"main()\" " +"function (see the above example.)" msgstr "" -#: ../Doc/library/asyncio-task.rst:50 +#: ../Doc/library/asyncio-task.rst:48 msgid "" -"``result = await coroutine`` or ``result = yield from coroutine`` -- wait " -"for another coroutine to produce a result (or raise an exception, which will " -"be propagated). The ``coroutine`` expression must be a *call* to another " -"coroutine." +"Awaiting on a coroutine. The following snippet of code will print \"hello\" " +"after waiting for 1 second, and then print \"world\" after waiting for " +"*another* 2 seconds::" msgstr "" -#: ../Doc/library/asyncio-task.rst:55 +#: ../Doc/library/asyncio-task.rst:69 +msgid "Expected output::" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:76 msgid "" -"``return expression`` -- produce a result to the coroutine that is waiting " -"for this one using :keyword:`await` or ``yield from``." +"The :func:`asyncio.create_task` function to run coroutines concurrently as " +"asyncio :class:`Tasks `." msgstr "" -#: ../Doc/library/asyncio-task.rst:58 +#: ../Doc/library/asyncio-task.rst:79 msgid "" -"``raise exception`` -- raise an exception in the coroutine that is waiting " -"for this one using :keyword:`await` or ``yield from``." +"Let's modify the above example and run two ``say_after`` coroutines " +"*concurrently*::" msgstr "" -#: ../Doc/library/asyncio-task.rst:61 +#: ../Doc/library/asyncio-task.rst:98 msgid "" -"Calling a coroutine does not start its code running -- the coroutine object " -"returned by the call doesn't do anything until you schedule its execution. " -"There are two basic ways to start it running: call ``await coroutine`` or " -"``yield from coroutine`` from another coroutine (assuming the other " -"coroutine is already running!), or schedule its execution using the :func:" -"`ensure_future` function or the :meth:`AbstractEventLoop.create_task` method." +"Note that expected output now shows that the snippet runs 1 second faster " +"than before::" msgstr "" -#: ../Doc/library/asyncio-task.rst:70 -msgid "Coroutines (and tasks) can only run when the event loop is running." +#: ../Doc/library/asyncio-task.rst:110 +msgid "Awaitables" msgstr "" -#: ../Doc/library/asyncio-task.rst:74 +#: ../Doc/library/asyncio-task.rst:112 msgid "" -"Decorator to mark generator-based coroutines. This enables the generator " -"use :keyword:`!yield from` to call :keyword:`async def` coroutines, and also " -"enables the generator to be called by :keyword:`async def` coroutines, for " -"instance using an :keyword:`await` expression." +"We say that an object is an **awaitable** object if it can be used in an :" +"keyword:`await` expression. Many asyncio APIs are designed to accept " +"awaitables." msgstr "" -#: ../Doc/library/asyncio-task.rst:80 +#: ../Doc/library/asyncio-task.rst:116 msgid "" -"There is no need to decorate :keyword:`async def` coroutines themselves." +"There are three main types of *awaitable* objects: **coroutines**, " +"**Tasks**, and **Futures**." msgstr "" -#: ../Doc/library/asyncio-task.rst:82 +#: ../Doc/library/asyncio-task.rst:122 msgid "" -"If the generator is not yielded from before it is destroyed, an error " -"message is logged. See :ref:`Detect coroutines never scheduled `." +"Python coroutines are *awaitables* and therefore can be awaited from other " +"coroutines::" msgstr "" -#: ../Doc/library/asyncio-task.rst:88 +#: ../Doc/library/asyncio-task.rst:143 msgid "" -"In this documentation, some methods are documented as coroutines, even if " -"they are plain Python functions returning a :class:`Future`. This is " -"intentional to have a freedom of tweaking the implementation of these " -"functions in the future. If such a function is needed to be used in a " -"callback-style code, wrap its result with :func:`ensure_future`." +"In this documentation the term \"coroutine\" can be used for two closely " +"related concepts:" msgstr "" -#: ../Doc/library/asyncio-task.rst:97 +#: ../Doc/library/asyncio-task.rst:146 +msgid "a *coroutine function*: an :keyword:`async def` function;" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:148 +msgid "" +"a *coroutine object*: an object returned by calling a *coroutine function*." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:151 +msgid "" +"asyncio also supports legacy :ref:`generator-based " +"` coroutines." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:156 +msgid "Tasks" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:157 +msgid "*Tasks* are used to schedule coroutines *concurrently*." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:159 +msgid "" +"When a coroutine is wrapped into a *Task* with functions like :func:`asyncio." +"create_task` the coroutine is automatically scheduled to run soon::" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:181 +msgid "Futures" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:182 +msgid "" +"A :class:`Future` is a special **low-level** awaitable object that " +"represents an **eventual result** of an asynchronous operation." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:185 +msgid "" +"When a Future object is *awaited* it means that the coroutine will wait " +"until the Future is resolved in some other place." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:188 +msgid "" +"Future objects in asyncio are needed to allow callback-based code to be used " +"with async/await." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:191 +msgid "" +"Normally **there is no need** to create Future objects at the application " +"level code." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:194 +msgid "" +"Future objects, sometimes exposed by libraries and some asyncio APIs, can be " +"awaited::" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:206 +msgid "" +"A good example of a low-level function that returns a Future object is :meth:" +"`loop.run_in_executor`." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:211 +msgid "Running an asyncio Program" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:215 msgid "" "This function runs the passed coroutine, taking care of managing the asyncio " -"event loop and finalizing asynchronous generators." +"event loop and *finalizing asynchronous generators*." msgstr "" -#: ../Doc/library/asyncio-task.rst:101 +#: ../Doc/library/asyncio-task.rst:219 msgid "" "This function cannot be called when another asyncio event loop is running in " "the same thread." msgstr "" -#: ../Doc/library/asyncio-task.rst:104 -msgid "If debug is True, the event loop will be run in debug mode." +#: ../Doc/library/asyncio-task.rst:222 +msgid "If *debug* is ``True``, the event loop will be run in debug mode." msgstr "" -#: ../Doc/library/asyncio-task.rst:106 +#: ../Doc/library/asyncio-task.rst:224 msgid "" "This function always creates a new event loop and closes it at the end. It " "should be used as a main entry point for asyncio programs, and should " "ideally only be called once." msgstr "" -#: ../Doc/library/asyncio-task.rst:110 -msgid "" -"**Important:** this has been been added to asyncio in Python 3.7 on a :term:" -"`provisional basis `." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:118 -msgid "Example: Hello World coroutine" -msgstr "Exemple : Coroutine \"Hello World\"" - -#: ../Doc/library/asyncio-task.rst:120 -msgid "Example of coroutine displaying ``\"Hello World\"``::" -msgstr "" - -#: ../Doc/library/asyncio-task.rst:131 -msgid "" -"The :ref:`Hello World with call_soon() ` " -"example uses the :meth:`AbstractEventLoop.call_soon` method to schedule a " -"callback." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:139 -msgid "Example: Coroutine displaying the current date" -msgstr "Exemple : Coroutine affichant la date actuelle" - -#: ../Doc/library/asyncio-task.rst:141 -msgid "" -"Example of coroutine displaying the current date every second during 5 " -"seconds using the :meth:`sleep` function::" -msgstr "" - -#: ../Doc/library/asyncio-task.rst:160 -msgid "" -"The :ref:`display the current date with call_later() ` example uses a callback with the :meth:`AbstractEventLoop." -"call_later` method." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:166 -msgid "Example: Chain coroutines" -msgstr "Exemple : Chaîner des coroutines" - -#: ../Doc/library/asyncio-task.rst:168 -msgid "Example chaining coroutines::" -msgstr "" - -#: ../Doc/library/asyncio-task.rst:185 -msgid "" -"``compute()`` is chained to ``print_sum()``: ``print_sum()`` coroutine waits " -"until ``compute()`` is completed before returning its result." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:188 -msgid "Sequence diagram of the example:" -msgstr "" - -#: ../Doc/library/asyncio-task.rst:193 -msgid "" -"The \"Task\" is created by the :meth:`AbstractEventLoop.run_until_complete` " -"method when it gets a coroutine object instead of a task." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:196 -msgid "" -"The diagram shows the control flow, it does not describe exactly how things " -"work internally. For example, the sleep coroutine creates an internal future " -"which uses :meth:`AbstractEventLoop.call_later` to wake up the task in 1 " -"second." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:202 -msgid "InvalidStateError" -msgstr "InvalidStateError" - -#: ../Doc/library/asyncio-task.rst:206 -msgid "The operation is not allowed in this state." -msgstr "L'opération n'est pas autorisée dans cet état." - -#: ../Doc/library/asyncio-task.rst:210 -msgid "TimeoutError" -msgstr "TimeoutError" - -#: ../Doc/library/asyncio-task.rst:214 -msgid "The operation exceeded the given deadline." -msgstr "L'opération a dépassé le délai donné." - -#: ../Doc/library/asyncio-task.rst:218 -msgid "" -"This exception is different from the builtin :exc:`TimeoutError` exception!" -msgstr "" - -#: ../Doc/library/asyncio-task.rst:222 -msgid "Future" -msgstr "" - -#: ../Doc/library/asyncio-task.rst:226 -msgid "" -"This class is *almost* compatible with :class:`concurrent.futures.Future`." -msgstr "" - #: ../Doc/library/asyncio-task.rst:228 -msgid "Differences:" -msgstr "Différences :" - -#: ../Doc/library/asyncio-task.rst:230 msgid "" -":meth:`result` and :meth:`exception` do not take a timeout argument and " -"raise an exception when the future isn't done yet." +"**Important:** this function has been added to asyncio in Python 3.7 on a :" +"term:`provisional basis `." msgstr "" -#: ../Doc/library/asyncio-task.rst:233 +#: ../Doc/library/asyncio-task.rst:234 +msgid "Creating Tasks" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:238 msgid "" -"Callbacks registered with :meth:`add_done_callback` are always called via " -"the event loop's :meth:`~AbstractEventLoop.call_soon`." +"Wrap the *coro* :ref:`coroutine ` into a :class:`Task` and " +"schedule its execution. Return the Task object." msgstr "" -#: ../Doc/library/asyncio-task.rst:236 +#: ../Doc/library/asyncio-task.rst:241 msgid "" -"This class is not compatible with the :func:`~concurrent.futures.wait` and :" -"func:`~concurrent.futures.as_completed` functions in the :mod:`concurrent." -"futures` package." +"The task is executed in the loop returned by :func:`get_running_loop`, :exc:" +"`RuntimeError` is raised if there is no running loop in current thread." msgstr "" -#: ../Doc/library/asyncio-task.rst:240 ../Doc/library/asyncio-task.rst:436 -msgid "This class is :ref:`not thread safe `." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:244 -msgid "Cancel the future and schedule callbacks." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:246 +#: ../Doc/library/asyncio-task.rst:245 msgid "" -"If the future is already done or cancelled, return ``False``. Otherwise, " -"change the future's state to cancelled, schedule the callbacks and return " -"``True``." +"This function has been **added in Python 3.7**. Prior to Python 3.7, the " +"low-level :func:`asyncio.ensure_future` function can be used instead::" msgstr "" -#: ../Doc/library/asyncio-task.rst:252 -msgid "Return ``True`` if the future was cancelled." +#: ../Doc/library/asyncio-task.rst:264 +msgid "Sleeping" msgstr "" -#: ../Doc/library/asyncio-task.rst:256 -msgid "Return ``True`` if the future is done." +#: ../Doc/library/asyncio-task.rst:268 +msgid "Block for *delay* seconds." msgstr "" -#: ../Doc/library/asyncio-task.rst:258 +#: ../Doc/library/asyncio-task.rst:270 msgid "" -"Done means either that a result / exception are available, or that the " -"future was cancelled." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:263 -msgid "Return the result this future represents." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:265 -msgid "" -"If the future has been cancelled, raises :exc:`CancelledError`. If the " -"future's result isn't yet available, raises :exc:`InvalidStateError`. If the " -"future is done and has an exception set, this exception is raised." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:271 -msgid "Return the exception that was set on this future." +"If *result* is provided, it is returned to the caller when the coroutine " +"completes." msgstr "" #: ../Doc/library/asyncio-task.rst:273 msgid "" -"The exception (or ``None`` if no exception was set) is returned only if the " -"future is done. If the future has been cancelled, raises :exc:" -"`CancelledError`. If the future isn't done yet, raises :exc:" -"`InvalidStateError`." +"``sleep()`` always suspends the current task, allowing other tasks to run." msgstr "" -#: ../Doc/library/asyncio-task.rst:280 -msgid "Add a callback to be run when the future becomes done." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:282 +#: ../Doc/library/asyncio-task.rst:276 ../Doc/library/asyncio-task.rst:434 +#: ../Doc/library/asyncio-task.rst:486 msgid "" -"The *callback* is called with a single argument - the future object. If the " -"future is already done when this is called, the callback is scheduled with :" -"meth:`~AbstractEventLoop.call_soon`." +"The *loop* argument is deprecated and scheduled for removal in Python 3.10." msgstr "" -#: ../Doc/library/asyncio-task.rst:286 +#: ../Doc/library/asyncio-task.rst:281 msgid "" -"An optional keyword-only *context* argument allows specifying a custom :" -"class:`contextvars.Context` for the *callback* to run in. The current " -"context is used when no *context* is provided." +"Example of coroutine displaying the current date every second for 5 seconds::" +msgstr "" +"Exemple d'une coroutine affichant la date toutes les secondes pendant 5 " +"secondes ::" + +#: ../Doc/library/asyncio-task.rst:300 +msgid "Running Tasks Concurrently" msgstr "" -#: ../Doc/library/asyncio-task.rst:290 +#: ../Doc/library/asyncio-task.rst:304 msgid "" -":ref:`Use functools.partial to pass parameters to the callback `. For example, ``fut.add_done_callback(functools.partial(print, " -"\"Future:\", flush=True))`` will call ``print(\"Future:\", fut, " -"flush=True)``." +"Run :ref:`awaitable objects ` in the *aws* sequence " +"*concurrently*." msgstr "" -#: ../Doc/library/asyncio-task.rst:295 -msgid "" -"The *context* keyword-only parameter was added. See :pep:`567` for more " -"details." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:301 -msgid "Remove all instances of a callback from the \"call when done\" list." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:303 -msgid "Returns the number of callbacks removed." -msgstr "Donne le nombre de fonctions de rappel supprimées." - #: ../Doc/library/asyncio-task.rst:307 -msgid "Mark the future done and set its result." -msgstr "Marque le futur comme terminé et définit son résultat." - -#: ../Doc/library/asyncio-task.rst:309 ../Doc/library/asyncio-task.rst:316 msgid "" -"If the future is already done when this method is called, raises :exc:" -"`InvalidStateError`." +"If any awaitable in *aws* is a coroutine, it is automatically scheduled as a " +"Task." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:310 +msgid "" +"If all awaitables are completed successfully, the result is an aggregate " +"list of returned values. The order of result values corresponds to the " +"order of awaitables in *aws*." msgstr "" #: ../Doc/library/asyncio-task.rst:314 -msgid "Mark the future done and set an exception." -msgstr "Marque le futur comme terminé et définit une exception." - -#: ../Doc/library/asyncio-task.rst:321 -msgid "Return the event loop the future object is bound to." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:327 -msgid "Example: Future with run_until_complete()" -msgstr "Exemple : Futur avec ``run_until_complete()``" - -#: ../Doc/library/asyncio-task.rst:329 msgid "" -"Example combining a :class:`Future` and a :ref:`coroutine function " -"`::" +"If *return_exceptions* is ``False`` (default), the first raised exception is " +"immediately propagated to the task that awaits on ``gather()``. Other " +"awaitables in the *aws* sequence **won't be cancelled** and will continue to " +"run." msgstr "" -#: ../Doc/library/asyncio-task.rst:345 +#: ../Doc/library/asyncio-task.rst:319 msgid "" -"The coroutine function is responsible for the computation (which takes 1 " -"second) and it stores the result into the future. The :meth:" -"`~AbstractEventLoop.run_until_complete` method waits for the completion of " -"the future." +"If *return_exceptions* is ``True``, exceptions are treated the same as " +"successful results, and aggregated in the result list." msgstr "" -#: ../Doc/library/asyncio-task.rst:351 +#: ../Doc/library/asyncio-task.rst:322 msgid "" -"The :meth:`~AbstractEventLoop.run_until_complete` method uses internally " -"the :meth:`~Future.add_done_callback` method to be notified when the future " -"is done." +"If ``gather()`` is *cancelled*, all submitted awaitables (that have not " +"completed yet) are also *cancelled*." msgstr "" -#: ../Doc/library/asyncio-task.rst:357 -msgid "Example: Future with run_forever()" -msgstr "Exemple : Futur avec ``run_forever()``" - -#: ../Doc/library/asyncio-task.rst:359 +#: ../Doc/library/asyncio-task.rst:325 msgid "" -"The previous example can be written differently using the :meth:`Future." -"add_done_callback` method to describe explicitly the control flow::" +"If any Task or Future from the *aws* sequence is *cancelled*, it is treated " +"as if it raised :exc:`CancelledError` -- the ``gather()`` call is **not** " +"cancelled in this case. This is to prevent the cancellation of one " +"submitted Task/Future to cause other Tasks/Futures to be cancelled." msgstr "" -#: ../Doc/library/asyncio-task.rst:382 -msgid "" -"In this example, the future is used to link ``slow_operation()`` to " -"``got_result()``: when ``slow_operation()`` is done, ``got_result()`` is " -"called with the result." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:388 -msgid "Task" -msgstr "" - -#: ../Doc/library/asyncio-task.rst:392 -msgid "" -"Wrap a :ref:`coroutine ` *coro* into a task and schedule its " -"execution. Return the task object." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:395 -msgid "" -"The task is executed in :func:`get_running_loop` context, :exc:" -"`RuntimeError` is raised if there is no running loop in current thread." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:403 -msgid "" -"A unit for concurrent running of :ref:`coroutines `, subclass of :" -"class:`Future`." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:406 -msgid "" -"A task is responsible for executing a coroutine object in an event loop. If " -"the wrapped coroutine yields from a future, the task suspends the execution " -"of the wrapped coroutine and waits for the completion of the future. When " -"the future is done, the execution of the wrapped coroutine restarts with the " -"result or the exception of the future." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:412 -msgid "" -"Event loops use cooperative scheduling: an event loop only runs one task at " -"a time. Other tasks may run in parallel if other event loops are running in " -"different threads. While a task waits for the completion of a future, the " -"event loop executes a new task." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:417 -msgid "" -"The cancellation of a task is different from the cancellation of a future. " -"Calling :meth:`cancel` will throw a :exc:`~concurrent.futures." -"CancelledError` to the wrapped coroutine. :meth:`~Future.cancelled` only " -"returns ``True`` if the wrapped coroutine did not catch the :exc:" -"`~concurrent.futures.CancelledError` exception, or raised a :exc:" -"`~concurrent.futures.CancelledError` exception." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:425 -msgid "" -"If a pending task is destroyed, the execution of its wrapped :ref:`coroutine " -"` did not complete. It is probably a bug and a warning is logged: " -"see :ref:`Pending task destroyed `." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:429 -msgid "" -"Don't directly create :class:`Task` instances: use the :func:`create_task` " -"function or the :meth:`AbstractEventLoop.create_task` method." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:432 -msgid "" -"Tasks support the :mod:`contextvars` module. When a Task is created it " -"copies the current context and later runs its coroutine in the copied " -"context. See :pep:`567` for more details." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:438 -msgid "Added support for the :mod:`contextvars` module." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:443 -msgid "Return a set of all tasks for an event loop." -msgstr "Donne l'ensemble des tâches d'une boucle d'évènements." - -#: ../Doc/library/asyncio-task.rst:445 -msgid "" -"By default all tasks for the current event loop are returned. If *loop* is " -"``None``, :func:`get_event_loop` function is used to get the current loop." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:451 -msgid "Return the currently running task in an event loop or ``None``." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:453 -msgid "By default the current task for the current event loop is returned." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:455 -msgid "``None`` is returned when called not in the context of a :class:`Task`." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:459 -msgid "Request that this task cancel itself." -msgstr "Demande à ce qu'une tâche s'annule elle même." - -#: ../Doc/library/asyncio-task.rst:461 -msgid "" -"This arranges for a :exc:`~concurrent.futures.CancelledError` to be thrown " -"into the wrapped coroutine on the next cycle through the event loop. The " -"coroutine then has a chance to clean up or even deny the request using try/" -"except/finally." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:466 -msgid "" -"Unlike :meth:`Future.cancel`, this does not guarantee that the task will be " -"cancelled: the exception might be caught and acted upon, delaying " -"cancellation of the task or preventing cancellation completely. The task may " -"also return a value or raise a different exception." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:471 -msgid "" -"Immediately after this method is called, :meth:`~Future.cancelled` will not " -"return ``True`` (unless the task was already cancelled). A task will be " -"marked as cancelled when the wrapped coroutine terminates with a :exc:" -"`~concurrent.futures.CancelledError` exception (even if :meth:`cancel` was " -"not called)." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:479 -msgid "Return the list of stack frames for this task's coroutine." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:481 -msgid "" -"If the coroutine is not done, this returns the stack where it is suspended. " -"If the coroutine has completed successfully or was cancelled, this returns " -"an empty list. If the coroutine was terminated by an exception, this " -"returns the list of traceback frames." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:487 -msgid "The frames are always ordered from oldest to newest." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:489 -msgid "" -"The optional limit gives the maximum number of frames to return; by default " -"all available frames are returned. Its meaning differs depending on whether " -"a stack or a traceback is returned: the newest frames of a stack are " -"returned, but the oldest frames of a traceback are returned. (This matches " -"the behavior of the traceback module.)" -msgstr "" - -#: ../Doc/library/asyncio-task.rst:495 -msgid "" -"For reasons beyond our control, only one stack frame is returned for a " -"suspended coroutine." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:500 -msgid "Print the stack or traceback for this task's coroutine." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:502 -msgid "" -"This produces output similar to that of the traceback module, for the frames " -"retrieved by get_stack(). The limit argument is passed to get_stack(). The " -"file argument is an I/O stream to which the output is written; by default " -"output is written to sys.stderr." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:509 -msgid "Example: Parallel execution of tasks" -msgstr "Exemple : Exécution parallèle de tâches" - -#: ../Doc/library/asyncio-task.rst:511 -msgid "Example executing 3 tasks (A, B, C) in parallel::" -msgstr "Exemple d'exécution de trois tâches (A, B, C) en parallèle : ::" - -#: ../Doc/library/asyncio-task.rst:531 -msgid "Output::" -msgstr "Sortie ::" - -#: ../Doc/library/asyncio-task.rst:543 -msgid "" -"A task is automatically scheduled for execution when it is created. The " -"event loop stops when all tasks are done." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:548 -msgid "Task functions" -msgstr "" - -#: ../Doc/library/asyncio-task.rst:552 -msgid "" -"In the functions below, the optional *loop* argument allows explicitly " -"setting the event loop object used by the underlying task or coroutine. If " -"it's not provided, the default event loop is used." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:559 -msgid "" -"Return the current running :class:`Task` instance or ``None``, if no task is " -"running." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:562 -msgid "" -"If *loop* is ``None`` :func:`get_running_loop` is used to get the current " -"loop." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:570 -msgid "Return a set of :class:`Task` objects created for the loop." -msgstr "Donne un ensemble contenant les :class:`Task` crées pour la boucle." - -#: ../Doc/library/asyncio-task.rst:572 -msgid "" -"If *loop* is ``None``, :func:`get_running_loop` is used for getting current " -"loop (contrary to the deprecated :meth:`Task.all_tasks` method that uses :" -"func:`get_event_loop`.)" -msgstr "" - -#: ../Doc/library/asyncio-task.rst:581 -msgid "" -"Return an iterator whose values, when waited for, are :class:`Future` " -"instances." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:584 -msgid "" -"Raises :exc:`asyncio.TimeoutError` if the timeout occurs before all Futures " -"are done." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:587 +#: ../Doc/library/asyncio-task.rst:333 ../Doc/library/asyncio-task.rst:439 +#: ../Doc/library/asyncio-task.rst:561 msgid "Example::" msgstr "Exemple ::" -#: ../Doc/library/asyncio-task.rst:595 -msgid "The futures ``f`` are not necessarily members of fs." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:599 -msgid "" -"Schedule the execution of a :ref:`coroutine object `: wrap it in " -"a future. Return a :class:`Task` object." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:602 -msgid "If the argument is a :class:`Future`, it is returned directly." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:606 -msgid "The function accepts any :term:`awaitable` object." -msgstr "La fonction accepte n'importe quel objet :term:`awaitable`." - -#: ../Doc/library/asyncio-task.rst:611 -msgid "" -":func:`create_task` (added in Python 3.7) is the preferable way for spawning " -"new tasks." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:616 -msgid "" -"The :func:`create_task` function and :meth:`AbstractEventLoop.create_task` " -"method." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:621 -msgid "" -"Wrap a :class:`concurrent.futures.Future` object in a :class:`Future` object." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:626 -msgid "" -"Return a future aggregating results from the given coroutine objects or " -"futures." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:629 -msgid "" -"All futures must share the same event loop. If all the tasks are done " -"successfully, the returned future's result is the list of results (in the " -"order of the original sequence, not necessarily the order of results " -"arrival). If *return_exceptions* is true, exceptions in the tasks are " -"treated the same as successful results, and gathered in the result list; " -"otherwise, the first raised exception will be immediately propagated to the " -"returned future." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:637 -msgid "" -"Cancellation: if the outer Future is cancelled, all children (that have not " -"completed yet) are also cancelled. If any child is cancelled, this is " -"treated as if it raised :exc:`~concurrent.futures.CancelledError` -- the " -"outer Future is *not* cancelled in this case. (This is to prevent the " -"cancellation of one child to cause other children to be cancelled.)" -msgstr "" - -#: ../Doc/library/asyncio-task.rst:643 +#: ../Doc/library/asyncio-task.rst:367 msgid "" "If the *gather* itself is cancelled, the cancellation is propagated " "regardless of *return_exceptions*." msgstr "" -#: ../Doc/library/asyncio-task.rst:649 +#: ../Doc/library/asyncio-task.rst:373 +msgid "Shielding From Cancellation" +msgstr "Protection contre l'annulation" + +#: ../Doc/library/asyncio-task.rst:377 msgid "" -"Return ``True`` if *obj* is a :ref:`coroutine object `, which may " -"be based on a generator or an :keyword:`async def` coroutine." +"Protect an :ref:`awaitable object ` from being :meth:" +"`cancelled `." msgstr "" -#: ../Doc/library/asyncio-task.rst:654 -msgid "" -"Return ``True`` if *func* is determined to be a :ref:`coroutine function " -"`, which may be a decorated generator function or an :keyword:" -"`async def` function." +#: ../Doc/library/asyncio-task.rst:380 ../Doc/library/asyncio-task.rst:417 +msgid "If *aw* is a coroutine it is automatically scheduled as a Task." msgstr "" -#: ../Doc/library/asyncio-task.rst:660 -msgid "Submit a :ref:`coroutine object ` to a given event loop." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:662 -msgid "Return a :class:`concurrent.futures.Future` to access the result." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:664 -msgid "" -"This function is meant to be called from a different thread than the one " -"where the event loop is running. Usage::" -msgstr "" - -#: ../Doc/library/asyncio-task.rst:674 -msgid "" -"If an exception is raised in the coroutine, the returned future will be " -"notified. It can also be used to cancel the task in the event loop::" -msgstr "" - -#: ../Doc/library/asyncio-task.rst:687 -msgid "" -"See the :ref:`concurrency and multithreading ` " -"section of the documentation." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:692 -msgid "" -"Unlike other functions from the module, :func:`run_coroutine_threadsafe` " -"requires the *loop* argument to be passed explicitly." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:700 -msgid "" -"Create a :ref:`coroutine ` that completes after a given time (in " -"seconds). If *result* is provided, it is produced to the caller when the " -"coroutine completes." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:704 -msgid "" -"The resolution of the sleep depends on the :ref:`granularity of the event " -"loop `." -msgstr "" - -#: ../Doc/library/asyncio-task.rst:707 ../Doc/library/asyncio-task.rst:774 -msgid "This function is a :ref:`coroutine `." -msgstr "Cette fonction est une :ref:`coroutine `." - -#: ../Doc/library/asyncio-task.rst:711 -msgid "Wait for a future, shielding it from cancellation." -msgstr "Attends un future, en le protégeant des annulations." - -#: ../Doc/library/asyncio-task.rst:713 +#: ../Doc/library/asyncio-task.rst:382 msgid "The statement::" msgstr "L'instruction : ::" -#: ../Doc/library/asyncio-task.rst:717 -msgid "is exactly equivalent to the statement::" -msgstr "est exactement équivalente à l'instruction : ::" +#: ../Doc/library/asyncio-task.rst:386 +msgid "is equivalent to::" +msgstr "est équivalente à ::" -#: ../Doc/library/asyncio-task.rst:721 +#: ../Doc/library/asyncio-task.rst:390 msgid "" -"*except* that if the coroutine containing it is cancelled, the task running " +"*except* that if the coroutine containing it is cancelled, the Task running " "in ``something()`` is not cancelled. From the point of view of " -"``something()``, the cancellation did not happen. But its caller is still " -"cancelled, so the yield-from expression still raises :exc:`~concurrent." -"futures.CancelledError`. Note: If ``something()`` is cancelled by other " -"means this will still cancel ``shield()``." +"``something()``, the cancellation did not happen. Although its caller is " +"still cancelled, so the \"await\" expression still raises a :exc:" +"`CancelledError`." msgstr "" -#: ../Doc/library/asyncio-task.rst:728 +#: ../Doc/library/asyncio-task.rst:396 msgid "" -"If you want to completely ignore cancellation (not recommended) you can " -"combine ``shield()`` with a try/except clause, as follows::" +"If ``something()`` is cancelled by other means (i.e. from within itself) " +"that would also cancel ``shield()``." msgstr "" -#: ../Doc/library/asyncio-task.rst:740 +#: ../Doc/library/asyncio-task.rst:399 msgid "" -"Wait for the Futures and coroutine objects given by the sequence *futures* " -"to complete. Coroutines will be wrapped in Tasks. Returns two sets of :" -"class:`Future`: (done, pending)." +"If it is desired to completely ignore cancellation (not recommended) the " +"``shield()`` function should be combined with a try/except clause, as " +"follows::" msgstr "" -#: ../Doc/library/asyncio-task.rst:744 -msgid "The sequence *futures* must not be empty." -msgstr "" +#: ../Doc/library/asyncio-task.rst:410 +msgid "Timeouts" +msgstr "Délais d'attente" -#: ../Doc/library/asyncio-task.rst:746 +#: ../Doc/library/asyncio-task.rst:414 msgid "" -"*timeout* can be used to control the maximum number of seconds to wait " -"before returning. *timeout* can be an int or float. If *timeout* is not " -"specified or ``None``, there is no limit to the wait time." +"Wait for the *aw* :ref:`awaitable ` to complete with a " +"timeout." msgstr "" -#: ../Doc/library/asyncio-task.rst:750 +#: ../Doc/library/asyncio-task.rst:419 +msgid "" +"*timeout* can either be ``None`` or a float or int number of seconds to wait " +"for. If *timeout* is ``None``, block until the future completes." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:423 +msgid "" +"If a timeout occurs, it cancels the task and raises :exc:`asyncio." +"TimeoutError`." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:426 +msgid "" +"To avoid the task :meth:`cancellation `, wrap it in :func:" +"`shield`." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:429 +msgid "" +"The function will wait until the future is actually cancelled, so the total " +"wait time may exceed the *timeout*." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:432 +msgid "If the wait is cancelled, the future *aw* is also cancelled." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:459 +msgid "" +"When *aw* is cancelled due to a timeout, ``wait_for`` waits for *aw* to be " +"cancelled. Previously, it raised :exc:`asyncio.TimeoutError` immediately." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:466 +msgid "Waiting Primitives" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:471 +msgid "" +"Run :ref:`awaitable objects ` in the *aws* set " +"concurrently and block until the condition specified by *return_when*." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:475 +msgid "" +"If any awaitable in *aws* is a coroutine, it is automatically scheduled as a " +"Task. Passing coroutines objects to ``wait()`` directly is deprecated as it " +"leads to :ref:`confusing behavior `." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:480 +msgid "Returns two sets of Tasks/Futures: ``(done, pending)``." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:482 +msgid "Usage::" +msgstr "Utilisation ::" + +#: ../Doc/library/asyncio-task.rst:489 +msgid "" +"*timeout* (a float or int), if specified, can be used to control the maximum " +"number of seconds to wait before returning." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:492 +msgid "" +"Note that this function does not raise :exc:`asyncio.TimeoutError`. Futures " +"or Tasks that aren't done when the timeout occurs are simply returned in the " +"second set." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:496 msgid "" "*return_when* indicates when this function should return. It must be one of " -"the following constants of the :mod:`concurrent.futures` module:" +"the following constants:" msgstr "" -#: ../Doc/library/asyncio-task.rst:756 +#: ../Doc/library/asyncio-task.rst:502 msgid "Constant" msgstr "Constante" -#: ../Doc/library/asyncio-task.rst:756 +#: ../Doc/library/asyncio-task.rst:502 msgid "Description" msgstr "Description" -#: ../Doc/library/asyncio-task.rst:758 +#: ../Doc/library/asyncio-task.rst:504 msgid ":const:`FIRST_COMPLETED`" msgstr ":const:`FIRST_COMPLETED`" -#: ../Doc/library/asyncio-task.rst:758 +#: ../Doc/library/asyncio-task.rst:504 msgid "The function will return when any future finishes or is cancelled." msgstr "" -#: ../Doc/library/asyncio-task.rst:761 +#: ../Doc/library/asyncio-task.rst:507 msgid ":const:`FIRST_EXCEPTION`" msgstr ":const:`FIRST_EXCEPTION`" -#: ../Doc/library/asyncio-task.rst:761 +#: ../Doc/library/asyncio-task.rst:507 msgid "" "The function will return when any future finishes by raising an exception. " "If no future raises an exception then it is equivalent to :const:" "`ALL_COMPLETED`." msgstr "" -#: ../Doc/library/asyncio-task.rst:767 +#: ../Doc/library/asyncio-task.rst:513 msgid ":const:`ALL_COMPLETED`" msgstr ":const:`ALL_COMPLETED`" -#: ../Doc/library/asyncio-task.rst:767 +#: ../Doc/library/asyncio-task.rst:513 msgid "The function will return when all futures finish or are cancelled." msgstr "" +#: ../Doc/library/asyncio-task.rst:517 +msgid "" +"Unlike :func:`~asyncio.wait_for`, ``wait()`` does not cancel the futures " +"when a timeout occurs." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:523 +msgid "" +"``wait()`` schedules coroutines as Tasks automatically and later returns " +"those implicitly created Task objects in ``(done, pending)`` sets. " +"Therefore the following code won't work as expected::" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:536 +msgid "Here is how the above snippet can be fixed::" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:547 +msgid "Passing coroutine objects to ``wait()`` directly is deprecated." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:553 +msgid "" +"Run :ref:`awaitable objects ` in the *aws* set " +"concurrently. Return an iterator of :class:`Future` objects. Each Future " +"object returned represents the earliest result from the set of the remaining " +"awaitables." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:558 +msgid "" +"Raises :exc:`asyncio.TimeoutError` if the timeout occurs before all Futures " +"are done." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:569 +msgid "Scheduling From Other Threads" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:573 +msgid "Submit a coroutine to the given event loop. Thread-safe." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:575 +msgid "" +"Return a :class:`concurrent.futures.Future` to wait for the result from " +"another OS thread." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:578 +msgid "" +"This function is meant to be called from a different OS thread than the one " +"where the event loop is running. Example::" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:590 +msgid "" +"If an exception is raised in the coroutine, the returned Future will be " +"notified. It can also be used to cancel the task in the event loop::" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:604 +msgid "" +"See the :ref:`concurrency and multithreading ` " +"section of the documentation." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:607 +msgid "" +"Unlike other asyncio functions this functions requires the *loop* argument " +"to be passed explicitly." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:614 +msgid "Introspection" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:619 +msgid "" +"Return the currently running :class:`Task` instance, or ``None`` if no task " +"is running." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:622 +msgid "" +"If *loop* is ``None`` :func:`get_running_loop` is used to get the current " +"loop." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:630 +msgid "Return a set of not yet finished :class:`Task` objects run by the loop." +msgstr "" +"Donne l'ensemble des :class:`Task` non terminées exécutées par la boucle." + +#: ../Doc/library/asyncio-task.rst:633 +msgid "" +"If *loop* is ``None``, :func:`get_running_loop` is used for getting current " +"loop." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:640 +msgid "Task Object" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:644 +msgid "" +"A :class:`Future-like ` object that runs a Python :ref:`coroutine " +"`. Not thread-safe." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:647 +msgid "" +"Tasks are used to run coroutines in event loops. If a coroutine awaits on a " +"Future, the Task suspends the execution of the coroutine and waits for the " +"completion of the Future. When the Future is *done*, the execution of the " +"wrapped coroutine resumes." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:653 +msgid "" +"Event loops use cooperative scheduling: an event loop runs one Task at a " +"time. While a Task awaits for the completion of a Future, the event loop " +"runs other Tasks, callbacks, or performs IO operations." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:658 +msgid "" +"Use the high-level :func:`asyncio.create_task` function to create Tasks, or " +"the low-level :meth:`loop.create_task` or :func:`ensure_future` functions. " +"Manual instantiation of Tasks is discouraged." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:663 +msgid "" +"To cancel a running Task use the :meth:`cancel` method. Calling it will " +"cause the Task to throw a :exc:`CancelledError` exception into the wrapped " +"coroutine. If a coroutine is awaiting on a Future object during " +"cancellation, the Future object will be cancelled." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:668 +msgid "" +":meth:`cancelled` can be used to check if the Task was cancelled. The method " +"returns ``True`` if the wrapped coroutine did not suppress the :exc:" +"`CancelledError` exception and was actually cancelled." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:673 +msgid "" +":class:`asyncio.Task` inherits from :class:`Future` all of its APIs except :" +"meth:`Future.set_result` and :meth:`Future.set_exception`." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:677 +msgid "" +"Tasks support the :mod:`contextvars` module. When a Task is created it " +"copies the current context and later runs its coroutine in the copied " +"context." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:681 +msgid "Added support for the :mod:`contextvars` module." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:686 +msgid "Request the Task to be cancelled." +msgstr "Demande à ce qu'une tâche soit annulée." + +#: ../Doc/library/asyncio-task.rst:688 +msgid "" +"This arranges for a :exc:`CancelledError` exception to be thrown into the " +"wrapped coroutine on the next cycle of the event loop." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:691 +msgid "" +"The coroutine then has a chance to clean up or even deny the request by " +"suppressing the exception with a :keyword:`try` ... ... ``except " +"CancelledError`` ... :keyword:`finally` block. Therefore, unlike :meth:" +"`Future.cancel`, :meth:`Task.cancel` does not guarantee that the Task will " +"be cancelled, although suppressing cancellation completely is not common and " +"is actively discouraged." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:701 +msgid "" +"The following example illustrates how coroutines can intercept the " +"cancellation request::" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:740 +msgid "Return ``True`` if the Task is *cancelled*." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:742 +msgid "" +"The Task is *cancelled* when the cancellation was requested with :meth:" +"`cancel` and the wrapped coroutine propagated the :exc:`CancelledError` " +"exception thrown into it." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:748 +msgid "Return ``True`` if the Task is *done*." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:750 +msgid "" +"A Task is *done* when the wrapped coroutine either returned a value, raised " +"an exception, or the Task was cancelled." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:755 +msgid "Return the result of the Task." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:757 +msgid "" +"If the Task is *done*, the result of the wrapped coroutine is returned (or " +"if the coroutine raised an exception, that exception is re-raised.)" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:761 ../Doc/library/asyncio-task.rst:775 +msgid "" +"If the Task has been *cancelled*, this method raises a :exc:`CancelledError` " +"exception." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:764 +msgid "" +"If the Task's result isn't yet available, this method raises a :exc:" +"`InvalidStateError` exception." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:769 +msgid "Return the exception of the Task." +msgstr "" + #: ../Doc/library/asyncio-task.rst:771 msgid "" -"Unlike :func:`~asyncio.wait_for`, ``wait()`` will not cancel the futures " -"when a timeout occurs." +"If the wrapped coroutine raised an exception that exception is returned. If " +"the wrapped coroutine returned normally this method returns ``None``." msgstr "" -#: ../Doc/library/asyncio-task.rst:776 -msgid "Usage::" -msgstr "Utilisation ::" - -#: ../Doc/library/asyncio-task.rst:782 +#: ../Doc/library/asyncio-task.rst:778 msgid "" -"This does not raise :exc:`asyncio.TimeoutError`! Futures that aren't done " -"when the timeout occurs are returned in the second set." +"If the Task isn't *done* yet, this method raises an :exc:`InvalidStateError` " +"exception." msgstr "" -#: ../Doc/library/asyncio-task.rst:788 +#: ../Doc/library/asyncio-task.rst:783 +msgid "Add a callback to be run when the Task is *done*." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:785 ../Doc/library/asyncio-task.rst:794 +msgid "This method should only be used in low-level callback-based code." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:787 msgid "" -"Wait for the single :class:`Future` or :ref:`coroutine object ` " -"to complete with timeout. If *timeout* is ``None``, block until the future " -"completes." +"See the documentation of :meth:`Future.add_done_callback` for more details." msgstr "" #: ../Doc/library/asyncio-task.rst:792 -msgid "Coroutine will be wrapped in :class:`Task`." +msgid "Remove *callback* from the callbacks list." msgstr "" -#: ../Doc/library/asyncio-task.rst:794 +#: ../Doc/library/asyncio-task.rst:796 msgid "" -"Returns result of the Future or coroutine. When a timeout occurs, it " -"cancels the task and raises :exc:`asyncio.TimeoutError`. To avoid the task " -"cancellation, wrap it in :func:`shield`. The function will wait until the " -"future is actually cancelled, so the total wait time may exceed the " -"*timeout*." +"See the documentation of :meth:`Future.remove_done_callback` for more " +"details." msgstr "" -#: ../Doc/library/asyncio-task.rst:800 -msgid "If the wait is cancelled, the future *fut* is also cancelled." +#: ../Doc/library/asyncio-task.rst:801 +msgid "Return the list of stack frames for this Task." msgstr "" -#: ../Doc/library/asyncio-task.rst:802 -msgid "This function is a :ref:`coroutine `, usage::" -msgstr "Cette fonction est une :ref:`coroutine `, utilisation : ::" - -#: ../Doc/library/asyncio-task.rst:806 -msgid "If the wait is cancelled, the future *fut* is now also cancelled." +#: ../Doc/library/asyncio-task.rst:803 +msgid "" +"If the wrapped coroutine is not done, this returns the stack where it is " +"suspended. If the coroutine has completed successfully or was cancelled, " +"this returns an empty list. If the coroutine was terminated by an exception, " +"this returns the list of traceback frames." msgstr "" #: ../Doc/library/asyncio-task.rst:809 -msgid "" -"When *fut* is cancelled due to a timeout, ``wait_for`` now waits for *fut* " -"to be cancelled. Previously, it raised :exc:`~asyncio.TimeoutError` " -"immediately." +msgid "The frames are always ordered from oldest to newest." msgstr "" +#: ../Doc/library/asyncio-task.rst:811 +msgid "Only one stack frame is returned for a suspended coroutine." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:813 +msgid "" +"The optional *limit* argument sets the maximum number of frames to return; " +"by default all available frames are returned. The ordering of the returned " +"list differs depending on whether a stack or a traceback is returned: the " +"newest frames of a stack are returned, but the oldest frames of a traceback " +"are returned. (This matches the behavior of the traceback module.)" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:822 +msgid "Print the stack or traceback for this Task." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:824 +msgid "" +"This produces output similar to that of the traceback module for the frames " +"retrieved by :meth:`get_stack`." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:827 +msgid "The *limit* argument is passed to :meth:`get_stack` directly." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:829 +msgid "" +"The *file* argument is an I/O stream to which the output is written; by " +"default output is written to :data:`sys.stderr`." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:834 +msgid "Return a set of all tasks for an event loop." +msgstr "Donne l'ensemble des tâches d'une boucle d'évènements." + +#: ../Doc/library/asyncio-task.rst:836 +msgid "" +"By default all tasks for the current event loop are returned. If *loop* is " +"``None``, the :func:`get_event_loop` function is used to get the current " +"loop." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:840 +msgid "" +"This method is **deprecated** and will be removed in Python 3.9. Use the :" +"func:`asyncio.all_tasks` function instead." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:845 +msgid "Return the currently running task or ``None``." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:847 +msgid "" +"If *loop* is ``None``, the :func:`get_event_loop` function is used to get " +"the current loop." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:850 +msgid "" +"This method is **deprecated** and will be removed in Python 3.9. Use the :" +"func:`asyncio.current_task` function instead." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:858 +msgid "Generator-based Coroutines" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:862 +msgid "" +"Support for generator-based coroutines is **deprecated** and is scheduled " +"for removal in Python 3.10." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:865 +msgid "" +"Generator-based coroutines predate async/await syntax. They are Python " +"generators that use ``yield from`` expressions to await on Futures and other " +"coroutines." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:869 +msgid "" +"Generator-based coroutines should be decorated with :func:`@asyncio." +"coroutine `, although this is not enforced." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:876 +msgid "Decorator to mark generator-based coroutines." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:878 +msgid "" +"This decorator enables legacy generator-based coroutines to be compatible " +"with async/await code::" +msgstr "" + +#: ../Doc/library/asyncio-task.rst:888 +msgid "" +"This decorator is **deprecated** and is scheduled for removal in Python 3.10." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:891 +msgid "This decorator should not be used for :keyword:`async def` coroutines." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:896 +msgid "Return ``True`` if *obj* is a :ref:`coroutine object `." +msgstr "Renvoie ``True`` si *obj* est un :ref:`objet coroutine `." + +#: ../Doc/library/asyncio-task.rst:898 +msgid "" +"This method is different from :func:`inspect.iscoroutine` because it returns " +"``True`` for generator-based coroutines." +msgstr "" + +#: ../Doc/library/asyncio-task.rst:903 +msgid "Return ``True`` if *func* is a :ref:`coroutine function `." +msgstr "" +"Renvoie ``True`` si *func* est une :ref:`fonction coroutine `." + +#: ../Doc/library/asyncio-task.rst:906 +msgid "" +"This method is different from :func:`inspect.iscoroutinefunction` because it " +"returns ``True`` for generator-based coroutine functions decorated with :" +"func:`@coroutine `." +msgstr "" + +#~ msgid "Tasks and coroutines" +#~ msgstr "Tâches et coroutines" + +#~ msgid "Things a coroutine can do:" +#~ msgstr "Les choses que les coroutines peuvent faire :" + +#~ msgid "Example: Hello World coroutine" +#~ msgstr "Exemple : Coroutine \"Hello World\"" + +#~ msgid "Example: Chain coroutines" +#~ msgstr "Exemple : Chaîner des coroutines" + +#~ msgid "InvalidStateError" +#~ msgstr "InvalidStateError" + +#~ msgid "The operation is not allowed in this state." +#~ msgstr "L'opération n'est pas autorisée dans cet état." + +#~ msgid "The operation exceeded the given deadline." +#~ msgstr "L'opération a dépassé le délai donné." + +#~ msgid "Differences:" +#~ msgstr "Différences :" + +#~ msgid "Returns the number of callbacks removed." +#~ msgstr "Donne le nombre de fonctions de rappel supprimées." + +#~ msgid "Mark the future done and set its result." +#~ msgstr "Marque le futur comme terminé et définit son résultat." + +#~ msgid "Mark the future done and set an exception." +#~ msgstr "Marque le futur comme terminé et définit une exception." + +#~ msgid "Example: Future with run_until_complete()" +#~ msgstr "Exemple : Futur avec ``run_until_complete()``" + +#~ msgid "Example: Future with run_forever()" +#~ msgstr "Exemple : Futur avec ``run_forever()``" + +#~ msgid "Example: Parallel execution of tasks" +#~ msgstr "Exemple : Exécution parallèle de tâches" + +#~ msgid "Example executing 3 tasks (A, B, C) in parallel::" +#~ msgstr "Exemple d'exécution de trois tâches (A, B, C) en parallèle : ::" + +#~ msgid "Output::" +#~ msgstr "Sortie ::" + +#~ msgid "The function accepts any :term:`awaitable` object." +#~ msgstr "La fonction accepte n'importe quel objet :term:`awaitable`." + +#~ msgid "This function is a :ref:`coroutine `, usage::" +#~ msgstr "" +#~ "Cette fonction est une :ref:`coroutine `, utilisation : ::" + #~ msgid "A deprecated alias to :func:`ensure_future`." #~ msgstr "Un alias obsolète de :func:`ensure_future`." diff --git a/library/asyncio.po b/library/asyncio.po index 4cb134fe..04473ab8 100644 --- a/library/asyncio.po +++ b/library/asyncio.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" -"PO-Revision-Date: 2018-07-27 23:17+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 09:27+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -16,117 +16,197 @@ msgstr "" "X-Generator: Poedit 2.0.9\n" #: ../Doc/library/asyncio.rst:2 -msgid ":mod:`asyncio` --- Asynchronous I/O, event loop, coroutines and tasks" +msgid ":mod:`asyncio` --- Asynchronous I/O" +msgstr ":mod:`asyncio` — Entrées/Sorties asynchrones" + +#: ../Doc/library/asyncio.rst:None +msgid "Hello World!" msgstr "" -":mod:`asyncio` — Entrées/Sorties asynchrone, boucle d’évènements, coroutines " -"et tâches" -#: ../Doc/library/asyncio.rst:9 -msgid "**Source code:** :source:`Lib/asyncio/`" -msgstr "**Code source :** :source:`Lib/asyncio/`" - -#: ../Doc/library/asyncio.rst:13 +#: ../Doc/library/asyncio.rst:23 msgid "" -"This module provides infrastructure for writing single-threaded concurrent " -"code using coroutines, multiplexing I/O access over sockets and other " -"resources, running network clients and servers, and other related " -"primitives. Here is a more detailed list of the package contents:" +"asyncio is a library to write **concurrent** code using the **async/await** " +"syntax." msgstr "" -"Ce module fournit l’infrastructure pour écrire des programmes à fil " -"d’exécution unique (*single-thread en anglais*) mais permettant l’exécution " -"de code concurrent en utilisant les coroutines, les accès multiplexés aux " -"entrées-sorties par l’intermédiaire de *sockets* ou autres ressources, la " -"gestion de clients et serveurs réseaux et d’autres fonctions primitives " -"associées. Voici une liste plus détaillée du contenu du paquet :" -#: ../Doc/library/asyncio.rst:18 +#: ../Doc/library/asyncio.rst:26 msgid "" -"a pluggable :ref:`event loop ` with various system-" -"specific implementations;" +"asyncio is used as a foundation for multiple Python asynchronous frameworks " +"that provide high-performance network and web-servers, database connection " +"libraries, distributed task queues, etc." msgstr "" -"une :ref:`boucle d’évènements ` prête à l’emploi dont " -"les implémentations sont spécifiques à leur plateforme ;" - -#: ../Doc/library/asyncio.rst:21 -msgid "" -":ref:`transport ` and :ref:`protocol ` " -"abstractions (similar to those in `Twisted `_);" -msgstr "" -"Des abstractions pour les couches :ref:`transport ` et :" -"ref:`protocole ` (similaire à celles proposées par " -"`Twisted `_) ;" - -#: ../Doc/library/asyncio.rst:24 -msgid "" -"concrete support for TCP, UDP, SSL, subprocess pipes, delayed calls, and " -"others (some may be system-dependent);" -msgstr "" -"pour la gestion effective de TCP, UDP, SSL, la communication inter-processus " -"par tubes, les appels différés, et autres (certains peuvent être dépendant " -"du système) ;" - -#: ../Doc/library/asyncio.rst:27 -msgid "" -"a :class:`Future` class that mimics the one in the :mod:`concurrent.futures` " -"module, but adapted for use with the event loop;" -msgstr "" -"une classe :class:`Future` qui imite celle du :mod:`concurrent.futures` " -"module, mais qui est adaptée pour fonctionner avec la boucle d’évènements ;" #: ../Doc/library/asyncio.rst:30 msgid "" -"coroutines and tasks based on ``yield from`` (:PEP:`380`), to help write " -"concurrent code in a sequential fashion;" +"asyncio is often a perfect fit for IO-bound and high-level **structured** " +"network code." msgstr "" -"des coroutines et tâches qui se basent sur ``yield from`` (:PEP:`380`), pour " -"écrire du code concurrent de manière séquentielle ;" #: ../Doc/library/asyncio.rst:33 -msgid "cancellation support for :class:`Future`\\s and coroutines;" +msgid "asyncio provides a set of **high-level** APIs to:" msgstr "" -"annulation de la gestion de la classe :class:`Future`\\s et coroutines ;" #: ../Doc/library/asyncio.rst:35 msgid "" -":ref:`synchronization primitives ` for use between coroutines " -"in a single thread, mimicking those in the :mod:`threading` module;" +":ref:`run Python coroutines ` concurrently and have full control " +"over their execution;" msgstr "" -":ref:`des primitives de synchronisation ` à utiliser entre des " -"coroutines dans un fil d’exécution unique, en imitant celles présentes dans " -"le module :mod:`threading` ;" #: ../Doc/library/asyncio.rst:38 -msgid "" -"an interface for passing work off to a threadpool, for times when you " -"absolutely, positively have to use a library that makes blocking I/O calls." +msgid "perform :ref:`network IO and IPC `;" +msgstr "" + +#: ../Doc/library/asyncio.rst:40 +msgid "control :ref:`subprocesses `;" msgstr "" -"une interface pour déléguer des tâches à un groupe de fils d’exécutions, " -"lorsque vous avez absolument besoin d’utiliser une bibliothèque qui effectue " -"des entrées-sorties bloquantes." #: ../Doc/library/asyncio.rst:42 -msgid "" -"Asynchronous programming is more complex than classical \"sequential\" " -"programming: see the :ref:`Develop with asyncio ` page which " -"lists common traps and explains how to avoid them. :ref:`Enable the debug " -"mode ` during development to detect common issues." +msgid "distribute tasks via :ref:`queues `;" msgstr "" -"Programmer de façon asynchrone est plus complexe que programmer d’une façon " -"séquentielle : lisez la page :ref:`Develop with asyncio ` qui " -"liste les pièges fréquents et explique la manière de les éviter. :ref:" -"`Activer le mode de débogage d’asyncio ` pendant le " -"développement afin de détecter les problèmes courants." -#: ../Doc/library/asyncio.rst:47 -msgid "Table of contents:" -msgstr "Table des matières :" - -#: ../Doc/library/asyncio.rst:64 -msgid "" -"The :mod:`asyncio` module was designed in :PEP:`3156`. For a motivational " -"primer on transports and protocols, see :PEP:`3153`." +#: ../Doc/library/asyncio.rst:44 +msgid ":ref:`synchronize ` concurrent code;" msgstr "" -"Le module :mod:`asyncio` a été présenté dans la :PEP:`3156`. La :PEP:`3153` " -"décrit les motivations premières concernant les couches transports et " -"protocoles." + +#: ../Doc/library/asyncio.rst:46 +msgid "" +"Additionally, there are **low-level** APIs for *library and framework " +"developers* to:" +msgstr "" + +#: ../Doc/library/asyncio.rst:49 +msgid "" +"create and manage :ref:`event loops `, which provide " +"asynchronous APIs for :meth:`networking `, running :meth:" +"`subprocesses `, handling :meth:`OS signals `, etc;" +msgstr "" + +#: ../Doc/library/asyncio.rst:54 +msgid "" +"implement efficient protocols using :ref:`transports `;" +msgstr "" + +#: ../Doc/library/asyncio.rst:57 +msgid "" +":ref:`bridge ` callback-based libraries and code with async/" +"await syntax." +msgstr "" + +#: ../Doc/library/asyncio.rst:65 +msgid "Reference" +msgstr "" + +#: ../Doc/library/asyncio.rst:66 +msgid "High-level APIs" +msgstr "" + +#: ../Doc/library/asyncio.rst:77 +msgid "Low-level APIs" +msgstr "" + +#: ../Doc/library/asyncio.rst:87 +msgid "Guides and Tutorials" +msgstr "" + +#~ msgid "**Source code:** :source:`Lib/asyncio/`" +#~ msgstr "**Code source :** :source:`Lib/asyncio/`" + +#~ msgid "" +#~ "This module provides infrastructure for writing single-threaded " +#~ "concurrent code using coroutines, multiplexing I/O access over sockets " +#~ "and other resources, running network clients and servers, and other " +#~ "related primitives. Here is a more detailed list of the package contents:" +#~ msgstr "" +#~ "Ce module fournit l’infrastructure pour écrire des programmes à fil " +#~ "d’exécution unique (*single-thread en anglais*) mais permettant " +#~ "l’exécution de code concurrent en utilisant les coroutines, les accès " +#~ "multiplexés aux entrées-sorties par l’intermédiaire de *sockets* ou " +#~ "autres ressources, la gestion de clients et serveurs réseaux et d’autres " +#~ "fonctions primitives associées. Voici une liste plus détaillée du contenu " +#~ "du paquet :" + +#~ msgid "" +#~ "a pluggable :ref:`event loop ` with various system-" +#~ "specific implementations;" +#~ msgstr "" +#~ "une :ref:`boucle d’évènements ` prête à l’emploi dont " +#~ "les implémentations sont spécifiques à leur plateforme ;" + +#~ msgid "" +#~ ":ref:`transport ` and :ref:`protocol ` abstractions (similar to those in `Twisted `_);" +#~ msgstr "" +#~ "Des abstractions pour les couches :ref:`transport ` " +#~ "et :ref:`protocole ` (similaire à celles proposées par " +#~ "`Twisted `_) ;" + +#~ msgid "" +#~ "concrete support for TCP, UDP, SSL, subprocess pipes, delayed calls, and " +#~ "others (some may be system-dependent);" +#~ msgstr "" +#~ "pour la gestion effective de TCP, UDP, SSL, la communication inter-" +#~ "processus par tubes, les appels différés, et autres (certains peuvent " +#~ "être dépendant du système) ;" + +#~ msgid "" +#~ "a :class:`Future` class that mimics the one in the :mod:`concurrent." +#~ "futures` module, but adapted for use with the event loop;" +#~ msgstr "" +#~ "une classe :class:`Future` qui imite celle du :mod:`concurrent.futures` " +#~ "module, mais qui est adaptée pour fonctionner avec la boucle " +#~ "d’évènements ;" + +#~ msgid "" +#~ "coroutines and tasks based on ``yield from`` (:PEP:`380`), to help write " +#~ "concurrent code in a sequential fashion;" +#~ msgstr "" +#~ "des coroutines et tâches qui se basent sur ``yield from`` (:PEP:`380`), " +#~ "pour écrire du code concurrent de manière séquentielle ;" + +#~ msgid "cancellation support for :class:`Future`\\s and coroutines;" +#~ msgstr "" +#~ "annulation de la gestion de la classe :class:`Future`\\s et coroutines ;" + +#~ msgid "" +#~ ":ref:`synchronization primitives ` for use between " +#~ "coroutines in a single thread, mimicking those in the :mod:`threading` " +#~ "module;" +#~ msgstr "" +#~ ":ref:`des primitives de synchronisation ` à utiliser entre " +#~ "des coroutines dans un fil d’exécution unique, en imitant celles " +#~ "présentes dans le module :mod:`threading` ;" + +#~ msgid "" +#~ "an interface for passing work off to a threadpool, for times when you " +#~ "absolutely, positively have to use a library that makes blocking I/O " +#~ "calls." +#~ msgstr "" +#~ "une interface pour déléguer des tâches à un groupe de fils d’exécutions, " +#~ "lorsque vous avez absolument besoin d’utiliser une bibliothèque qui " +#~ "effectue des entrées-sorties bloquantes." + +#~ msgid "" +#~ "Asynchronous programming is more complex than classical \"sequential\" " +#~ "programming: see the :ref:`Develop with asyncio ` page which " +#~ "lists common traps and explains how to avoid them. :ref:`Enable the debug " +#~ "mode ` during development to detect common issues." +#~ msgstr "" +#~ "Programmer de façon asynchrone est plus complexe que programmer d’une " +#~ "façon séquentielle : lisez la page :ref:`Develop with asyncio ` qui liste les pièges fréquents et explique la manière de les " +#~ "éviter. :ref:`Activer le mode de débogage d’asyncio ` " +#~ "pendant le développement afin de détecter les problèmes courants." + +#~ msgid "Table of contents:" +#~ msgstr "Table des matières :" + +#~ msgid "" +#~ "The :mod:`asyncio` module was designed in :PEP:`3156`. For a motivational " +#~ "primer on transports and protocols, see :PEP:`3153`." +#~ msgstr "" +#~ "Le module :mod:`asyncio` a été présenté dans la :PEP:`3156`. La :PEP:" +#~ "`3153` décrit les motivations premières concernant les couches transports " +#~ "et protocoles." diff --git a/library/atexit.po b/library/atexit.po index 76dfea0d..7c19634d 100644 --- a/library/atexit.po +++ b/library/atexit.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" -"PO-Revision-Date: 2018-10-04 15:33+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 09:30+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -71,7 +71,7 @@ msgstr "" msgid "" "At normal program termination (for instance, if :func:`sys.exit` is called " "or the main module's execution completes), all functions registered are " -"called in last in, first out order. The assumption is that lower level " +"called in last in, first out order. The assumption is that lower level " "modules will normally be imported before higher level modules and thus must " "be cleaned up later." msgstr "" diff --git a/library/collections.po b/library/collections.po index 5e5a4f15..1c25a580 100644 --- a/library/collections.po +++ b/library/collections.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-10-05 15:34+0200\n" +"Last-Translator: Guillaume Fayard \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: Guillaume Fayard \n" "X-Generator: Poedit 2.1.1\n" #: ../Doc/library/collections.rst:2 @@ -347,11 +347,11 @@ msgstr "" "profondeur, on peut facilement faire une sous-classe qui met à jour les clés " "trouvées de la chaîne en profondeur : ::" -#: ../Doc/library/collections.rst:205 +#: ../Doc/library/collections.rst:206 msgid ":class:`Counter` objects" msgstr "Objets :class:`Counter`" -#: ../Doc/library/collections.rst:207 +#: ../Doc/library/collections.rst:208 msgid "" "A counter tool is provided to support convenient and rapid tallies. For " "example::" @@ -359,7 +359,7 @@ msgstr "" "Ce module fournit un outil pour effectuer rapidement et facilement des " "dénombrements. Par exemple : ::" -#: ../Doc/library/collections.rst:226 +#: ../Doc/library/collections.rst:227 msgid "" "A :class:`Counter` is a :class:`dict` subclass for counting hashable " "objects. It is an unordered collection where elements are stored as " @@ -375,7 +375,7 @@ msgstr "" "`Counter` est similaire aux sacs ou aux multiensembles dans d'autres " "langages." -#: ../Doc/library/collections.rst:232 +#: ../Doc/library/collections.rst:233 msgid "" "Elements are counted from an *iterable* or initialized from another " "*mapping* (or counter):" @@ -383,7 +383,7 @@ msgstr "" "Les éléments sont comptés à partir d'un itérable ou initialisés à partir " "d'un autre dictionnaire (ou compteur) :" -#: ../Doc/library/collections.rst:240 +#: ../Doc/library/collections.rst:241 msgid "" "Counter objects have a dictionary interface except that they return a zero " "count for missing items instead of raising a :exc:`KeyError`:" @@ -392,7 +392,7 @@ msgstr "" "qu'ils renvoient zéro au lieu de lever une exception :exc:`KeyError` pour " "des éléments manquants :" -#: ../Doc/library/collections.rst:247 +#: ../Doc/library/collections.rst:248 msgid "" "Setting a count to zero does not remove an element from a counter. Use " "``del`` to remove it entirely:" @@ -400,7 +400,7 @@ msgstr "" "Mettre un comptage à zéro pour un élément ne le retire pas de l'objet " "Counter. Il faut utiliser ``del`` pour le supprimer complètement :" -#: ../Doc/library/collections.rst:256 +#: ../Doc/library/collections.rst:257 msgid "" "Counter objects support three methods beyond those available for all " "dictionaries:" @@ -408,7 +408,7 @@ msgstr "" "En plus des méthodes disponibles pour tous les dictionnaires, les objets " "compteurs gèrent trois méthodes supplémentaires :" -#: ../Doc/library/collections.rst:261 +#: ../Doc/library/collections.rst:262 msgid "" "Return an iterator over elements repeating each as many times as its count. " "Elements are returned in arbitrary order. If an element's count is less " @@ -419,7 +419,7 @@ msgstr "" "arbitraire. Si le comptage d'un élément est strictement inférieur à 1, " "alors :meth:`elements` l'ignore." -#: ../Doc/library/collections.rst:271 +#: ../Doc/library/collections.rst:272 msgid "" "Return a list of the *n* most common elements and their counts from the most " "common to the least. If *n* is omitted or ``None``, :meth:`most_common` " @@ -432,7 +432,7 @@ msgstr "" "éléments qui ont le même nombre d'occurrences sont ordonnés de manière " "arbitraire :" -#: ../Doc/library/collections.rst:281 +#: ../Doc/library/collections.rst:282 msgid "" "Elements are subtracted from an *iterable* or from another *mapping* (or " "counter). Like :meth:`dict.update` but subtracts counts instead of " @@ -443,7 +443,7 @@ msgstr "" "update` mais soustrait les nombres d'occurrences au lieu de les remplacer. " "Les entrées et sorties peuvent être négatives ou nulles." -#: ../Doc/library/collections.rst:293 +#: ../Doc/library/collections.rst:294 msgid "" "The usual dictionary methods are available for :class:`Counter` objects " "except for two which work differently for counters." @@ -452,13 +452,13 @@ msgstr "" "class:`Counter` à l'exception de deux méthodes qui fonctionnent différemment " "pour les compteurs." -#: ../Doc/library/collections.rst:298 +#: ../Doc/library/collections.rst:299 msgid "This class method is not implemented for :class:`Counter` objects." msgstr "" "Cette méthode de classe n'est pas implémentée pour les objets :class:" "`Counter`." -#: ../Doc/library/collections.rst:302 +#: ../Doc/library/collections.rst:303 msgid "" "Elements are counted from an *iterable* or added-in from another *mapping* " "(or counter). Like :meth:`dict.update` but adds counts instead of replacing " @@ -471,11 +471,11 @@ msgstr "" "De plus, l'itérable doit être une séquence d'éléments et non une séquence de " "paires ``(clé, valeur)``." -#: ../Doc/library/collections.rst:307 +#: ../Doc/library/collections.rst:308 msgid "Common patterns for working with :class:`Counter` objects::" msgstr "Opérations usuelles sur les objets :class:`Counter` : ::" -#: ../Doc/library/collections.rst:319 +#: ../Doc/library/collections.rst:320 msgid "" "Several mathematical operations are provided for combining :class:`Counter` " "objects to produce multisets (counters that have counts greater than zero). " @@ -495,7 +495,7 @@ msgstr "" "comptages relatifs, mais la sortie exclut les résultats avec des comptages " "négatifs ou nuls." -#: ../Doc/library/collections.rst:337 +#: ../Doc/library/collections.rst:338 msgid "" "Unary addition and subtraction are shortcuts for adding an empty counter or " "subtracting from an empty counter." @@ -504,14 +504,14 @@ msgstr "" "raccourcis pour respectivement additionner un compteur avec un compteur vide " "ou et pour retrancher un compteur d'un compteur vide." -#: ../Doc/library/collections.rst:346 +#: ../Doc/library/collections.rst:347 msgid "" "Added support for unary plus, unary minus, and in-place multiset operations." msgstr "" "Ajout de la gestion des additions et soustractions unaires, et des " "remplacements dans les multiensembles." -#: ../Doc/library/collections.rst:351 +#: ../Doc/library/collections.rst:352 msgid "" "Counters were primarily designed to work with positive integers to represent " "running counts; however, care was taken to not unnecessarily preclude use " @@ -524,7 +524,7 @@ msgstr "" "n'ont pas été écartés. Pour vous aider dans ces cas particuliers, cette " "section documente la plage minimale et les restrictions de type." -#: ../Doc/library/collections.rst:356 +#: ../Doc/library/collections.rst:357 msgid "" "The :class:`Counter` class itself is a dictionary subclass with no " "restrictions on its keys and values. The values are intended to be numbers " @@ -535,7 +535,7 @@ msgstr "" "vocation à être des nombres représentants des comptages, mais il est " "*possible* de stocker n'importe quel type de valeur." -#: ../Doc/library/collections.rst:360 +#: ../Doc/library/collections.rst:361 msgid "" "The :meth:`~Counter.most_common` method requires only that the values be " "orderable." @@ -543,7 +543,7 @@ msgstr "" "La méthode :meth:`~Counter.most_common` exige uniquement que les valeurs " "soient ordonnables." -#: ../Doc/library/collections.rst:362 +#: ../Doc/library/collections.rst:363 msgid "" "For in-place operations such as ``c[key] += 1``, the value type need only " "support addition and subtraction. So fractions, floats, and decimals would " @@ -557,7 +557,7 @@ msgstr "" "même pour :meth:`~Counter.update` et :meth:`~Cointer.substract` qui " "acceptent des valeurs négatives ou nulles dans les entrées et sorties." -#: ../Doc/library/collections.rst:368 +#: ../Doc/library/collections.rst:369 msgid "" "The multiset methods are designed only for use cases with positive values. " "The inputs may be negative or zero, but only outputs with positive values " @@ -570,7 +570,7 @@ msgstr "" "positives sont créées. Il n'y a pas de restriction de type, mais les types " "des valeurs doivent gérer l'addition, la soustraction et la comparaison." -#: ../Doc/library/collections.rst:373 +#: ../Doc/library/collections.rst:374 msgid "" "The :meth:`~Counter.elements` method requires integer counts. It ignores " "zero and negative counts." @@ -578,7 +578,7 @@ msgstr "" "La méthode :meth:`~Counter.elements` exige des valeurs entières et ignore " "les valeurs négatives ou nulles." -#: ../Doc/library/collections.rst:378 +#: ../Doc/library/collections.rst:379 msgid "" "`Bag class `_ in Smalltalk." @@ -586,7 +586,7 @@ msgstr "" "`Bag class `_ dans Smalltalk." -#: ../Doc/library/collections.rst:381 +#: ../Doc/library/collections.rst:382 msgid "" "Wikipedia entry for `Multisets `_." msgstr "" @@ -594,7 +594,7 @@ msgstr "" "Multiensemble>`_ sur Wikipédia (ou `l'article en anglais `_)." -#: ../Doc/library/collections.rst:383 +#: ../Doc/library/collections.rst:384 msgid "" "`C++ multisets `_ tutorial with examples." @@ -602,7 +602,7 @@ msgstr "" "Des guides et exemples à propos des `multiensembles en C++ `_." -#: ../Doc/library/collections.rst:386 +#: ../Doc/library/collections.rst:387 msgid "" "For mathematical operations on multisets and their use cases, see *Knuth, " "Donald. The Art of Computer Programming Volume II, Section 4.6.3, Exercise " @@ -612,7 +612,7 @@ msgstr "" "applications, voir *Knuth, Donald. The Art of Computer Programming Volume " "II, Section 4.6.3, Exercise 19*." -#: ../Doc/library/collections.rst:390 +#: ../Doc/library/collections.rst:391 msgid "" "To enumerate all distinct multisets of a given size over a given set of " "elements, see :func:`itertools.combinations_with_replacement`::" @@ -621,11 +621,11 @@ msgstr "" "ensemble donné d'éléments, voir :func:`itertools." "combinations_with_replacement` : ::" -#: ../Doc/library/collections.rst:397 +#: ../Doc/library/collections.rst:398 msgid ":class:`deque` objects" msgstr "Objets :class:`deque`" -#: ../Doc/library/collections.rst:401 +#: ../Doc/library/collections.rst:402 msgid "" "Returns a new deque object initialized left-to-right (using :meth:`append`) " "with data from *iterable*. If *iterable* is not specified, the new deque is " @@ -635,7 +635,7 @@ msgstr "" "meth:`append`) avec les données d'*iterable*. Si *iterable* n'est pas " "spécifié, alors la nouvelle *deque* est vide." -#: ../Doc/library/collections.rst:404 +#: ../Doc/library/collections.rst:405 msgid "" "Deques are a generalization of stacks and queues (the name is pronounced " "\"deck\" and is short for \"double-ended queue\"). Deques support thread-" @@ -650,7 +650,7 @@ msgstr "" "vue de la mémoire des deux côtés de la *deque*, avec approximativement la " "même performance en *O(1)* dans les deux sens." -#: ../Doc/library/collections.rst:409 +#: ../Doc/library/collections.rst:410 msgid "" "Though :class:`list` objects support similar operations, they are optimized " "for fast fixed-length operations and incur O(n) memory movement costs for " @@ -663,7 +663,7 @@ msgstr "" "et la position de la représentation des données sous-jacentes entraînent des " "coûts de déplacement de mémoire en *O(n)*." -#: ../Doc/library/collections.rst:415 +#: ../Doc/library/collections.rst:416 msgid "" "If *maxlen* is not specified or is ``None``, deques may grow to an arbitrary " "length. Otherwise, the deque is bounded to the specified maximum length. " @@ -682,32 +682,32 @@ msgstr "" "Elles sont aussi utiles pour le suivi de transactions et autres lots de " "données où seule l'activité récente est intéressante." -#: ../Doc/library/collections.rst:424 +#: ../Doc/library/collections.rst:425 msgid "Deque objects support the following methods:" msgstr "Les objets *deques* gèrent les méthodes suivantes :" -#: ../Doc/library/collections.rst:428 +#: ../Doc/library/collections.rst:429 msgid "Add *x* to the right side of the deque." msgstr "Ajoute *x* à l'extrémité droite de la *deque*." -#: ../Doc/library/collections.rst:433 +#: ../Doc/library/collections.rst:434 msgid "Add *x* to the left side of the deque." msgstr "Ajoute *x* à l'extrémité gauche de la *deque*." -#: ../Doc/library/collections.rst:438 +#: ../Doc/library/collections.rst:439 msgid "Remove all elements from the deque leaving it with length 0." msgstr "" "Supprime tous les éléments de la *deque* et la laisse avec une longueur de 0." -#: ../Doc/library/collections.rst:443 +#: ../Doc/library/collections.rst:444 msgid "Create a shallow copy of the deque." msgstr "Crée une copie superficielle de la *deque*." -#: ../Doc/library/collections.rst:450 +#: ../Doc/library/collections.rst:451 msgid "Count the number of deque elements equal to *x*." msgstr "Compte le nombre d'éléments de la *deque* égaux à *x*." -#: ../Doc/library/collections.rst:457 +#: ../Doc/library/collections.rst:458 msgid "" "Extend the right side of the deque by appending elements from the iterable " "argument." @@ -715,7 +715,7 @@ msgstr "" "Étend la *deque* en ajoutant les éléments de l'itérable en argument à son " "extrémité droite." -#: ../Doc/library/collections.rst:463 +#: ../Doc/library/collections.rst:464 msgid "" "Extend the left side of the deque by appending elements from *iterable*. " "Note, the series of left appends results in reversing the order of elements " @@ -725,7 +725,7 @@ msgstr "" "gauche. Dans ce cas, notez que la série d'ajouts inverse l'ordre des " "éléments de l'argument itérable." -#: ../Doc/library/collections.rst:470 +#: ../Doc/library/collections.rst:471 msgid "" "Return the position of *x* in the deque (at or after index *start* and " "before index *stop*). Returns the first match or raises :exc:`ValueError` " @@ -735,11 +735,11 @@ msgstr "" "jusqu'à *stop* exclus). Renvoie la première correspondance ou lève :exc:" "`ValueError` si aucune n'est trouvée." -#: ../Doc/library/collections.rst:479 +#: ../Doc/library/collections.rst:480 msgid "Insert *x* into the deque at position *i*." msgstr "Insère *x* dans la *deque* à la position *i*." -#: ../Doc/library/collections.rst:481 +#: ../Doc/library/collections.rst:482 msgid "" "If the insertion would cause a bounded deque to grow beyond *maxlen*, an :" "exc:`IndexError` is raised." @@ -747,7 +747,7 @@ msgstr "" "Si une insertion provoque un dépassement de la taille limitée d'une *deque*, " "alors elle lève une exception :exc:`IndexError`." -#: ../Doc/library/collections.rst:489 +#: ../Doc/library/collections.rst:490 msgid "" "Remove and return an element from the right side of the deque. If no " "elements are present, raises an :exc:`IndexError`." @@ -755,7 +755,7 @@ msgstr "" "Retire et renvoie un élément de l'extrémité droite de la *deque*. S'il n'y a " "aucun élément, lève une exception :exc:`IndexError`." -#: ../Doc/library/collections.rst:495 +#: ../Doc/library/collections.rst:496 msgid "" "Remove and return an element from the left side of the deque. If no elements " "are present, raises an :exc:`IndexError`." @@ -763,7 +763,7 @@ msgstr "" "Retire et renvoie un élément de l'extrémité gauche de la *deque*. S'il n'y a " "aucun élément, lève une exception :exc:`IndexError`." -#: ../Doc/library/collections.rst:501 +#: ../Doc/library/collections.rst:502 msgid "" "Remove the first occurrence of *value*. If not found, raises a :exc:" "`ValueError`." @@ -771,13 +771,13 @@ msgstr "" "Supprime la première occurrence de *value*. Si aucune occurrence n'est " "trouvée, lève une exception :exc:`ValueError`." -#: ../Doc/library/collections.rst:507 +#: ../Doc/library/collections.rst:508 msgid "Reverse the elements of the deque in-place and then return ``None``." msgstr "" "Inverse le sens des éléments de la *deque* sans créer de copie et renvoie " "``None``." -#: ../Doc/library/collections.rst:514 +#: ../Doc/library/collections.rst:515 msgid "" "Rotate the deque *n* steps to the right. If *n* is negative, rotate to the " "left." @@ -785,7 +785,7 @@ msgstr "" "Décale les éléments de la *deque* de *n* places vers la droite (le dernier " "élément revient au début). Si *n* est négatif, décale vers la gauche." -#: ../Doc/library/collections.rst:517 +#: ../Doc/library/collections.rst:518 msgid "" "When the deque is not empty, rotating one step to the right is equivalent to " "``d.appendleft(d.pop())``, and rotating one step to the left is equivalent " @@ -795,16 +795,16 @@ msgstr "" "équivaut à ``d.appendleft(d.pop())`` et un décalage d'une place vers la " "gauche est équivalent à ``d.append(d.popleft())``." -#: ../Doc/library/collections.rst:522 +#: ../Doc/library/collections.rst:523 msgid "Deque objects also provide one read-only attribute:" msgstr "" "Les objets *deques* fournissent également un attribut en lecture seule :" -#: ../Doc/library/collections.rst:526 +#: ../Doc/library/collections.rst:527 msgid "Maximum size of a deque or ``None`` if unbounded." msgstr "La taille maximale d'une *deque*, ou ``None`` si illimitée." -#: ../Doc/library/collections.rst:531 +#: ../Doc/library/collections.rst:532 msgid "" "In addition to the above, deques support iteration, pickling, ``len(d)``, " "``reversed(d)``, ``copy.copy(d)``, ``copy.deepcopy(d)``, membership testing " @@ -819,7 +819,7 @@ msgstr "" "extrémités mais en *O(n)* au milieu. Pour des accès aléatoires rapides, il " "est préférable d'utiliser des listes." -#: ../Doc/library/collections.rst:537 +#: ../Doc/library/collections.rst:538 msgid "" "Starting in version 3.5, deques support ``__add__()``, ``__mul__()``, and " "``__imul__()``." @@ -827,20 +827,20 @@ msgstr "" "Depuis la version 3.5, les *deques* gèrent ``__add__()``, ``__mul__()`` et " "``__imul__()``." -#: ../Doc/library/collections.rst:540 +#: ../Doc/library/collections.rst:541 msgid "Example:" msgstr "Exemple :" -#: ../Doc/library/collections.rst:597 +#: ../Doc/library/collections.rst:598 msgid ":class:`deque` Recipes" msgstr "Cas pratiques utilisant :class:`deque`" -#: ../Doc/library/collections.rst:599 +#: ../Doc/library/collections.rst:600 msgid "This section shows various approaches to working with deques." msgstr "" "Cette partie montre diverses approches afin de travailler avec les *deques*." -#: ../Doc/library/collections.rst:601 +#: ../Doc/library/collections.rst:602 msgid "" "Bounded length deques provide functionality similar to the ``tail`` filter " "in Unix::" @@ -848,7 +848,7 @@ msgstr "" "Les *deques* à taille limitée apportent une fonctionnalité similaire au " "filtre ``tail`` d'Unix : ::" -#: ../Doc/library/collections.rst:609 +#: ../Doc/library/collections.rst:610 msgid "" "Another approach to using deques is to maintain a sequence of recently added " "elements by appending to the right and popping to the left::" @@ -857,7 +857,7 @@ msgstr "" "d'éléments récemment ajoutés en les ajoutant à droite et en retirant les " "anciens par la gauche : ::" -#: ../Doc/library/collections.rst:624 +#: ../Doc/library/collections.rst:625 msgid "" "A `round-robin scheduler `_ can be implemented with input iterators stored in a :" @@ -873,7 +873,7 @@ msgstr "" "avec la méthode :meth:`~deque.popleft` ; ou bien il peut être remis à la fin " "avec la méthode :meth:`~ deque.rotate` : ::" -#: ../Doc/library/collections.rst:643 +#: ../Doc/library/collections.rst:644 msgid "" "The :meth:`~deque.rotate` method provides a way to implement :class:`deque` " "slicing and deletion. For example, a pure Python implementation of ``del " @@ -885,7 +885,7 @@ msgstr "" "utilise la méthode ``rotate()`` pour mettre en position les éléments à " "éjecter : ::" -#: ../Doc/library/collections.rst:652 +#: ../Doc/library/collections.rst:653 msgid "" "To implement :class:`deque` slicing, use a similar approach applying :meth:" "`~deque.rotate` to bring a target element to the left side of the deque. " @@ -902,11 +902,11 @@ msgstr "" "aisé d'implémenter les manipulations des piles inspirées du Forth telles que " "``dup``, ``drop``, ``swap``, ``over``, ``pick``, ``rot`` et ``roll``." -#: ../Doc/library/collections.rst:662 +#: ../Doc/library/collections.rst:663 msgid ":class:`defaultdict` objects" msgstr "Objets :class:`defaultdict`" -#: ../Doc/library/collections.rst:666 +#: ../Doc/library/collections.rst:667 msgid "" "Returns a new dictionary-like object. :class:`defaultdict` is a subclass of " "the built-in :class:`dict` class. It overrides one method and adds one " @@ -919,7 +919,7 @@ msgstr "" "autres fonctionnalités sont les mêmes que celles des objets :class:`dict` et " "ne sont pas documentées ici." -#: ../Doc/library/collections.rst:671 +#: ../Doc/library/collections.rst:672 msgid "" "The first argument provides the initial value for the :attr:" "`default_factory` attribute; it defaults to ``None``. All remaining " @@ -932,7 +932,7 @@ msgstr "" "si on les passait au constructeur de :class:`dict`, y compris les arguments " "nommés." -#: ../Doc/library/collections.rst:677 +#: ../Doc/library/collections.rst:678 msgid "" ":class:`defaultdict` objects support the following method in addition to the " "standard :class:`dict` operations:" @@ -940,7 +940,7 @@ msgstr "" "En plus des opérations usuelles de :class:`dict`, les objets :class:" "`defaultdict` gèrent les méthodes supplémentaires suivantes :" -#: ../Doc/library/collections.rst:682 +#: ../Doc/library/collections.rst:683 msgid "" "If the :attr:`default_factory` attribute is ``None``, this raises a :exc:" "`KeyError` exception with the *key* as argument." @@ -948,7 +948,7 @@ msgstr "" "Si l'attribut :attr:`default_factory` est ``None``, lève une exception :exc:" "`KeyError` avec *key* comme argument." -#: ../Doc/library/collections.rst:685 +#: ../Doc/library/collections.rst:686 msgid "" "If :attr:`default_factory` is not ``None``, it is called without arguments " "to provide a default value for the given *key*, this value is inserted in " @@ -959,7 +959,7 @@ msgstr "" "Cette valeur est insérée dans le dictionnaire avec pour clé *key* et est " "renvoyée." -#: ../Doc/library/collections.rst:689 +#: ../Doc/library/collections.rst:690 msgid "" "If calling :attr:`default_factory` raises an exception this exception is " "propagated unchanged." @@ -967,7 +967,7 @@ msgstr "" "Si appeler :attr:`default_factory` lève une exception, celle-ci est " "transmise inchangée." -#: ../Doc/library/collections.rst:692 +#: ../Doc/library/collections.rst:693 msgid "" "This method is called by the :meth:`__getitem__` method of the :class:`dict` " "class when the requested key is not found; whatever it returns or raises is " @@ -977,7 +977,7 @@ msgstr "" "class:`dict` lorsque la clé demandée n'est pas trouvée. Ce qu'elle renvoie " "ou lève est alors renvoyé ou levé par :meth:`__getitem__`." -#: ../Doc/library/collections.rst:696 +#: ../Doc/library/collections.rst:697 msgid "" "Note that :meth:`__missing__` is *not* called for any operations besides :" "meth:`__getitem__`. This means that :meth:`get` will, like normal " @@ -989,11 +989,11 @@ msgstr "" "``None`` comme les dictionnaires natifs dans les cas triviaux et n'utilise " "pas :attr:`default_factory`." -#: ../Doc/library/collections.rst:702 +#: ../Doc/library/collections.rst:703 msgid ":class:`defaultdict` objects support the following instance variable:" msgstr "Les objets :class:`defaultdict` gèrent la variable d'instance :" -#: ../Doc/library/collections.rst:707 +#: ../Doc/library/collections.rst:708 msgid "" "This attribute is used by the :meth:`__missing__` method; it is initialized " "from the first argument to the constructor, if present, or to ``None``, if " @@ -1003,11 +1003,11 @@ msgstr "" "initialisé par le premier argument passé au constructeur, s'il est spécifié, " "sinon par ``None``." -#: ../Doc/library/collections.rst:713 +#: ../Doc/library/collections.rst:714 msgid ":class:`defaultdict` Examples" msgstr "Exemples utilisant :class:`defaultdict`" -#: ../Doc/library/collections.rst:715 +#: ../Doc/library/collections.rst:716 msgid "" "Using :class:`list` as the :attr:`~defaultdict.default_factory`, it is easy " "to group a sequence of key-value pairs into a dictionary of lists:" @@ -1016,7 +1016,7 @@ msgstr "" "le regroupement d'une séquence de paires clé-valeur en un dictionnaire de " "listes :" -#: ../Doc/library/collections.rst:726 +#: ../Doc/library/collections.rst:727 msgid "" "When each key is encountered for the first time, it is not already in the " "mapping; so an entry is automatically created using the :attr:`~defaultdict." @@ -1037,7 +1037,7 @@ msgstr "" "technique est plus simple et plus rapide qu'une technique équivalente " "utilisant :meth:`dict.setdefault` :" -#: ../Doc/library/collections.rst:741 +#: ../Doc/library/collections.rst:742 msgid "" "Setting the :attr:`~defaultdict.default_factory` to :class:`int` makes the :" "class:`defaultdict` useful for counting (like a bag or multiset in other " @@ -1047,7 +1047,7 @@ msgstr "" "classe :class:`defaultdict` pratique pour le comptage (comme un sac ou multi-" "ensemble dans d'autres langages) :" -#: ../Doc/library/collections.rst:753 +#: ../Doc/library/collections.rst:754 msgid "" "When a letter is first encountered, it is missing from the mapping, so the :" "attr:`~defaultdict.default_factory` function calls :func:`int` to supply a " @@ -1059,7 +1059,7 @@ msgstr "" "appelle :func:`int` pour mettre un nouveau compteur à zéro. L'incrémentation " "augmente ensuite le comptage pour chaque lettre." -#: ../Doc/library/collections.rst:757 +#: ../Doc/library/collections.rst:758 msgid "" "The function :func:`int` which always returns zero is just a special case of " "constant functions. A faster and more flexible way to create constant " @@ -1071,7 +1071,7 @@ msgstr "" "une fonction constante est d'utiliser une fonction lambda qui peut fournir " "n'importe quelle valeur constante (pas seulement zéro) :" -#: ../Doc/library/collections.rst:769 +#: ../Doc/library/collections.rst:770 msgid "" "Setting the :attr:`~defaultdict.default_factory` to :class:`set` makes the :" "class:`defaultdict` useful for building a dictionary of sets:" @@ -1079,13 +1079,13 @@ msgstr "" "Utiliser :class:`set` comme :attr:`~defaultdict.default_factory` rend la " "classe :class:`defaultdict` pratique pour créer un dictionnaire d'ensembles :" -#: ../Doc/library/collections.rst:782 +#: ../Doc/library/collections.rst:783 msgid ":func:`namedtuple` Factory Function for Tuples with Named Fields" msgstr "" ":func:`namedtuple`: fonction de construction pour *n-uplets* (*tuples*) avec " "des champs nommés" -#: ../Doc/library/collections.rst:784 +#: ../Doc/library/collections.rst:785 msgid "" "Named tuples assign meaning to each position in a tuple and allow for more " "readable, self-documenting code. They can be used wherever regular tuples " @@ -1097,7 +1097,7 @@ msgstr "" "partout où les tuples natifs sont utilisés, et ils ajoutent la possibilité " "d'accéder à leurs champs grâce à leur nom au lieu de leur index de position." -#: ../Doc/library/collections.rst:790 +#: ../Doc/library/collections.rst:791 msgid "" "Returns a new tuple subclass named *typename*. The new subclass is used to " "create tuple-like objects that have fields accessible by attribute lookup as " @@ -1113,7 +1113,7 @@ msgstr "" "méthode :meth:`__repr__` pratique qui liste le contenu du tuple au format " "``nom=valeur``." -#: ../Doc/library/collections.rst:796 +#: ../Doc/library/collections.rst:797 msgid "" "The *field_names* are a sequence of strings such as ``['x', 'y']``. " "Alternatively, *field_names* can be a single string with each fieldname " @@ -1124,7 +1124,7 @@ msgstr "" "sont séparés par un espace et/ou une virgule, par exemple ``'x y'`` ou ``'x, " "y'``." -#: ../Doc/library/collections.rst:800 +#: ../Doc/library/collections.rst:801 msgid "" "Any valid Python identifier may be used for a fieldname except for names " "starting with an underscore. Valid identifiers consist of letters, digits, " @@ -1138,7 +1138,7 @@ msgstr "" "`keyword` tel que ``class``, ``for``, ``return``, ``global``, ``pass`` ou " "``raise``." -#: ../Doc/library/collections.rst:806 +#: ../Doc/library/collections.rst:807 msgid "" "If *rename* is true, invalid fieldnames are automatically replaced with " "positional names. For example, ``['abc', 'def', 'ghi', 'abc']`` is " @@ -1150,7 +1150,7 @@ msgstr "" "'ghi', 'abc']`` est converti en ``['abc, '_1', 'ghi', '_3']`` afin " "d'éliminer le mot-clé ``def`` et le doublon de ``abc``." -#: ../Doc/library/collections.rst:811 +#: ../Doc/library/collections.rst:812 msgid "" "*defaults* can be ``None`` or an :term:`iterable` of default values. Since " "fields with a default value must come after any fields without a default, " @@ -1166,7 +1166,7 @@ msgstr "" "'z']`` et les valeurs par défaut ``(1, 2)``, alors ``x`` est un argument " "obligatoire tandis que ``y`` et ``y`` valent par défaut ``1`` et ``2``." -#: ../Doc/library/collections.rst:818 +#: ../Doc/library/collections.rst:819 msgid "" "If *module* is defined, the ``__module__`` attribute of the named tuple is " "set to that value." @@ -1174,7 +1174,7 @@ msgstr "" "Si *module* est spécifié, alors il est assigné à l'attribut ``__module__`` " "du tuple nommé." -#: ../Doc/library/collections.rst:821 +#: ../Doc/library/collections.rst:822 msgid "" "Named tuple instances do not have per-instance dictionaries, so they are " "lightweight and require no more memory than regular tuples." @@ -1182,11 +1182,11 @@ msgstr "" "Les instances de tuples nommés n'ont pas de dictionnaires propres, elles " "sont donc légères et ne requièrent pas plus de mémoire que les tuples natifs." -#: ../Doc/library/collections.rst:824 +#: ../Doc/library/collections.rst:825 msgid "Added support for *rename*." msgstr "Gestion de *rename*." -#: ../Doc/library/collections.rst:827 +#: ../Doc/library/collections.rst:828 msgid "" "The *verbose* and *rename* parameters became :ref:`keyword-only arguments " "`." @@ -1194,21 +1194,21 @@ msgstr "" "Les paramètres *verbose* et *rename* deviennent des :ref:`arguments " "obligatoirement nommés `." -#: ../Doc/library/collections.rst:831 +#: ../Doc/library/collections.rst:832 msgid "Added the *module* parameter." msgstr "Ajout du paramètre *module*." -#: ../Doc/library/collections.rst:834 +#: ../Doc/library/collections.rst:835 msgid "Remove the *verbose* parameter and the :attr:`_source` attribute." msgstr "Suppression du paramètre *verbose* et de l'attribut :attr:`_source`." -#: ../Doc/library/collections.rst:837 +#: ../Doc/library/collections.rst:838 msgid "" "Added the *defaults* parameter and the :attr:`_field_defaults` attribute." msgstr "" "Ajout du paramètre *defaults* et de l'attribut :attr:`_field_defaults`." -#: ../Doc/library/collections.rst:857 +#: ../Doc/library/collections.rst:858 msgid "" "Named tuples are especially useful for assigning field names to result " "tuples returned by the :mod:`csv` or :mod:`sqlite3` modules::" @@ -1217,7 +1217,7 @@ msgstr "" "champs à des tuples renvoyés par les modules :mod:`csv` ou :mod:" "`sqlite3` : ::" -#: ../Doc/library/collections.rst:873 +#: ../Doc/library/collections.rst:874 msgid "" "In addition to the methods inherited from tuples, named tuples support three " "additional methods and two attributes. To prevent conflicts with field " @@ -1227,14 +1227,14 @@ msgstr "" "trois méthodes et deux attributs supplémentaires. Pour éviter les conflits " "avec noms de champs, leurs noms commencent par un tiret bas." -#: ../Doc/library/collections.rst:879 +#: ../Doc/library/collections.rst:880 msgid "" "Class method that makes a new instance from an existing sequence or iterable." msgstr "" "Méthode de classe qui construit une nouvelle instance à partir d'une " "séquence ou d'un itérable existant." -#: ../Doc/library/collections.rst:889 +#: ../Doc/library/collections.rst:890 msgid "" "Return a new :class:`OrderedDict` which maps field names to their " "corresponding values:" @@ -1242,11 +1242,11 @@ msgstr "" "Renvoie un nouvel :class:`OrderedDict` qui associe chaque nom de champ à sa " "valeur correspondante :" -#: ../Doc/library/collections.rst:898 +#: ../Doc/library/collections.rst:899 msgid "Returns an :class:`OrderedDict` instead of a regular :class:`dict`." msgstr "Renvoie un :class:`OrderedDict` au lieu d'un :class:`dict` natif." -#: ../Doc/library/collections.rst:903 +#: ../Doc/library/collections.rst:904 msgid "" "Return a new instance of the named tuple replacing specified fields with new " "values::" @@ -1254,7 +1254,7 @@ msgstr "" "Renvoie une nouvelle instance du tuple nommé en remplaçant les champs " "spécifiés par leurs nouvelles valeurs : ::" -#: ../Doc/library/collections.rst:915 +#: ../Doc/library/collections.rst:916 msgid "" "Tuple of strings listing the field names. Useful for introspection and for " "creating new named tuple types from existing named tuples." @@ -1263,11 +1263,11 @@ msgstr "" "l'introspection et pour créer de nouveaux types de tuples nommés à partir " "d'existants." -#: ../Doc/library/collections.rst:930 +#: ../Doc/library/collections.rst:931 msgid "Dictionary mapping field names to default values." msgstr "Dictionnaire qui assigne les valeurs par défaut aux noms des champs." -#: ../Doc/library/collections.rst:940 +#: ../Doc/library/collections.rst:941 msgid "" "To retrieve a field whose name is stored in a string, use the :func:" "`getattr` function:" @@ -1275,7 +1275,7 @@ msgstr "" "Pour récupérer un champ dont le nom est une chaîne de caractères, utilisez " "la fonction :func:`getattr` :" -#: ../Doc/library/collections.rst:946 +#: ../Doc/library/collections.rst:947 msgid "" "To convert a dictionary to a named tuple, use the double-star-operator (as " "described in :ref:`tut-unpacking-arguments`):" @@ -1283,7 +1283,7 @@ msgstr "" "Pour convertir un dictionnaire en tuple nommé, utilisez l'opérateur double-" "étoile (comme expliqué dans :ref:`tut-unpacking-arguments`) :" -#: ../Doc/library/collections.rst:953 +#: ../Doc/library/collections.rst:954 msgid "" "Since a named tuple is a regular Python class, it is easy to add or change " "functionality with a subclass. Here is how to add a calculated field and a " @@ -1293,7 +1293,7 @@ msgstr "" "grâce à l'héritage puisqu'il s'agit de simples classes. Voici comment " "ajouter un champ calculé avec une longueur fixe d'affichage :" -#: ../Doc/library/collections.rst:972 +#: ../Doc/library/collections.rst:973 msgid "" "The subclass shown above sets ``__slots__`` to an empty tuple. This helps " "keep memory requirements low by preventing the creation of instance " @@ -1303,7 +1303,7 @@ msgstr "" "permet de garder une emprunte mémoire faible en empêchant la création de " "dictionnaire d'instance." -#: ../Doc/library/collections.rst:975 +#: ../Doc/library/collections.rst:976 msgid "" "Subclassing is not useful for adding new, stored fields. Instead, simply " "create a new named tuple type from the :attr:`~somenamedtuple._fields` " @@ -1313,7 +1313,7 @@ msgstr "" "préférable de simplement créer un nouveau type de tuple nommé avec " "l'attribut :attr:`~somenamedtuple._fields` :" -#: ../Doc/library/collections.rst:980 +#: ../Doc/library/collections.rst:981 msgid "" "Docstrings can be customized by making direct assignments to the ``__doc__`` " "fields:" @@ -1321,11 +1321,11 @@ msgstr "" "Les *docstrings* peuvent être personnalisées en modifiant directement " "l'attribut ``__doc__`` :" -#: ../Doc/library/collections.rst:989 +#: ../Doc/library/collections.rst:990 msgid "Property docstrings became writeable." msgstr "La propriété devient éditable." -#: ../Doc/library/collections.rst:992 +#: ../Doc/library/collections.rst:993 msgid "" "Default values can be implemented by using :meth:`~somenamedtuple._replace` " "to customize a prototype instance:" @@ -1333,7 +1333,7 @@ msgstr "" "Les valeurs par défaut peuvent être implémentées en utilisant :meth:" "`~somenamedtuple._replace` pour personnaliser une instance prototype :" -#: ../Doc/library/collections.rst:1003 +#: ../Doc/library/collections.rst:1004 msgid "" "`Recipe for named tuple abstract base class with a metaclass mix-in ` of :class:" "`OrderedDict` now support reverse iteration using :func:`reversed`." @@ -1451,7 +1451,7 @@ msgstr "" "class:`OrderedDict` gèrent maintenant l'itération en sens inverse en " "utilisant :func:`reversed`." -#: ../Doc/library/collections.rst:1071 +#: ../Doc/library/collections.rst:1072 msgid "" "With the acceptance of :pep:`468`, order is retained for keyword arguments " "passed to the :class:`OrderedDict` constructor and its :meth:`update` method." @@ -1460,11 +1460,11 @@ msgstr "" "au constructeur et à la méthode :meth:`update` de :class:`OrderedDict` est " "conservé." -#: ../Doc/library/collections.rst:1077 +#: ../Doc/library/collections.rst:1078 msgid ":class:`OrderedDict` Examples and Recipes" msgstr "Exemples et cas pratiques utilisant :class:`OrderDict`" -#: ../Doc/library/collections.rst:1079 +#: ../Doc/library/collections.rst:1080 msgid "" "Since an ordered dictionary remembers its insertion order, it can be used in " "conjunction with sorting to make a sorted dictionary::" @@ -1473,7 +1473,7 @@ msgstr "" "il peut être utilisé conjointement avec un classement pour créer un " "dictionnaire trié : ::" -#: ../Doc/library/collections.rst:1097 +#: ../Doc/library/collections.rst:1098 msgid "" "The new sorted dictionaries maintain their sort order when entries are " "deleted. But when new keys are added, the keys are appended to the end and " @@ -1483,7 +1483,7 @@ msgstr "" "sont supprimées, mais si de nouvelles clés sont ajoutées, celles-ci sont " "ajoutée à la fin et le classement est perdu." -#: ../Doc/library/collections.rst:1101 +#: ../Doc/library/collections.rst:1102 msgid "" "It is also straight-forward to create an ordered dictionary variant that " "remembers the order the keys were *last* inserted. If a new entry overwrites " @@ -1495,7 +1495,7 @@ msgstr "" "nouvelle entrée écrase une existante, la position d'insertion d'origine est " "modifiée et déplacée à la fin : ::" -#: ../Doc/library/collections.rst:1114 +#: ../Doc/library/collections.rst:1115 msgid "" "An ordered dictionary can be combined with the :class:`Counter` class so " "that the counter remembers the order elements are first encountered::" @@ -1504,11 +1504,11 @@ msgstr "" "afin de mémoriser l'ordre dans lequel les éléments ont été ajoutés pour la " "première fois : ::" -#: ../Doc/library/collections.rst:1128 +#: ../Doc/library/collections.rst:1129 msgid ":class:`UserDict` objects" msgstr "Objets :class:`UserDict`" -#: ../Doc/library/collections.rst:1130 +#: ../Doc/library/collections.rst:1131 msgid "" "The class, :class:`UserDict` acts as a wrapper around dictionary objects. " "The need for this class has been partially supplanted by the ability to " @@ -1521,7 +1521,7 @@ msgstr "" "travailler avec celle-ci car le dictionnaire sous-jacent est accessible " "comme attribut." -#: ../Doc/library/collections.rst:1138 +#: ../Doc/library/collections.rst:1139 msgid "" "Class that simulates a dictionary. The instance's contents are kept in a " "regular dictionary, which is accessible via the :attr:`data` attribute of :" @@ -1535,7 +1535,7 @@ msgstr "" "initialisé avec son contenu. Remarquez qu'une référence vers *initialdata* " "n'est pas conservée, ce qui permet de l'utiliser pour d'autres tâches." -#: ../Doc/library/collections.rst:1144 +#: ../Doc/library/collections.rst:1145 msgid "" "In addition to supporting the methods and operations of mappings, :class:" "`UserDict` instances provide the following attribute:" @@ -1543,18 +1543,18 @@ msgstr "" "En plus de gérer les méthodes et opérations des dictionnaires, les instance " "de :class:`UserDict` fournissent l'attribut suivant :" -#: ../Doc/library/collections.rst:1149 +#: ../Doc/library/collections.rst:1150 msgid "" "A real dictionary used to store the contents of the :class:`UserDict` class." msgstr "" "Un dictionnaire natif où est stocké le contenu de la classe :class:" "`UserDict`." -#: ../Doc/library/collections.rst:1155 +#: ../Doc/library/collections.rst:1156 msgid ":class:`UserList` objects" msgstr "Objets :class:`UserList`" -#: ../Doc/library/collections.rst:1157 +#: ../Doc/library/collections.rst:1158 msgid "" "This class acts as a wrapper around list objects. It is a useful base class " "for your own list-like classes which can inherit from them and override " @@ -1566,7 +1566,7 @@ msgstr "" "et surcharger les méthodes existantes ou en ajouter de nouvelles. Ainsi, on " "peut ajouter de nouveaux comportements aux listes." -#: ../Doc/library/collections.rst:1162 +#: ../Doc/library/collections.rst:1163 msgid "" "The need for this class has been partially supplanted by the ability to " "subclass directly from :class:`list`; however, this class can be easier to " @@ -1577,7 +1577,7 @@ msgstr "" "de travailler avec cette classe car la liste sous-jacente est accessible via " "un attribut." -#: ../Doc/library/collections.rst:1168 +#: ../Doc/library/collections.rst:1169 msgid "" "Class that simulates a list. The instance's contents are kept in a regular " "list, which is accessible via the :attr:`data` attribute of :class:" @@ -1591,7 +1591,7 @@ msgstr "" "*list* peut être un itérable, par exemple une liste native ou un objet :" "class:`UserList`." -#: ../Doc/library/collections.rst:1174 +#: ../Doc/library/collections.rst:1175 msgid "" "In addition to supporting the methods and operations of mutable sequences, :" "class:`UserList` instances provide the following attribute:" @@ -1599,7 +1599,7 @@ msgstr "" "En plus de gérer les méthodes et opérations des séquences muables, les " "instances de :class:`UserList` possèdent l'attribut suivant :" -#: ../Doc/library/collections.rst:1179 +#: ../Doc/library/collections.rst:1180 msgid "" "A real :class:`list` object used to store the contents of the :class:" "`UserList` class." @@ -1607,7 +1607,7 @@ msgstr "" "Un objet :class:`list` natif utilisé pour stocker le contenu de la classe :" "class:`UserList`." -#: ../Doc/library/collections.rst:1182 +#: ../Doc/library/collections.rst:1183 msgid "" "**Subclassing requirements:** Subclasses of :class:`UserList` are expected " "to offer a constructor which can be called with either no arguments or one " @@ -1623,7 +1623,7 @@ msgstr "" "constructeur doit pouvoir être appelé avec un unique paramètre, un objet " "séquence utilisé comme source de données." -#: ../Doc/library/collections.rst:1189 +#: ../Doc/library/collections.rst:1190 msgid "" "If a derived class does not wish to comply with this requirement, all of the " "special methods supported by this class will need to be overridden; please " @@ -1635,11 +1635,11 @@ msgstr "" "de consulter les sources pour obtenir des informations sur les méthodes qui " "doivent être fournies dans ce cas." -#: ../Doc/library/collections.rst:1195 +#: ../Doc/library/collections.rst:1196 msgid ":class:`UserString` objects" msgstr "Objets :class:`UserString`" -#: ../Doc/library/collections.rst:1197 +#: ../Doc/library/collections.rst:1198 msgid "" "The class, :class:`UserString` acts as a wrapper around string objects. The " "need for this class has been partially supplanted by the ability to subclass " @@ -1652,7 +1652,7 @@ msgstr "" "plus facile de travailler avec cette classe car la chaîne de caractère sous-" "jacente est accessible via un attribut." -#: ../Doc/library/collections.rst:1205 +#: ../Doc/library/collections.rst:1206 msgid "" "Class that simulates a string object. The instance's content is kept in a " "regular string object, which is accessible via the :attr:`data` attribute " @@ -1666,7 +1666,7 @@ msgstr "" "initialement une copie de *seq*, qui peut être n'importe quel objet " "convertible en chaîne de caractère avec la fonction native :func:`str`." -#: ../Doc/library/collections.rst:1212 +#: ../Doc/library/collections.rst:1213 msgid "" "In addition to supporting the methods and operations of strings, :class:" "`UserString` instances provide the following attribute:" @@ -1674,7 +1674,7 @@ msgstr "" "En plus de gérer les méthodes et opérations sur les chaînes de caractères, " "les instances de :class:`UserString` possèdent l'attribut suivant :" -#: ../Doc/library/collections.rst:1217 +#: ../Doc/library/collections.rst:1218 msgid "" "A real :class:`str` object used to store the contents of the :class:" "`UserString` class." @@ -1682,7 +1682,7 @@ msgstr "" "Un objet :class:`str` natif utilisé pour stocker le contenu de la classe :" "class:`UserString`." -#: ../Doc/library/collections.rst:1220 +#: ../Doc/library/collections.rst:1221 msgid "" "New methods ``__getnewargs__``, ``__rmod__``, ``casefold``, ``format_map``, " "``isprintable``, and ``maketrans``." diff --git a/library/concurrent.futures.po b/library/concurrent.futures.po index 39d04ca6..df363d18 100644 --- a/library/concurrent.futures.po +++ b/library/concurrent.futures.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -226,7 +226,7 @@ msgid "" "*initializer* is an optional callable that is called at the start of each " "worker process; *initargs* is a tuple of arguments passed to the " "initializer. Should *initializer* raise an exception, all currently pending " -"jobs will raise a :exc:`~concurrent.futures.thread.BrokenThreadPool`, as " +"jobs will raise a :exc:`~concurrent.futures.process.BrokenProcessPool`, as " "well any attempt to submit more jobs to the pool." msgstr "" diff --git a/library/configparser.po b/library/configparser.po index 37f07558..b822a8d8 100644 --- a/library/configparser.po +++ b/library/configparser.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -727,7 +727,7 @@ msgid "" "implicitly converted to strings." msgstr "" -#: ../Doc/library/configparser.rst:952 ../Doc/library/configparser.rst:1224 +#: ../Doc/library/configparser.rst:952 ../Doc/library/configparser.rst:1225 msgid "" "The default *dict_type* is :class:`dict`, since it now preserves insertion " "order." @@ -774,8 +774,8 @@ msgstr "" #: ../Doc/library/configparser.rst:998 msgid "" -"Attempt to read and parse a list of filenames, returning a list of filenames " -"which were successfully parsed." +"Attempt to read and parse an iterable of filenames, returning a list of " +"filenames which were successfully parsed." msgstr "" #: ../Doc/library/configparser.rst:1001 @@ -783,12 +783,13 @@ msgid "" "If *filenames* is a string, a :class:`bytes` object or a :term:`path-like " "object`, it is treated as a single filename. If a file named in *filenames* " "cannot be opened, that file will be ignored. This is designed so that you " -"can specify a list of potential configuration file locations (for example, " -"the current directory, the user's home directory, and some system-wide " -"directory), and all existing configuration files in the list will be read." +"can specify an iterable of potential configuration file locations (for " +"example, the current directory, the user's home directory, and some system-" +"wide directory), and all existing configuration files in the iterable will " +"be read." msgstr "" -#: ../Doc/library/configparser.rst:1009 +#: ../Doc/library/configparser.rst:1010 msgid "" "If none of the named files exist, the :class:`ConfigParser` instance will " "contain an empty dataset. An application which requires initial values to " @@ -796,49 +797,49 @@ msgid "" "`read_file` before calling :meth:`read` for any optional files::" msgstr "" -#: ../Doc/library/configparser.rst:1022 +#: ../Doc/library/configparser.rst:1023 msgid "" "The *encoding* parameter. Previously, all files were read using the default " "encoding for :func:`open`." msgstr "" -#: ../Doc/library/configparser.rst:1026 +#: ../Doc/library/configparser.rst:1027 msgid "The *filenames* parameter accepts a :term:`path-like object`." msgstr "" -#: ../Doc/library/configparser.rst:1029 +#: ../Doc/library/configparser.rst:1030 msgid "The *filenames* parameter accepts a :class:`bytes` object." msgstr "" -#: ../Doc/library/configparser.rst:1035 +#: ../Doc/library/configparser.rst:1036 msgid "" "Read and parse configuration data from *f* which must be an iterable " "yielding Unicode strings (for example files opened in text mode)." msgstr "" -#: ../Doc/library/configparser.rst:1038 +#: ../Doc/library/configparser.rst:1039 msgid "" "Optional argument *source* specifies the name of the file being read. If " "not given and *f* has a :attr:`name` attribute, that is used for *source*; " "the default is ``''``." msgstr "" -#: ../Doc/library/configparser.rst:1042 +#: ../Doc/library/configparser.rst:1043 msgid "Replaces :meth:`readfp`." msgstr "" -#: ../Doc/library/configparser.rst:1047 +#: ../Doc/library/configparser.rst:1048 msgid "Parse configuration data from a string." msgstr "" -#: ../Doc/library/configparser.rst:1049 +#: ../Doc/library/configparser.rst:1050 msgid "" "Optional argument *source* specifies a context-specific name of the string " "passed. If not given, ``''`` is used. This should commonly be a " "filesystem path or a URL." msgstr "" -#: ../Doc/library/configparser.rst:1058 +#: ../Doc/library/configparser.rst:1059 msgid "" "Load configuration from any object that provides a dict-like ``items()`` " "method. Keys are section names, values are dictionaries with keys and " @@ -847,17 +848,17 @@ msgid "" "automatically converted to strings." msgstr "" -#: ../Doc/library/configparser.rst:1064 +#: ../Doc/library/configparser.rst:1065 msgid "" "Optional argument *source* specifies a context-specific name of the " "dictionary passed. If not given, ```` is used." msgstr "" -#: ../Doc/library/configparser.rst:1067 +#: ../Doc/library/configparser.rst:1068 msgid "This method can be used to copy state between parsers." msgstr "" -#: ../Doc/library/configparser.rst:1074 +#: ../Doc/library/configparser.rst:1075 msgid "" "Get an *option* value for the named *section*. If *vars* is provided, it " "must be a dictionary. The *option* is looked up in *vars* (if provided), " @@ -866,35 +867,35 @@ msgid "" "provided as a *fallback* value." msgstr "" -#: ../Doc/library/configparser.rst:1080 +#: ../Doc/library/configparser.rst:1081 msgid "" "All the ``'%'`` interpolations are expanded in the return values, unless the " "*raw* argument is true. Values for interpolation keys are looked up in the " "same manner as the option." msgstr "" -#: ../Doc/library/configparser.rst:1084 +#: ../Doc/library/configparser.rst:1085 msgid "" "Arguments *raw*, *vars* and *fallback* are keyword only to protect users " "from trying to use the third argument as the *fallback* fallback (especially " "when using the mapping protocol)." msgstr "" -#: ../Doc/library/configparser.rst:1092 +#: ../Doc/library/configparser.rst:1093 msgid "" "A convenience method which coerces the *option* in the specified *section* " "to an integer. See :meth:`get` for explanation of *raw*, *vars* and " "*fallback*." msgstr "" -#: ../Doc/library/configparser.rst:1099 +#: ../Doc/library/configparser.rst:1100 msgid "" "A convenience method which coerces the *option* in the specified *section* " "to a floating point number. See :meth:`get` for explanation of *raw*, " "*vars* and *fallback*." msgstr "" -#: ../Doc/library/configparser.rst:1106 +#: ../Doc/library/configparser.rst:1107 msgid "" "A convenience method which coerces the *option* in the specified *section* " "to a Boolean value. Note that the accepted values for the option are " @@ -906,27 +907,27 @@ msgid "" "*fallback*." msgstr "" -#: ../Doc/library/configparser.rst:1119 +#: ../Doc/library/configparser.rst:1120 msgid "" "When *section* is not given, return a list of *section_name*, " "*section_proxy* pairs, including DEFAULTSECT." msgstr "" -#: ../Doc/library/configparser.rst:1122 +#: ../Doc/library/configparser.rst:1123 msgid "" "Otherwise, return a list of *name*, *value* pairs for the options in the " "given *section*. Optional arguments have the same meaning as for the :meth:" "`get` method." msgstr "" -#: ../Doc/library/configparser.rst:1129 +#: ../Doc/library/configparser.rst:1130 msgid "" "If the given section exists, set the given option to the specified value; " "otherwise raise :exc:`NoSectionError`. *option* and *value* must be " "strings; if not, :exc:`TypeError` is raised." msgstr "" -#: ../Doc/library/configparser.rst:1136 +#: ../Doc/library/configparser.rst:1137 msgid "" "Write a representation of the configuration to the specified :term:`file " "object`, which must be opened in text mode (accepting strings). This " @@ -935,20 +936,20 @@ msgid "" "surrounded by spaces." msgstr "" -#: ../Doc/library/configparser.rst:1145 +#: ../Doc/library/configparser.rst:1146 msgid "" "Remove the specified *option* from the specified *section*. If the section " "does not exist, raise :exc:`NoSectionError`. If the option existed to be " "removed, return :const:`True`; otherwise return :const:`False`." msgstr "" -#: ../Doc/library/configparser.rst:1153 +#: ../Doc/library/configparser.rst:1154 msgid "" "Remove the specified *section* from the configuration. If the section in " "fact existed, return ``True``. Otherwise return ``False``." msgstr "" -#: ../Doc/library/configparser.rst:1159 +#: ../Doc/library/configparser.rst:1160 msgid "" "Transforms the option name *option* as found in an input file or as passed " "in by client code to the form that should be used in the internal " @@ -957,7 +958,7 @@ msgid "" "of this name on instances to affect this behavior." msgstr "" -#: ../Doc/library/configparser.rst:1165 +#: ../Doc/library/configparser.rst:1166 msgid "" "You don't need to subclass the parser to use this method, you can also set " "it on an instance, to a function that takes a string argument and returns a " @@ -965,46 +966,46 @@ msgid "" "sensitive::" msgstr "" -#: ../Doc/library/configparser.rst:1173 +#: ../Doc/library/configparser.rst:1174 msgid "" "Note that when reading configuration files, whitespace around the option " "names is stripped before :meth:`optionxform` is called." msgstr "" -#: ../Doc/library/configparser.rst:1179 +#: ../Doc/library/configparser.rst:1180 msgid "Use :meth:`read_file` instead." msgstr "" -#: ../Doc/library/configparser.rst:1182 +#: ../Doc/library/configparser.rst:1183 msgid "" ":meth:`readfp` now iterates on *fp* instead of calling ``fp.readline()``." msgstr "" -#: ../Doc/library/configparser.rst:1185 +#: ../Doc/library/configparser.rst:1186 msgid "" "For existing code calling :meth:`readfp` with arguments which don't support " "iteration, the following generator may be used as a wrapper around the file-" "like object::" msgstr "" -#: ../Doc/library/configparser.rst:1195 +#: ../Doc/library/configparser.rst:1196 msgid "" "Instead of ``parser.readfp(fp)`` use ``parser." "read_file(readline_generator(fp))``." msgstr "" -#: ../Doc/library/configparser.rst:1201 +#: ../Doc/library/configparser.rst:1202 msgid "" "The maximum depth for recursive interpolation for :meth:`get` when the *raw* " "parameter is false. This is relevant only when the default *interpolation* " "is used." msgstr "" -#: ../Doc/library/configparser.rst:1209 +#: ../Doc/library/configparser.rst:1210 msgid "RawConfigParser Objects" msgstr "" -#: ../Doc/library/configparser.rst:1219 +#: ../Doc/library/configparser.rst:1220 msgid "" "Legacy variant of the :class:`ConfigParser`. It has interpolation disabled " "by default and allows for non-string section names, option names, and values " @@ -1012,27 +1013,27 @@ msgid "" "``defaults=`` keyword argument handling." msgstr "" -#: ../Doc/library/configparser.rst:1229 +#: ../Doc/library/configparser.rst:1230 msgid "" "Consider using :class:`ConfigParser` instead which checks types of the " "values to be stored internally. If you don't want interpolation, you can " "use ``ConfigParser(interpolation=None)``." msgstr "" -#: ../Doc/library/configparser.rst:1236 +#: ../Doc/library/configparser.rst:1237 msgid "" "Add a section named *section* to the instance. If a section by the given " "name already exists, :exc:`DuplicateSectionError` is raised. If the " "*default section* name is passed, :exc:`ValueError` is raised." msgstr "" -#: ../Doc/library/configparser.rst:1240 +#: ../Doc/library/configparser.rst:1241 msgid "" "Type of *section* is not checked which lets users create non-string named " "sections. This behaviour is unsupported and may cause internal errors." msgstr "" -#: ../Doc/library/configparser.rst:1246 +#: ../Doc/library/configparser.rst:1247 msgid "" "If the given section exists, set the given option to the specified value; " "otherwise raise :exc:`NoSectionError`. While it is possible to use :class:" @@ -1042,7 +1043,7 @@ msgid "" "string values." msgstr "" -#: ../Doc/library/configparser.rst:1253 +#: ../Doc/library/configparser.rst:1254 msgid "" "This method lets users assign non-string values to keys internally. This " "behaviour is unsupported and will cause errors when attempting to write to a " @@ -1050,32 +1051,32 @@ msgid "" "not allow such assignments to take place." msgstr "" -#: ../Doc/library/configparser.rst:1260 +#: ../Doc/library/configparser.rst:1261 msgid "Exceptions" msgstr "Exceptions" -#: ../Doc/library/configparser.rst:1264 +#: ../Doc/library/configparser.rst:1265 msgid "Base class for all other :mod:`configparser` exceptions." msgstr "" -#: ../Doc/library/configparser.rst:1269 +#: ../Doc/library/configparser.rst:1270 msgid "Exception raised when a specified section is not found." msgstr "" -#: ../Doc/library/configparser.rst:1274 +#: ../Doc/library/configparser.rst:1275 msgid "" "Exception raised if :meth:`add_section` is called with the name of a section " "that is already present or in strict parsers when a section if found more " "than once in a single input file, string or dictionary." msgstr "" -#: ../Doc/library/configparser.rst:1278 +#: ../Doc/library/configparser.rst:1279 msgid "" "Optional ``source`` and ``lineno`` attributes and arguments to :meth:" "`__init__` were added." msgstr "" -#: ../Doc/library/configparser.rst:1285 +#: ../Doc/library/configparser.rst:1286 msgid "" "Exception raised by strict parsers if a single option appears twice during " "reading from a single file, string or dictionary. This catches misspellings " @@ -1083,58 +1084,58 @@ msgid "" "representing the same case-insensitive configuration key." msgstr "" -#: ../Doc/library/configparser.rst:1293 +#: ../Doc/library/configparser.rst:1294 msgid "" "Exception raised when a specified option is not found in the specified " "section." msgstr "" -#: ../Doc/library/configparser.rst:1299 +#: ../Doc/library/configparser.rst:1300 msgid "" "Base class for exceptions raised when problems occur performing string " "interpolation." msgstr "" -#: ../Doc/library/configparser.rst:1305 +#: ../Doc/library/configparser.rst:1306 msgid "" "Exception raised when string interpolation cannot be completed because the " "number of iterations exceeds :const:`MAX_INTERPOLATION_DEPTH`. Subclass of :" "exc:`InterpolationError`." msgstr "" -#: ../Doc/library/configparser.rst:1312 +#: ../Doc/library/configparser.rst:1313 msgid "" "Exception raised when an option referenced from a value does not exist. " "Subclass of :exc:`InterpolationError`." msgstr "" -#: ../Doc/library/configparser.rst:1318 +#: ../Doc/library/configparser.rst:1319 msgid "" "Exception raised when the source text into which substitutions are made does " "not conform to the required syntax. Subclass of :exc:`InterpolationError`." msgstr "" -#: ../Doc/library/configparser.rst:1324 +#: ../Doc/library/configparser.rst:1325 msgid "" "Exception raised when attempting to parse a file which has no section " "headers." msgstr "" -#: ../Doc/library/configparser.rst:1330 +#: ../Doc/library/configparser.rst:1331 msgid "Exception raised when errors occur attempting to parse a file." msgstr "" -#: ../Doc/library/configparser.rst:1332 +#: ../Doc/library/configparser.rst:1333 msgid "" "The ``filename`` attribute and :meth:`__init__` argument were renamed to " "``source`` for consistency." msgstr "" -#: ../Doc/library/configparser.rst:1338 +#: ../Doc/library/configparser.rst:1339 msgid "Footnotes" msgstr "Notes" -#: ../Doc/library/configparser.rst:1339 +#: ../Doc/library/configparser.rst:1340 msgid "" "Config parsers allow for heavy customization. If you are interested in " "changing the behaviour outlined by the footnote reference, consult the " diff --git a/library/contextlib.po b/library/contextlib.po index 702611a8..75b82c16 100644 --- a/library/contextlib.po +++ b/library/contextlib.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-08-03 17:52+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-07-04 11:33+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -432,11 +432,11 @@ msgstr "" #: ../Doc/library/contextlib.rst:473 msgid "" "Similar to :meth:`push` but expects either an asynchronous context manager " -"or a coroutine." +"or a coroutine function." msgstr "" #: ../Doc/library/contextlib.rst:478 -msgid "Similar to :meth:`callback` but expects a coroutine." +msgid "Similar to :meth:`callback` but expects a coroutine function." msgstr "" #: ../Doc/library/contextlib.rst:482 diff --git a/library/copy.po b/library/copy.po index 004fad24..fc6f47ae 100644 --- a/library/copy.po +++ b/library/copy.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-08-10 00:49+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-09-27 15:04+0200\n" +"Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: \n" "X-Generator: Poedit 2.0.4\n" #: ../Doc/library/copy.rst:2 diff --git a/library/datetime.po b/library/datetime.po index 9c0cf673..51ef0092 100644 --- a/library/datetime.po +++ b/library/datetime.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-15 21:52+0200\n" -"PO-Revision-Date: 2018-09-29 17:59+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 11:32+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -590,7 +590,7 @@ msgstr "" "construit avec des valeurs d'attributs canoniques." #: ../Doc/library/datetime.rst:296 ../Doc/library/datetime.rst:511 -#: ../Doc/library/datetime.rst:2163 +#: ../Doc/library/datetime.rst:2164 msgid "Notes:" msgstr "Notes :" @@ -1403,13 +1403,13 @@ msgid "" "Return a :class:`datetime` corresponding to a *date_string* in one of the " "formats emitted by :meth:`date.isoformat` and :meth:`datetime.isoformat`. " "Specifically, this function supports strings in the format(s) ``YYYY-MM-" -"DD[*HH[:MM[:SS[.mmm[mmm]]]][+HH:MM[:SS[.ffffff]]]]``, where ``*`` can match " +"DD[*HH[:MM[:SS[.fff[fff]]]][+HH:MM[:SS[.ffffff]]]]``, where ``*`` can match " "any single character." msgstr "" "Renvoie une :class:`datetime` correspondant à *date_string* dans un des " "formats émis par :meth:`date.isoformat` et :meth:`datetime.isoformat`. Plus " "spécifiquement, cette fonction supporte des chaînes dans les format(s) " -"``YYYY-MM-DD[*HH[:MM[:SS[.mmm[mmm]]]][+HH:MM[:SS[.ffffff]]]]``, où ``*`` " +"``YYYY-MM-DD[*HH[:MM[:SS[.fff[fff]]]][+HH:MM[:SS[.ffffff]]]]``, où ``*`` " "peut égaler n'importe quel caractère." #: ../Doc/library/datetime.rst:849 @@ -1502,8 +1502,8 @@ msgstr "``datetime2 = datetime1 + timedelta``" #: ../Doc/library/datetime.rst:943 ../Doc/library/datetime.rst:2039 #: ../Doc/library/datetime.rst:2044 ../Doc/library/datetime.rst:2056 -#: ../Doc/library/datetime.rst:2061 ../Doc/library/datetime.rst:2120 -#: ../Doc/library/datetime.rst:2125 ../Doc/library/datetime.rst:2129 +#: ../Doc/library/datetime.rst:2061 ../Doc/library/datetime.rst:2121 +#: ../Doc/library/datetime.rst:2126 ../Doc/library/datetime.rst:2130 msgid "\\(1)" msgstr "\\(1)" @@ -1804,7 +1804,7 @@ msgstr "" #: ../Doc/library/datetime.rst:1105 ../Doc/library/datetime.rst:1617 #: ../Doc/library/datetime.rst:1716 ../Doc/library/datetime.rst:1957 -#: ../Doc/library/datetime.rst:1968 ../Doc/library/datetime.rst:2219 +#: ../Doc/library/datetime.rst:1968 ../Doc/library/datetime.rst:2220 msgid "The UTC offset is not restricted to a whole number of minutes." msgstr "Le décalage UTC peut aussi être autre chose qu'un ensemble de minutes." @@ -1977,21 +1977,22 @@ msgstr "" #: ../Doc/library/datetime.rst:1217 msgid "" "Return a string representing the date and time in ISO 8601 format, YYYY-MM-" -"DDTHH:MM:SS.mmmmmm or, if :attr:`microsecond` is 0, YYYY-MM-DDTHH:MM:SS" +"DDTHH:MM:SS.ffffff or, if :attr:`microsecond` is 0, YYYY-MM-DDTHH:MM:SS" msgstr "" -"Renvoie une chaîne représentant la date et l'heure au format ISO 8601, YYYY-" -"MM-DDTHH:MM:SS.mmmmmm ou, si :attr:`microsecond` vaut 0, YYYY-MM-DDTHH:MM:SS" +"Renvoie une chaîne représentant la date et l'heure au format ISO 8601, *YYYY-" +"MM-DDTHH:MM:SS.ffffff* ou, si :attr:`microsecond` vaut 0, *YYYY-MM-DDTHH:MM:" +"SS*" #: ../Doc/library/datetime.rst:1221 msgid "" -"If :meth:`utcoffset` does not return ``None``, a 6-character string is " -"appended, giving the UTC offset in (signed) hours and minutes: YYYY-MM-DDTHH:" -"MM:SS.mmmmmm+HH:MM or, if :attr:`microsecond` is 0 YYYY-MM-DDTHH:MM:SS+HH:MM" +"If :meth:`utcoffset` does not return ``None``, a string is appended, giving " +"the UTC offset: YYYY-MM-DDTHH:MM:SS.ffffff+HH:MM[:SS[.ffffff]] or, if :attr:" +"`microsecond` is 0 YYYY-MM-DDTHH:MM:SS+HH:MM[:SS[.ffffff]]." msgstr "" "Si :meth:`utcoffset` ne renvoie pas ``None``, une chaîne de 6 caractères est " -"ajoutée, donnant le décalage UTC en heures et minutes (relatives) : YYYY-MM-" -"DDTHH:MM:SS.mmmmmm+HH:MM ou, si :attr:`microsecond` vaut 0, YYYY-MM-DDTHH:MM:" -"SS+HH:MM" +"ajoutée, donnant le décalage UTC en heures et minutes (relatives) : *YYYY-MM-" +"DDTHH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]* ou, si :attr:`microsecond` vaut 0, " +"*YYYY-MM-DDTHH:MM:SS+HH:MM[:SS[.ffffff]]*" #: ../Doc/library/datetime.rst:1226 msgid "" @@ -2034,7 +2035,7 @@ msgid "" "HH:MM:SS format." msgstr "" "``'seconds'`` : Inclut :attr:`hour`, :attr:`minute` et :attr:`second` au " -"format HH:MM:SS." +"format ``HH:MM:SS``." #: ../Doc/library/datetime.rst:1246 ../Doc/library/datetime.rst:1566 msgid "" @@ -2042,12 +2043,12 @@ msgid "" "to milliseconds. HH:MM:SS.sss format." msgstr "" "``'milliseconds'`` : Inclut le temps complet, mais tronque la partie " -"fractionnaire des millisecondes, au format HH:MM:SS.sss." +"fractionnaire des millisecondes, au format ``HH:MM:SS.sss``." #: ../Doc/library/datetime.rst:1248 ../Doc/library/datetime.rst:1568 -msgid "``'microseconds'``: Include full time in HH:MM:SS.mmmmmm format." +msgid "``'microseconds'``: Include full time in HH:MM:SS.ffffff format." msgstr "" -"``'microseconds'`` : Inclut le temps complet, au format HH:MM:SS.mmmmmm." +"``'microseconds'`` : Inclut le temps complet, au format ``HH:MM:SS.ffffff``." #: ../Doc/library/datetime.rst:1252 ../Doc/library/datetime.rst:1572 msgid "Excluded time components are truncated, not rounded." @@ -2257,13 +2258,13 @@ msgstr "Autre constructeur :" msgid "" "Return a :class:`time` corresponding to a *time_string* in one of the " "formats emitted by :meth:`time.isoformat`. Specifically, this function " -"supports strings in the format(s) ``HH[:MM[:SS[.mmm[mmm]]]][+HH:MM[:SS[." +"supports strings in the format(s) ``HH[:MM[:SS[.fff[fff]]]][+HH:MM[:SS[." "ffffff]]]``." msgstr "" "Renvoie une :class:`time` correspondant à *time_string* dans l'un des " "formats émis par :meth:`time.isoformat`. Plus spécifiquement, cette fonction " "est compatible avec des chaînes dans le(s) format(s) ``HH[:MM[:SS[." -"mmm[mmm]]]][+HH:MM[:SS[.ffffff]]]``." +"fff[fff]]]][+HH:MM[:SS[.ffffff]]]``." #: ../Doc/library/datetime.rst:1529 msgid "" @@ -2288,17 +2289,18 @@ msgstr "" #: ../Doc/library/datetime.rst:1551 msgid "" -"Return a string representing the time in ISO 8601 format, HH:MM:SS.mmmmmm " +"Return a string representing the time in ISO 8601 format, HH:MM:SS.ffffff " "or, if :attr:`microsecond` is 0, HH:MM:SS If :meth:`utcoffset` does not " -"return ``None``, a 6-character string is appended, giving the UTC offset in " -"(signed) hours and minutes: HH:MM:SS.mmmmmm+HH:MM or, if self.microsecond is " -"0, HH:MM:SS+HH:MM" +"return ``None``, a string is appended, giving the UTC offset: HH:MM:SS.ffffff" +"+HH:MM[:SS[.ffffff]] or, if self.microsecond is 0, HH:MM:SS+HH:MM[:SS[." +"ffffff]]." msgstr "" -"Renvoie une chaîne représentant l'heure au format ISO 8601, HH:MM:SS.mmmmmm " -"ou, si :attr:`microsecond` vaut 0, HH:MM:SS Si :meth:`utcoffset` ne renvoie " -"pas ``None``, une chaîne de 6 caractères est ajoutée, donnant le décalage " -"UTC en heures et minutes (relatives) : HH:MM:SS.mmmmmm+HH:MM ou, si ``self." -"microsecond`` vaut 0, HH:MM:SS+HH:MM" +"Renvoie une chaîne représentant l'heure au format ISO 8601, ``HH:MM:SS." +"ffffff`` ou, si :attr:`microsecond` vaut 0, ``HH:MM:SS` Si :meth:`utcoffset` " +"ne renvoie pas ``None``, une chaîne de 6 caractères est ajoutée, donnant le " +"décalage UTC en heures et minutes (relatives) : ``HH:MM:SS.ffffff+HH:MM[:SS[." +"ffffff]]`` ou, si ``self.microsecond`` vaut 0, ``HH:MM:SS+HH:MM[:SS[." +"ffffff]]``" #: ../Doc/library/datetime.rst:1592 msgid "For a time *t*, ``str(t)`` is equivalent to ``t.isoformat()``." @@ -2989,19 +2991,19 @@ msgstr "" "possédant une implémentation de C standard. Notez que la version 1999 du " "standard C a ajouté des codes de formatage additionnels." -#: ../Doc/library/datetime.rst:2037 ../Doc/library/datetime.rst:2143 +#: ../Doc/library/datetime.rst:2037 ../Doc/library/datetime.rst:2144 msgid "Directive" msgstr "Directive" -#: ../Doc/library/datetime.rst:2037 ../Doc/library/datetime.rst:2143 +#: ../Doc/library/datetime.rst:2037 ../Doc/library/datetime.rst:2144 msgid "Meaning" msgstr "Signification" -#: ../Doc/library/datetime.rst:2037 ../Doc/library/datetime.rst:2143 +#: ../Doc/library/datetime.rst:2037 ../Doc/library/datetime.rst:2144 msgid "Example" msgstr "Exemple" -#: ../Doc/library/datetime.rst:2037 ../Doc/library/datetime.rst:2143 +#: ../Doc/library/datetime.rst:2037 ../Doc/library/datetime.rst:2144 msgid "Notes" msgstr "Notes" @@ -3126,7 +3128,7 @@ msgstr "``%Y``" msgid "Year with century as a decimal number." msgstr "Année complète sur quatre chiffres." -#: ../Doc/library/datetime.rst:2072 ../Doc/library/datetime.rst:2145 +#: ../Doc/library/datetime.rst:2072 ../Doc/library/datetime.rst:2146 msgid "0001, 0002, ..., 2013, 2014, ..., 9998, 9999" msgstr "0001, 0002, ..., 2013, 2014, ..., 9998, 9999" @@ -3210,52 +3212,55 @@ msgstr "000000, 000001, ..., 999999" msgid "\\(5)" msgstr "\\(5)" -#: ../Doc/library/datetime.rst:2094 ../Doc/library/datetime.rst:2217 +#: ../Doc/library/datetime.rst:2094 ../Doc/library/datetime.rst:2218 msgid "``%z``" msgstr "``%z``" #: ../Doc/library/datetime.rst:2094 -msgid "UTC offset in the form ±HHMM[SS] (empty string if the object is naive)." +msgid "" +"UTC offset in the form ±HHMM[SS[.ffffff]] (empty string if the object is " +"naive)." msgstr "" -"Décalage UTC sous la forme ±HHMM[SS] (chaîne vide si l'instance est naïve)." +"Décalage UTC sous la forme ``±HHMM[SS[.ffffff]]`` (chaîne vide si l'instance " +"est naïve)." #: ../Doc/library/datetime.rst:2094 -msgid "(empty), +0000, -0400, +1030" -msgstr "(vide), +0000, -0400, +1030" +msgid "(empty), +0000, -0400, +1030, +063415, -030712.345216" +msgstr "(vide), +0000, -0400, +1030, +063415, -030712.345216" #: ../Doc/library/datetime.rst:2094 msgid "\\(6)" msgstr "\\(6)" -#: ../Doc/library/datetime.rst:2098 ../Doc/library/datetime.rst:2232 +#: ../Doc/library/datetime.rst:2099 ../Doc/library/datetime.rst:2233 msgid "``%Z``" msgstr "``%Z``" -#: ../Doc/library/datetime.rst:2098 +#: ../Doc/library/datetime.rst:2099 msgid "Time zone name (empty string if the object is naive)." msgstr "Nom du fuseau horaire (chaîne vide si l'instance est naïve)." -#: ../Doc/library/datetime.rst:2098 +#: ../Doc/library/datetime.rst:2099 msgid "(empty), UTC, EST, CST" msgstr "(vide), UTC, EST, CST" -#: ../Doc/library/datetime.rst:2101 +#: ../Doc/library/datetime.rst:2102 msgid "``%j``" msgstr "``%j``" -#: ../Doc/library/datetime.rst:2101 +#: ../Doc/library/datetime.rst:2102 msgid "Day of the year as a zero-padded decimal number." msgstr "Numéro du jour dans l'année sur trois chiffres." -#: ../Doc/library/datetime.rst:2101 +#: ../Doc/library/datetime.rst:2102 msgid "001, 002, ..., 366" msgstr "001, 002, ..., 366" -#: ../Doc/library/datetime.rst:2104 +#: ../Doc/library/datetime.rst:2105 msgid "``%U``" msgstr "``%U``" -#: ../Doc/library/datetime.rst:2104 +#: ../Doc/library/datetime.rst:2105 msgid "" "Week number of the year (Sunday as the first day of the week) as a zero " "padded decimal number. All days in a new year preceding the first Sunday are " @@ -3265,19 +3270,19 @@ msgstr "" "premier jour de la semaine). Tous les jours de l'année précédent le premier " "dimanche sont considérés comme appartenant à la semaine 0." -#: ../Doc/library/datetime.rst:2104 ../Doc/library/datetime.rst:2112 +#: ../Doc/library/datetime.rst:2105 ../Doc/library/datetime.rst:2113 msgid "00, 01, ..., 53" msgstr "00, 01, ..., 53" -#: ../Doc/library/datetime.rst:2104 ../Doc/library/datetime.rst:2112 +#: ../Doc/library/datetime.rst:2105 ../Doc/library/datetime.rst:2113 msgid "\\(7)" msgstr "\\(7)" -#: ../Doc/library/datetime.rst:2112 +#: ../Doc/library/datetime.rst:2113 msgid "``%W``" msgstr "``%W``" -#: ../Doc/library/datetime.rst:2112 +#: ../Doc/library/datetime.rst:2113 msgid "" "Week number of the year (Monday as the first day of the week) as a decimal " "number. All days in a new year preceding the first Monday are considered to " @@ -3287,11 +3292,11 @@ msgstr "" "premier jour de la semaine). Tous les jours de l'année précédent le premier " "lundi sont considérés comme appartenant à la semaine 0." -#: ../Doc/library/datetime.rst:2120 +#: ../Doc/library/datetime.rst:2121 msgid "``%c``" msgstr "``%c``" -#: ../Doc/library/datetime.rst:2120 +#: ../Doc/library/datetime.rst:2121 msgid "Locale's appropriate date and time representation." msgstr "Représentation locale de la date et de l'heure." @@ -3303,11 +3308,11 @@ msgstr "Tue Aug 16 21:30:00 1988 (*en_US*);" msgid "Di 16 Aug 21:30:00 1988 (de_DE)" msgstr "mar. 16 août 1988 21:30:00 (*fr_FR*)" -#: ../Doc/library/datetime.rst:2125 +#: ../Doc/library/datetime.rst:2126 msgid "``%x``" msgstr "``%x``" -#: ../Doc/library/datetime.rst:2125 +#: ../Doc/library/datetime.rst:2126 msgid "Locale's appropriate date representation." msgstr "Représentation locale de la date." @@ -3323,11 +3328,11 @@ msgstr "08/16/1988 (*en_US*);" msgid "16.08.1988 (de_DE)" msgstr "16/08/1988 (*fr_FR*)" -#: ../Doc/library/datetime.rst:2129 +#: ../Doc/library/datetime.rst:2130 msgid "``%X``" msgstr "``%X``" -#: ../Doc/library/datetime.rst:2129 +#: ../Doc/library/datetime.rst:2130 msgid "Locale's appropriate time representation." msgstr "Représentation locale de l'heure." @@ -3339,19 +3344,19 @@ msgstr "21:30:00 (*en_US*) ;" msgid "21:30:00 (de_DE)" msgstr "21:30:00 (*fr_FR*)" -#: ../Doc/library/datetime.rst:2132 +#: ../Doc/library/datetime.rst:2133 msgid "``%%``" msgstr "``%%``" -#: ../Doc/library/datetime.rst:2132 +#: ../Doc/library/datetime.rst:2133 msgid "A literal ``'%'`` character." msgstr "Un caractère ``'%'`` littéral." -#: ../Doc/library/datetime.rst:2132 +#: ../Doc/library/datetime.rst:2133 msgid "%" msgstr "%" -#: ../Doc/library/datetime.rst:2135 +#: ../Doc/library/datetime.rst:2136 msgid "" "Several additional directives not required by the C89 standard are included " "for convenience. These parameters all correspond to ISO 8601 date values. " @@ -3369,11 +3374,11 @@ msgstr "" "directives d'année et de semaine précédentes. Appeler :meth:`strptime` avec " "des directives ISO 8601 incomplètes ou ambiguës lèvera une :exc:`ValueError`." -#: ../Doc/library/datetime.rst:2145 +#: ../Doc/library/datetime.rst:2146 msgid "``%G``" msgstr "``%G``" -#: ../Doc/library/datetime.rst:2145 +#: ../Doc/library/datetime.rst:2146 msgid "" "ISO 8601 year with century representing the year that contains the greater " "part of the ISO week (``%V``)." @@ -3381,27 +3386,27 @@ msgstr "" "Année complète ISO 8601 représentant l'année contenant la plus grande partie " "de la semaine ISO (``%V``)." -#: ../Doc/library/datetime.rst:2145 ../Doc/library/datetime.rst:2153 +#: ../Doc/library/datetime.rst:2146 ../Doc/library/datetime.rst:2154 msgid "\\(8)" msgstr "\\(8)" -#: ../Doc/library/datetime.rst:2150 +#: ../Doc/library/datetime.rst:2151 msgid "``%u``" msgstr "``%u``" -#: ../Doc/library/datetime.rst:2150 +#: ../Doc/library/datetime.rst:2151 msgid "ISO 8601 weekday as a decimal number where 1 is Monday." msgstr "Jour de la semaine ISO 8601 où 1 correspond au lundi." -#: ../Doc/library/datetime.rst:2150 +#: ../Doc/library/datetime.rst:2151 msgid "1, 2, ..., 7" msgstr "1, 2, ..., 7" -#: ../Doc/library/datetime.rst:2153 +#: ../Doc/library/datetime.rst:2154 msgid "``%V``" msgstr "``%V``" -#: ../Doc/library/datetime.rst:2153 +#: ../Doc/library/datetime.rst:2154 msgid "" "ISO 8601 week as a decimal number with Monday as the first day of the week. " "Week 01 is the week containing Jan 4." @@ -3409,15 +3414,15 @@ msgstr "" "Numéro de la semaine ISO 8601, avec lundi étant le premier jour de la " "semaine. La semaine 01 est la semaine contenant le 4 janvier." -#: ../Doc/library/datetime.rst:2153 +#: ../Doc/library/datetime.rst:2154 msgid "01, 02, ..., 53" msgstr "01, 02, ..., 53" -#: ../Doc/library/datetime.rst:2160 +#: ../Doc/library/datetime.rst:2161 msgid "``%G``, ``%u`` and ``%V`` were added." msgstr "``%G``, ``%u`` et ``%V`` ont été ajoutés." -#: ../Doc/library/datetime.rst:2166 +#: ../Doc/library/datetime.rst:2167 msgid "" "Because the format depends on the current locale, care should be taken when " "making assumptions about the output value. Field orderings will vary (for " @@ -3436,7 +3441,7 @@ msgstr "" "utilisez :meth:`locale.getlocale` pour déterminer l'encodage de la locale " "courante)." -#: ../Doc/library/datetime.rst:2175 +#: ../Doc/library/datetime.rst:2176 msgid "" "The :meth:`strptime` method can parse years in the full [1, 9999] range, but " "years < 1000 must be zero-filled to 4-digit width." @@ -3445,7 +3450,7 @@ msgstr "" "[1, 9999], mais toutes les années < 1000 doivent être représentées sur " "quatre chiffres." -#: ../Doc/library/datetime.rst:2178 +#: ../Doc/library/datetime.rst:2179 msgid "" "In previous versions, :meth:`strftime` method was restricted to years >= " "1900." @@ -3453,13 +3458,13 @@ msgstr "" "Dans les versions précédentes, la méthode :meth:`strftime` était limitée aux " "années >= 1900." -#: ../Doc/library/datetime.rst:2182 +#: ../Doc/library/datetime.rst:2183 msgid "" "In version 3.2, :meth:`strftime` method was restricted to years >= 1000." msgstr "" "En version 3.2, la méthode :meth:`strftime` était limitée aux années >= 1000." -#: ../Doc/library/datetime.rst:2187 +#: ../Doc/library/datetime.rst:2188 msgid "" "When used with the :meth:`strptime` method, the ``%p`` directive only " "affects the output hour field if the ``%I`` directive is used to parse the " @@ -3469,7 +3474,7 @@ msgstr "" "n'affecte l'heure extraite que si la directive ``%I`` est utilisée pour " "analyser l'heure." -#: ../Doc/library/datetime.rst:2191 +#: ../Doc/library/datetime.rst:2192 msgid "" "Unlike the :mod:`time` module, the :mod:`datetime` module does not support " "leap seconds." @@ -3477,7 +3482,7 @@ msgstr "" "À l'inverse du module :mod:`time`, le module :mod:`datetime` ne supporte pas " "les secondes intercalaires." -#: ../Doc/library/datetime.rst:2195 +#: ../Doc/library/datetime.rst:2196 msgid "" "When used with the :meth:`strptime` method, the ``%f`` directive accepts " "from one to six digits and zero pads on the right. ``%f`` is an extension " @@ -3490,7 +3495,7 @@ msgstr "" "caractères de formatage du standard C (mais implémentée séparément dans les " "objets *datetime*, la rendant ainsi toujours disponible)." -#: ../Doc/library/datetime.rst:2202 +#: ../Doc/library/datetime.rst:2203 msgid "" "For a naive object, the ``%z`` and ``%Z`` format codes are replaced by empty " "strings." @@ -3498,32 +3503,33 @@ msgstr "" "Pour les objets naïfs, les codes de formatage ``%z`` et ``%Z`` sont " "remplacés par des chaînes vides." -#: ../Doc/library/datetime.rst:2205 +#: ../Doc/library/datetime.rst:2206 msgid "For an aware object:" msgstr "Pour un objet avisé :" -#: ../Doc/library/datetime.rst:2208 +#: ../Doc/library/datetime.rst:2209 msgid "" ":meth:`utcoffset` is transformed into a string of the form ±HHMM[SS[." -"uuuuuu]], where HH is a 2-digit string giving the number of UTC offset " -"hours, and MM is a 2-digit string giving the number of UTC offset minutes, " -"SS is a 2-digit string giving the number of UTC offset seconds and uuuuuu is " -"a 2-digit string giving the number of UTC offset microseconds. The uuuuuu " -"part is omitted when the offset is a whole number of minutes and both the " -"uuuuuu and the SS parts are omitted when the offset is a whole number of " -"minutes. For example, if :meth:`utcoffset` returns ``timedelta(hours=-3, " +"ffffff]], where HH is a 2-digit string giving the number of UTC offset " +"hours, MM is a 2-digit string giving the number of UTC offset minutes, SS is " +"a 2-digit string giving the number of UTC offset seconds and ffffff is a 6-" +"digit string giving the number of UTC offset microseconds. The ffffff part " +"is omitted when the offset is a whole number of seconds and both the ffffff " +"and the SS part is omitted when the offset is a whole number of minutes. " +"For example, if :meth:`utcoffset` returns ``timedelta(hours=-3, " "minutes=-30)``, ``%z`` is replaced with the string ``'-0330'``." msgstr "" -"Le résultat de :meth:`utcoffset` est transformé en une chaîne sous la forme *" -"±HHMM[SS[.uuuuuu]]*, où HH est une chaîne de deux chiffres donnant le nombre " -"d'heures du décalage UTC, où MM est une chaîne de deux chiffres donnant le " -"nombre de minutes du décalage UTC, où SS est une chaîne de deux chiffres " -"donnant le chiffre en secondes du décalage UTC et où *uuuuuu* est une chaîne " -"de deux chiffres donnant le nombre en micro-secondes du décalage UTC. Par " -"exemple, si :meth:`utcoffset` renvoie ``timedelta(hours=-3, minutes=-30)``, " -"``%z`` est remplacé par la chaîne `'-0330'``." +"Le résultat de :meth:`utcoffset` est transformé en une chaîne sous la forme " +"``±HHMM[SS[.uuuuuu]]``, où ``HH`` est une chaîne de deux chiffres donnant le " +"nombre d'heures du décalage UTC, où ``MM`` est une chaîne de deux chiffres " +"donnant le nombre de minutes du décalage UTC, où ``SS`` est une chaîne de " +"deux chiffres donnant le chiffre en secondes du décalage UTC et où " +"``ffffff`` est une chaîne de six chiffres donnant le nombre en micro-" +"secondes du décalage UTC. Par exemple, si :meth:`utcoffset` renvoie " +"``timedelta(hours=-3, minutes=-30)``, ``%z`` est remplacé par la chaîne " +"`'-0330'``." -#: ../Doc/library/datetime.rst:2222 +#: ../Doc/library/datetime.rst:2223 msgid "" "When the ``%z`` directive is provided to the :meth:`strptime` method, the " "UTC offsets can have a colon as a separator between hours, minutes and " @@ -3535,7 +3541,7 @@ msgstr "" "minutes et secondes. Par exemple, ``'+01:00:00'``, est analysé comme un " "décalage d'une heure. Par ailleurs, ``'Z'`` est identique à ``'+00:00'``." -#: ../Doc/library/datetime.rst:2230 +#: ../Doc/library/datetime.rst:2231 msgid "" "If :meth:`tzname` returns ``None``, ``%Z`` is replaced by an empty string. " "Otherwise ``%Z`` is replaced by the returned value, which must be a string." @@ -3544,7 +3550,7 @@ msgstr "" "vide. Autrement ``%Z`` est remplacé par la valeur renvoyée, qui doit être " "une chaîne." -#: ../Doc/library/datetime.rst:2234 +#: ../Doc/library/datetime.rst:2235 msgid "" "When the ``%z`` directive is provided to the :meth:`strptime` method, an " "aware :class:`.datetime` object will be produced. The ``tzinfo`` of the " @@ -3554,7 +3560,7 @@ msgstr "" "objet :class:`.datetime` avisé est construit. L'attribut ``tzinfo`` du " "résultat aura pour valeur une instance de :class:`timezone`." -#: ../Doc/library/datetime.rst:2240 +#: ../Doc/library/datetime.rst:2241 msgid "" "When used with the :meth:`strptime` method, ``%U`` and ``%W`` are only used " "in calculations when the day of the week and the calendar year (``%Y``) are " @@ -3564,7 +3570,7 @@ msgstr "" "utilisés dans les calculs que si le jour de la semaine et l'année calendaire " "(``%Y``) sont spécifiés." -#: ../Doc/library/datetime.rst:2245 +#: ../Doc/library/datetime.rst:2246 msgid "" "Similar to ``%U`` and ``%W``, ``%V`` is only used in calculations when the " "day of the week and the ISO year (``%G``) are specified in a :meth:" @@ -3576,10 +3582,10 @@ msgstr "" "dans la chaîne de formatage :meth:`strptime`. Notez aussi que ``%G`` et ``" "%Y`` ne sont pas interchangeables." -#: ../Doc/library/datetime.rst:2251 +#: ../Doc/library/datetime.rst:2252 msgid "Footnotes" msgstr "Notes" -#: ../Doc/library/datetime.rst:2252 +#: ../Doc/library/datetime.rst:2253 msgid "If, that is, we ignore the effects of Relativity" msgstr "Si on ignore les effets de la Relativité" diff --git a/library/decimal.po b/library/decimal.po index 04518efb..a05d36bd 100644 --- a/library/decimal.po +++ b/library/decimal.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-10-07 18:55+0200\n" +"Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: \n" "X-Generator: Poedit 1.8.11\n" #: ../Doc/library/decimal.rst:2 diff --git a/library/development.po b/library/development.po index 0ab1ee3b..04f593dc 100644 --- a/library/development.po +++ b/library/development.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-09-29 15:32+0200\n" +"Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: \n" "X-Generator: Poedit 2.0.2\n" #: ../Doc/library/development.rst:5 diff --git a/library/dis.po b/library/dis.po index adee22ed..43c420f4 100644 --- a/library/dis.po +++ b/library/dis.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -180,7 +180,7 @@ msgstr "" #: ../Doc/library/dis.rst:151 msgid "" "Disassemble the *x* object. *x* can denote either a module, a class, a " -"method, a function, a generator, an asynchronous generator, a couroutine, a " +"method, a function, a generator, an asynchronous generator, a coroutine, a " "code object, a string of source code or a byte sequence of raw bytecode. For " "a module, it disassembles all functions. For a class, it disassembles all " "methods (including class and static methods). For a code object or sequence " @@ -1021,55 +1021,61 @@ msgstr "" #: ../Doc/library/dis.rst:1062 msgid "" -"Raises an exception. *argc* indicates the number of parameters to the raise " +"Raises an exception. *argc* indicates the number of arguments to the raise " "statement, ranging from 0 to 3. The handler will find the traceback as " "TOS2, the parameter as TOS1, and the exception as TOS." msgstr "" #: ../Doc/library/dis.rst:1069 msgid "" -"Calls a function. *argc* indicates the number of positional arguments. The " -"positional arguments are on the stack, with the right-most argument on top. " -"Below the arguments, the function object to call is on the stack. Pops all " -"function arguments, and the function itself off the stack, and pushes the " -"return value." +"Calls a callable object with positional arguments. *argc* indicates the " +"number of positional arguments. The top of the stack contains positional " +"arguments, with the right-most argument on top. Below the arguments is a " +"callable object to call. ``CALL_FUNCTION`` pops all arguments and the " +"callable object off the stack, calls the callable object with those " +"arguments, and pushes the return value returned by the callable object." msgstr "" -#: ../Doc/library/dis.rst:1075 +#: ../Doc/library/dis.rst:1077 msgid "This opcode is used only for calls with positional arguments." msgstr "" -#: ../Doc/library/dis.rst:1081 +#: ../Doc/library/dis.rst:1083 msgid "" -"Calls a function. *argc* indicates the number of arguments (positional and " -"keyword). The top element on the stack contains a tuple of keyword argument " -"names. Below the tuple, keyword arguments are on the stack, in the order " -"corresponding to the tuple. Below the keyword arguments, the positional " -"arguments are on the stack, with the right-most parameter on top. Below the " -"arguments, the function object to call is on the stack. Pops all function " -"arguments, and the function itself off the stack, and pushes the return " -"value." +"Calls a callable object with positional (if any) and keyword arguments. " +"*argc* indicates the total number of positional and keyword arguments. The " +"top element on the stack contains a tuple of keyword argument names. Below " +"that are keyword arguments in the order corresponding to the tuple. Below " +"that are positional arguments, with the right-most parameter on top. Below " +"the arguments is a callable object to call. ``CALL_FUNCTION_KW`` pops all " +"arguments and the callable object off the stack, calls the callable object " +"with those arguments, and pushes the return value returned by the callable " +"object." msgstr "" -#: ../Doc/library/dis.rst:1090 +#: ../Doc/library/dis.rst:1093 msgid "" "Keyword arguments are packed in a tuple instead of a dictionary, *argc* " -"indicates the total number of arguments" +"indicates the total number of arguments." msgstr "" -#: ../Doc/library/dis.rst:1097 +#: ../Doc/library/dis.rst:1100 msgid "" -"Calls a function. The lowest bit of *flags* indicates whether the var-" -"keyword argument is placed at the top of the stack. Below the var-keyword " -"argument, the var-positional argument is on the stack. Below the arguments, " -"the function object to call is placed. Pops all function arguments, and the " -"function itself off the stack, and pushes the return value. Note that this " -"opcode pops at most three items from the stack. Var-positional and var-" -"keyword arguments are packed by :opcode:`BUILD_TUPLE_UNPACK_WITH_CALL` and :" -"opcode:`BUILD_MAP_UNPACK_WITH_CALL`." +"Calls a callable object with variable set of positional and keyword " +"arguments. If the lowest bit of *flags* is set, the top of the stack " +"contains a mapping object containing additional keyword arguments. Below " +"that is an iterable object containing positional arguments and a callable " +"object to call. :opcode:`BUILD_MAP_UNPACK_WITH_CALL` and :opcode:" +"`BUILD_TUPLE_UNPACK_WITH_CALL` can be used for merging multiple mapping " +"objects and iterables containing arguments. Before the callable is called, " +"the mapping object and iterable object are each \"unpacked\" and their " +"contents passed in as keyword and positional arguments respectively. " +"``CALL_FUNCTION_EX`` pops all arguments and the callable object off the " +"stack, calls the callable object with those arguments, and pushes the return " +"value returned by the callable object." msgstr "" -#: ../Doc/library/dis.rst:1112 +#: ../Doc/library/dis.rst:1119 msgid "" "Loads a method named ``co_names[namei]`` from TOS object. TOS is popped and " "method and TOS are pushed when interpreter can call unbound method directly. " @@ -1078,7 +1084,7 @@ msgid "" "something else)." msgstr "" -#: ../Doc/library/dis.rst:1123 +#: ../Doc/library/dis.rst:1130 msgid "" "Calls a method. *argc* is number of positional arguments. Keyword arguments " "are not supported. This opcode is designed to be used with :opcode:" @@ -1087,44 +1093,46 @@ msgid "" "popped and return value is pushed." msgstr "" -#: ../Doc/library/dis.rst:1134 +#: ../Doc/library/dis.rst:1141 msgid "" "Pushes a new function object on the stack. From bottom to top, the consumed " "stack must consist of values if the argument carries a specified flag value" msgstr "" -#: ../Doc/library/dis.rst:1137 -msgid "``0x01`` a tuple of default argument objects in positional order" +#: ../Doc/library/dis.rst:1144 +msgid "" +"``0x01`` a tuple of default values for positional-only and positional-or-" +"keyword parameters in positional order" msgstr "" -#: ../Doc/library/dis.rst:1138 +#: ../Doc/library/dis.rst:1146 msgid "``0x02`` a dictionary of keyword-only parameters' default values" msgstr "" -#: ../Doc/library/dis.rst:1139 +#: ../Doc/library/dis.rst:1147 msgid "``0x04`` an annotation dictionary" msgstr "" -#: ../Doc/library/dis.rst:1140 +#: ../Doc/library/dis.rst:1148 msgid "``0x08`` a tuple containing cells for free variables, making a closure" msgstr "" -#: ../Doc/library/dis.rst:1141 +#: ../Doc/library/dis.rst:1149 msgid "the code associated with the function (at TOS1)" msgstr "" -#: ../Doc/library/dis.rst:1142 +#: ../Doc/library/dis.rst:1150 msgid "the :term:`qualified name` of the function (at TOS)" msgstr "" -#: ../Doc/library/dis.rst:1149 +#: ../Doc/library/dis.rst:1157 msgid "" "Pushes a slice object on the stack. *argc* must be 2 or 3. If it is 2, " "``slice(TOS1, TOS)`` is pushed; if it is 3, ``slice(TOS2, TOS1, TOS)`` is " "pushed. See the :func:`slice` built-in function for more information." msgstr "" -#: ../Doc/library/dis.rst:1156 +#: ../Doc/library/dis.rst:1164 msgid "" "Prefixes any opcode which has an argument too big to fit into the default " "two bytes. *ext* holds two additional bytes which, taken together with the " @@ -1132,86 +1140,86 @@ msgid "" "two most-significant bytes." msgstr "" -#: ../Doc/library/dis.rst:1164 +#: ../Doc/library/dis.rst:1172 msgid "" "Used for implementing formatted literal strings (f-strings). Pops an " "optional *fmt_spec* from the stack, then a required *value*. *flags* is " "interpreted as follows:" msgstr "" -#: ../Doc/library/dis.rst:1168 +#: ../Doc/library/dis.rst:1176 msgid "``(flags & 0x03) == 0x00``: *value* is formatted as-is." msgstr "" -#: ../Doc/library/dis.rst:1169 +#: ../Doc/library/dis.rst:1177 msgid "" "``(flags & 0x03) == 0x01``: call :func:`str` on *value* before formatting it." msgstr "" -#: ../Doc/library/dis.rst:1171 +#: ../Doc/library/dis.rst:1179 msgid "" "``(flags & 0x03) == 0x02``: call :func:`repr` on *value* before formatting " "it." msgstr "" -#: ../Doc/library/dis.rst:1173 +#: ../Doc/library/dis.rst:1181 msgid "" "``(flags & 0x03) == 0x03``: call :func:`ascii` on *value* before formatting " "it." msgstr "" -#: ../Doc/library/dis.rst:1175 +#: ../Doc/library/dis.rst:1183 msgid "" "``(flags & 0x04) == 0x04``: pop *fmt_spec* from the stack and use it, else " "use an empty *fmt_spec*." msgstr "" -#: ../Doc/library/dis.rst:1178 +#: ../Doc/library/dis.rst:1186 msgid "" "Formatting is performed using :c:func:`PyObject_Format`. The result is " "pushed on the stack." msgstr "" -#: ../Doc/library/dis.rst:1186 +#: ../Doc/library/dis.rst:1194 msgid "" "This is not really an opcode. It identifies the dividing line between " "opcodes which don't use their argument and those that do (``< " "HAVE_ARGUMENT`` and ``>= HAVE_ARGUMENT``, respectively)." msgstr "" -#: ../Doc/library/dis.rst:1190 +#: ../Doc/library/dis.rst:1198 msgid "" "Now every instruction has an argument, but opcodes ``< HAVE_ARGUMENT`` " "ignore it. Before, only opcodes ``>= HAVE_ARGUMENT`` had an argument." msgstr "" -#: ../Doc/library/dis.rst:1198 +#: ../Doc/library/dis.rst:1206 msgid "Opcode collections" msgstr "" -#: ../Doc/library/dis.rst:1200 +#: ../Doc/library/dis.rst:1208 msgid "" "These collections are provided for automatic introspection of bytecode " "instructions:" msgstr "" -#: ../Doc/library/dis.rst:1205 +#: ../Doc/library/dis.rst:1213 msgid "Sequence of operation names, indexable using the bytecode." msgstr "" -#: ../Doc/library/dis.rst:1210 +#: ../Doc/library/dis.rst:1218 msgid "Dictionary mapping operation names to bytecodes." msgstr "" -#: ../Doc/library/dis.rst:1215 +#: ../Doc/library/dis.rst:1223 msgid "Sequence of all compare operation names." msgstr "" -#: ../Doc/library/dis.rst:1220 -msgid "Sequence of bytecodes that have a constant parameter." +#: ../Doc/library/dis.rst:1228 +msgid "Sequence of bytecodes that access a constant." msgstr "" -#: ../Doc/library/dis.rst:1225 +#: ../Doc/library/dis.rst:1233 msgid "" "Sequence of bytecodes that access a free variable (note that 'free' in this " "context refers to names in the current scope that are referenced by inner " @@ -1219,22 +1227,22 @@ msgid "" "does *not* include references to global or builtin scopes)." msgstr "" -#: ../Doc/library/dis.rst:1233 +#: ../Doc/library/dis.rst:1241 msgid "Sequence of bytecodes that access an attribute by name." msgstr "" -#: ../Doc/library/dis.rst:1238 +#: ../Doc/library/dis.rst:1246 msgid "Sequence of bytecodes that have a relative jump target." msgstr "" -#: ../Doc/library/dis.rst:1243 +#: ../Doc/library/dis.rst:1251 msgid "Sequence of bytecodes that have an absolute jump target." msgstr "" -#: ../Doc/library/dis.rst:1248 +#: ../Doc/library/dis.rst:1256 msgid "Sequence of bytecodes that access a local variable." msgstr "" -#: ../Doc/library/dis.rst:1253 +#: ../Doc/library/dis.rst:1261 msgid "Sequence of bytecodes of Boolean operations." msgstr "" diff --git a/library/email.encoders.po b/library/email.encoders.po index 10493bb4..5e259a35 100644 --- a/library/email.encoders.po +++ b/library/email.encoders.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-02 22:11+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-10-05 09:50+0200\n" +"Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: \n" "X-Generator: Poedit 2.0.6\n" #: ../Doc/library/email.encoders.rst:2 diff --git a/library/enum.po b/library/enum.po index a95ee1df..d834af4d 100644 --- a/library/enum.po +++ b/library/enum.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -323,20 +323,27 @@ msgid "" msgstr "" #: ../Doc/library/enum.rst:391 -msgid "Restricted subclassing of enumerations" +msgid "Restricted Enum subclassing" msgstr "" #: ../Doc/library/enum.rst:393 msgid "" -"Subclassing an enumeration is allowed only if the enumeration does not " +"A new :class:`Enum` class must have one base Enum class, up to one concrete " +"data type, and as many :class:`object`-based mixin classes as needed. The " +"order of these base classes is::" +msgstr "" + +#: ../Doc/library/enum.rst:400 +msgid "" +"Also, subclassing an enumeration is allowed only if the enumeration does not " "define any members. So this is forbidden::" msgstr "" -#: ../Doc/library/enum.rst:403 +#: ../Doc/library/enum.rst:410 msgid "But this is allowed::" msgstr "" -#: ../Doc/library/enum.rst:414 +#: ../Doc/library/enum.rst:421 msgid "" "Allowing subclassing of enums that define members would lead to a violation " "of some important invariants of types and instances. On the other hand, it " @@ -344,49 +351,49 @@ msgid "" "enumerations. (See `OrderedEnum`_ for an example.)" msgstr "" -#: ../Doc/library/enum.rst:421 +#: ../Doc/library/enum.rst:428 msgid "Pickling" msgstr "" -#: ../Doc/library/enum.rst:423 +#: ../Doc/library/enum.rst:430 msgid "Enumerations can be pickled and unpickled::" msgstr "" -#: ../Doc/library/enum.rst:430 +#: ../Doc/library/enum.rst:437 msgid "" "The usual restrictions for pickling apply: picklable enums must be defined " "in the top level of a module, since unpickling requires them to be " "importable from that module." msgstr "" -#: ../Doc/library/enum.rst:436 +#: ../Doc/library/enum.rst:443 msgid "" "With pickle protocol version 4 it is possible to easily pickle enums nested " "in other classes." msgstr "" -#: ../Doc/library/enum.rst:439 +#: ../Doc/library/enum.rst:446 msgid "" "It is possible to modify how Enum members are pickled/unpickled by defining :" "meth:`__reduce_ex__` in the enumeration class." msgstr "" -#: ../Doc/library/enum.rst:444 +#: ../Doc/library/enum.rst:451 msgid "Functional API" msgstr "" -#: ../Doc/library/enum.rst:446 +#: ../Doc/library/enum.rst:453 msgid "" "The :class:`Enum` class is callable, providing the following functional API::" msgstr "" -#: ../Doc/library/enum.rst:458 +#: ../Doc/library/enum.rst:465 msgid "" "The semantics of this API resemble :class:`~collections.namedtuple`. The " "first argument of the call to :class:`Enum` is the name of the enumeration." msgstr "" -#: ../Doc/library/enum.rst:461 +#: ../Doc/library/enum.rst:468 msgid "" "The second argument is the *source* of enumeration member names. It can be " "a whitespace-separated string of names, a sequence of names, a sequence of 2-" @@ -398,14 +405,14 @@ msgid "" "assignment to :class:`Animal` is equivalent to::" msgstr "" -#: ../Doc/library/enum.rst:477 +#: ../Doc/library/enum.rst:484 msgid "" "The reason for defaulting to ``1`` as the starting number and not ``0`` is " "that ``0`` is ``False`` in a boolean sense, but enum members all evaluate to " "``True``." msgstr "" -#: ../Doc/library/enum.rst:481 +#: ../Doc/library/enum.rst:488 msgid "" "Pickling enums created with the functional API can be tricky as frame stack " "implementation details are used to try and figure out which module the " @@ -414,14 +421,14 @@ msgid "" "The solution is to specify the module name explicitly as follows::" msgstr "" -#: ../Doc/library/enum.rst:491 +#: ../Doc/library/enum.rst:498 msgid "" "If ``module`` is not supplied, and Enum cannot determine what it is, the new " "Enum members will not be unpicklable; to keep errors closer to the source, " "pickling will be disabled." msgstr "" -#: ../Doc/library/enum.rst:495 +#: ../Doc/library/enum.rst:502 msgid "" "The new pickle protocol 4 also, in some circumstances, relies on :attr:" "`~definition.__qualname__` being set to the location where pickle will be " @@ -429,7 +436,7 @@ msgid "" "class SomeData in the global scope::" msgstr "" -#: ../Doc/library/enum.rst:502 +#: ../Doc/library/enum.rst:509 msgid "The complete signature is::" msgstr "" @@ -437,7 +444,7 @@ msgstr "" msgid "value" msgstr "valeur" -#: ../Doc/library/enum.rst:506 +#: ../Doc/library/enum.rst:513 msgid "What the new Enum class will record as its name." msgstr "" @@ -445,21 +452,21 @@ msgstr "" msgid "names" msgstr "" -#: ../Doc/library/enum.rst:508 +#: ../Doc/library/enum.rst:515 msgid "" "The Enum members. This can be a whitespace or comma separated string " "(values will start at 1 unless otherwise specified)::" msgstr "" -#: ../Doc/library/enum.rst:513 +#: ../Doc/library/enum.rst:520 msgid "or an iterator of names::" msgstr "" -#: ../Doc/library/enum.rst:517 +#: ../Doc/library/enum.rst:524 msgid "or an iterator of (name, value) pairs::" msgstr "" -#: ../Doc/library/enum.rst:521 +#: ../Doc/library/enum.rst:528 msgid "or a mapping::" msgstr "" @@ -467,7 +474,7 @@ msgstr "" msgid "module" msgstr "module" -#: ../Doc/library/enum.rst:525 +#: ../Doc/library/enum.rst:532 msgid "name of module where new Enum class can be found." msgstr "" @@ -475,7 +482,7 @@ msgstr "" msgid "qualname" msgstr "" -#: ../Doc/library/enum.rst:527 +#: ../Doc/library/enum.rst:534 msgid "where in module new Enum class can be found." msgstr "" @@ -483,7 +490,7 @@ msgstr "" msgid "type" msgstr "type" -#: ../Doc/library/enum.rst:529 +#: ../Doc/library/enum.rst:536 msgid "type to mix in to new Enum class." msgstr "" @@ -491,23 +498,23 @@ msgstr "" msgid "start" msgstr "" -#: ../Doc/library/enum.rst:531 +#: ../Doc/library/enum.rst:538 msgid "number to start counting at if only names are passed in." msgstr "" -#: ../Doc/library/enum.rst:533 +#: ../Doc/library/enum.rst:540 msgid "The *start* parameter was added." msgstr "" -#: ../Doc/library/enum.rst:538 +#: ../Doc/library/enum.rst:545 msgid "Derived Enumerations" msgstr "" -#: ../Doc/library/enum.rst:541 +#: ../Doc/library/enum.rst:548 msgid "IntEnum" msgstr "IntEnum" -#: ../Doc/library/enum.rst:543 +#: ../Doc/library/enum.rst:550 msgid "" "The first variation of :class:`Enum` that is provided is also a subclass of :" "class:`int`. Members of an :class:`IntEnum` can be compared to integers; by " @@ -515,22 +522,22 @@ msgid "" "each other::" msgstr "" -#: ../Doc/library/enum.rst:564 +#: ../Doc/library/enum.rst:571 msgid "" "However, they still can't be compared to standard :class:`Enum` " "enumerations::" msgstr "" -#: ../Doc/library/enum.rst:577 +#: ../Doc/library/enum.rst:584 msgid "" ":class:`IntEnum` values behave like integers in other ways you'd expect::" msgstr "" -#: ../Doc/library/enum.rst:588 +#: ../Doc/library/enum.rst:595 msgid "IntFlag" msgstr "" -#: ../Doc/library/enum.rst:590 +#: ../Doc/library/enum.rst:597 msgid "" "The next variation of :class:`Enum` provided, :class:`IntFlag`, is also " "based on :class:`int`. The difference being :class:`IntFlag` members can be " @@ -541,32 +548,32 @@ msgid "" "operations will lose the :class:`IntFlag` membership." msgstr "" -#: ../Doc/library/enum.rst:600 +#: ../Doc/library/enum.rst:607 msgid "Sample :class:`IntFlag` class::" msgstr "" -#: ../Doc/library/enum.rst:616 +#: ../Doc/library/enum.rst:623 msgid "It is also possible to name the combinations::" msgstr "" -#: ../Doc/library/enum.rst:628 +#: ../Doc/library/enum.rst:635 msgid "" "Another important difference between :class:`IntFlag` and :class:`Enum` is " "that if no flags are set (the value is 0), its boolean evaluation is :data:" "`False`::" msgstr "" -#: ../Doc/library/enum.rst:636 +#: ../Doc/library/enum.rst:643 msgid "" "Because :class:`IntFlag` members are also subclasses of :class:`int` they " "can be combined with them::" msgstr "" -#: ../Doc/library/enum.rst:644 +#: ../Doc/library/enum.rst:651 msgid "Flag" msgstr "Option" -#: ../Doc/library/enum.rst:646 +#: ../Doc/library/enum.rst:653 msgid "" "The last variation is :class:`Flag`. Like :class:`IntFlag`, :class:`Flag` " "members can be combined using the bitwise operators (&, \\|, ^, ~). Unlike :" @@ -576,25 +583,25 @@ msgid "" "value and let :class:`Flag` select an appropriate value." msgstr "" -#: ../Doc/library/enum.rst:655 +#: ../Doc/library/enum.rst:662 msgid "" "Like :class:`IntFlag`, if a combination of :class:`Flag` members results in " "no flags being set, the boolean evaluation is :data:`False`::" msgstr "" -#: ../Doc/library/enum.rst:669 +#: ../Doc/library/enum.rst:676 msgid "" "Individual flags should have values that are powers of two (1, 2, 4, " "8, ...), while combinations of flags won't::" msgstr "" -#: ../Doc/library/enum.rst:681 +#: ../Doc/library/enum.rst:688 msgid "" "Giving a name to the \"no flags set\" condition does not change its boolean " "value::" msgstr "" -#: ../Doc/library/enum.rst:697 +#: ../Doc/library/enum.rst:704 msgid "" "For the majority of new code, :class:`Enum` and :class:`Flag` are strongly " "recommended, since :class:`IntEnum` and :class:`IntFlag` break some semantic " @@ -605,35 +612,35 @@ msgid "" "enumerations, or for interoperability with other systems." msgstr "" -#: ../Doc/library/enum.rst:707 +#: ../Doc/library/enum.rst:714 msgid "Others" msgstr "Autres" -#: ../Doc/library/enum.rst:709 +#: ../Doc/library/enum.rst:716 msgid "" "While :class:`IntEnum` is part of the :mod:`enum` module, it would be very " "simple to implement independently::" msgstr "" -#: ../Doc/library/enum.rst:715 +#: ../Doc/library/enum.rst:722 msgid "" "This demonstrates how similar derived enumerations can be defined; for " "example a :class:`StrEnum` that mixes in :class:`str` instead of :class:" "`int`." msgstr "" -#: ../Doc/library/enum.rst:718 +#: ../Doc/library/enum.rst:725 msgid "Some rules:" msgstr "" -#: ../Doc/library/enum.rst:720 +#: ../Doc/library/enum.rst:727 msgid "" "When subclassing :class:`Enum`, mix-in types must appear before :class:" "`Enum` itself in the sequence of bases, as in the :class:`IntEnum` example " "above." msgstr "" -#: ../Doc/library/enum.rst:723 +#: ../Doc/library/enum.rst:730 msgid "" "While :class:`Enum` can have members of any type, once you mix in an " "additional type, all the members must have values of that type, e.g. :class:" @@ -642,21 +649,21 @@ msgid "" "`str`." msgstr "" -#: ../Doc/library/enum.rst:728 +#: ../Doc/library/enum.rst:735 msgid "" "When another data type is mixed in, the :attr:`value` attribute is *not the " "same* as the enum member itself, although it is equivalent and will compare " "equal." msgstr "" -#: ../Doc/library/enum.rst:731 +#: ../Doc/library/enum.rst:738 msgid "" "%-style formatting: `%s` and `%r` call the :class:`Enum` class's :meth:" "`__str__` and :meth:`__repr__` respectively; other codes (such as `%i` or `" "%h` for IntEnum) treat the enum member as its mixed-in type." msgstr "" -#: ../Doc/library/enum.rst:734 +#: ../Doc/library/enum.rst:741 msgid "" ":ref:`Formatted string literals `, :meth:`str.format`, and :func:" "`format` will use the mixed-in type's :meth:`__format__`. If the :class:" @@ -664,11 +671,11 @@ msgid "" "format codes." msgstr "" -#: ../Doc/library/enum.rst:741 +#: ../Doc/library/enum.rst:748 msgid "Interesting examples" msgstr "" -#: ../Doc/library/enum.rst:743 +#: ../Doc/library/enum.rst:750 msgid "" "While :class:`Enum`, :class:`IntEnum`, :class:`IntFlag`, and :class:`Flag` " "are expected to cover the majority of use-cases, they cannot cover them " @@ -676,147 +683,147 @@ msgid "" "used directly, or as examples for creating one's own." msgstr "" -#: ../Doc/library/enum.rst:750 +#: ../Doc/library/enum.rst:757 msgid "Omitting values" msgstr "" -#: ../Doc/library/enum.rst:752 +#: ../Doc/library/enum.rst:759 msgid "" "In many use-cases one doesn't care what the actual value of an enumeration " "is. There are several ways to define this type of simple enumeration:" msgstr "" -#: ../Doc/library/enum.rst:755 +#: ../Doc/library/enum.rst:762 msgid "use instances of :class:`auto` for the value" msgstr "" -#: ../Doc/library/enum.rst:756 +#: ../Doc/library/enum.rst:763 msgid "use instances of :class:`object` as the value" msgstr "" -#: ../Doc/library/enum.rst:757 +#: ../Doc/library/enum.rst:764 msgid "use a descriptive string as the value" msgstr "" -#: ../Doc/library/enum.rst:758 +#: ../Doc/library/enum.rst:765 msgid "" "use a tuple as the value and a custom :meth:`__new__` to replace the tuple " "with an :class:`int` value" msgstr "" -#: ../Doc/library/enum.rst:761 +#: ../Doc/library/enum.rst:768 msgid "" "Using any of these methods signifies to the user that these values are not " "important, and also enables one to add, remove, or reorder members without " "having to renumber the remaining members." msgstr "" -#: ../Doc/library/enum.rst:765 +#: ../Doc/library/enum.rst:772 msgid "" "Whichever method you choose, you should provide a :meth:`repr` that also " "hides the (unimportant) value::" msgstr "" -#: ../Doc/library/enum.rst:775 +#: ../Doc/library/enum.rst:782 msgid "Using :class:`auto`" msgstr "" -#: ../Doc/library/enum.rst:777 +#: ../Doc/library/enum.rst:784 msgid "Using :class:`auto` would look like::" msgstr "" -#: ../Doc/library/enum.rst:789 +#: ../Doc/library/enum.rst:796 msgid "Using :class:`object`" msgstr "" -#: ../Doc/library/enum.rst:791 +#: ../Doc/library/enum.rst:798 msgid "Using :class:`object` would look like::" msgstr "" -#: ../Doc/library/enum.rst:803 +#: ../Doc/library/enum.rst:810 msgid "Using a descriptive string" msgstr "" -#: ../Doc/library/enum.rst:805 +#: ../Doc/library/enum.rst:812 msgid "Using a string as the value would look like::" msgstr "" -#: ../Doc/library/enum.rst:819 +#: ../Doc/library/enum.rst:826 msgid "Using a custom :meth:`__new__`" msgstr "" -#: ../Doc/library/enum.rst:821 +#: ../Doc/library/enum.rst:828 msgid "Using an auto-numbering :meth:`__new__` would look like::" msgstr "" -#: ../Doc/library/enum.rst:843 +#: ../Doc/library/enum.rst:850 msgid "" "The :meth:`__new__` method, if defined, is used during creation of the Enum " "members; it is then replaced by Enum's :meth:`__new__` which is used after " "class creation for lookup of existing members." msgstr "" -#: ../Doc/library/enum.rst:849 +#: ../Doc/library/enum.rst:856 msgid "OrderedEnum" msgstr "OrderedEnum" -#: ../Doc/library/enum.rst:851 +#: ../Doc/library/enum.rst:858 msgid "" "An ordered enumeration that is not based on :class:`IntEnum` and so " "maintains the normal :class:`Enum` invariants (such as not being comparable " "to other enumerations)::" msgstr "" -#: ../Doc/library/enum.rst:885 +#: ../Doc/library/enum.rst:892 msgid "DuplicateFreeEnum" msgstr "DuplicateFreeEnum" -#: ../Doc/library/enum.rst:887 +#: ../Doc/library/enum.rst:894 msgid "" "Raises an error if a duplicate member name is found instead of creating an " "alias::" msgstr "" -#: ../Doc/library/enum.rst:912 +#: ../Doc/library/enum.rst:919 msgid "" "This is a useful example for subclassing Enum to add or change other " "behaviors as well as disallowing aliases. If the only desired change is " "disallowing aliases, the :func:`unique` decorator can be used instead." msgstr "" -#: ../Doc/library/enum.rst:918 +#: ../Doc/library/enum.rst:925 msgid "Planet" msgstr "" -#: ../Doc/library/enum.rst:920 +#: ../Doc/library/enum.rst:927 msgid "" "If :meth:`__new__` or :meth:`__init__` is defined the value of the enum " "member will be passed to those methods::" msgstr "" -#: ../Doc/library/enum.rst:948 +#: ../Doc/library/enum.rst:955 msgid "TimePeriod" msgstr "" -#: ../Doc/library/enum.rst:950 +#: ../Doc/library/enum.rst:957 msgid "An example to show the :attr:`_ignore_` attribute in use::" msgstr "" -#: ../Doc/library/enum.rst:967 +#: ../Doc/library/enum.rst:974 msgid "How are Enums different?" msgstr "" -#: ../Doc/library/enum.rst:969 +#: ../Doc/library/enum.rst:976 msgid "" "Enums have a custom metaclass that affects many aspects of both derived Enum " "classes and their instances (members)." msgstr "" -#: ../Doc/library/enum.rst:974 +#: ../Doc/library/enum.rst:981 msgid "Enum Classes" msgstr "" -#: ../Doc/library/enum.rst:976 +#: ../Doc/library/enum.rst:983 msgid "" "The :class:`EnumMeta` metaclass is responsible for providing the :meth:" "`__contains__`, :meth:`__dir__`, :meth:`__iter__` and other methods that " @@ -827,11 +834,11 @@ msgid "" "meth:`__str__` and :meth:`__repr__`)." msgstr "" -#: ../Doc/library/enum.rst:986 +#: ../Doc/library/enum.rst:993 msgid "Enum Members (aka instances)" msgstr "" -#: ../Doc/library/enum.rst:988 +#: ../Doc/library/enum.rst:995 msgid "" "The most interesting thing about Enum members is that they are singletons. :" "class:`EnumMeta` creates them all while it is creating the :class:`Enum` " @@ -840,91 +847,91 @@ msgid "" "instances." msgstr "" -#: ../Doc/library/enum.rst:996 +#: ../Doc/library/enum.rst:1003 msgid "Finer Points" msgstr "" -#: ../Doc/library/enum.rst:999 +#: ../Doc/library/enum.rst:1006 msgid "Supported ``__dunder__`` names" msgstr "" -#: ../Doc/library/enum.rst:1001 +#: ../Doc/library/enum.rst:1008 msgid "" ":attr:`__members__` is an :class:`OrderedDict` of ``member_name``:``member`` " "items. It is only available on the class." msgstr "" -#: ../Doc/library/enum.rst:1004 +#: ../Doc/library/enum.rst:1011 msgid "" ":meth:`__new__`, if specified, must create and return the enum members; it " "is also a very good idea to set the member's :attr:`_value_` appropriately. " "Once all the members are created it is no longer used." msgstr "" -#: ../Doc/library/enum.rst:1010 +#: ../Doc/library/enum.rst:1017 msgid "Supported ``_sunder_`` names" msgstr "" -#: ../Doc/library/enum.rst:1012 +#: ../Doc/library/enum.rst:1019 msgid "``_name_`` -- name of the member" msgstr "" -#: ../Doc/library/enum.rst:1013 +#: ../Doc/library/enum.rst:1020 msgid "" "``_value_`` -- value of the member; can be set / modified in ``__new__``" msgstr "" -#: ../Doc/library/enum.rst:1015 +#: ../Doc/library/enum.rst:1022 msgid "" "``_missing_`` -- a lookup function used when a value is not found; may be " "overridden" msgstr "" -#: ../Doc/library/enum.rst:1017 +#: ../Doc/library/enum.rst:1024 msgid "" "``_ignore_`` -- a list of names, either as a :func:`list` or a :func:`str`, " "that will not be transformed into members, and will be removed from the " "final class" msgstr "" -#: ../Doc/library/enum.rst:1020 +#: ../Doc/library/enum.rst:1027 msgid "" "``_order_`` -- used in Python 2/3 code to ensure member order is consistent " "(class attribute, removed during class creation)" msgstr "" -#: ../Doc/library/enum.rst:1022 +#: ../Doc/library/enum.rst:1029 msgid "" "``_generate_next_value_`` -- used by the `Functional API`_ and by :class:" "`auto` to get an appropriate value for an enum member; may be overridden" msgstr "" -#: ../Doc/library/enum.rst:1026 +#: ../Doc/library/enum.rst:1033 msgid "``_missing_``, ``_order_``, ``_generate_next_value_``" msgstr "" -#: ../Doc/library/enum.rst:1027 +#: ../Doc/library/enum.rst:1034 msgid "``_ignore_``" msgstr "" -#: ../Doc/library/enum.rst:1029 +#: ../Doc/library/enum.rst:1036 msgid "" "To help keep Python 2 / Python 3 code in sync an :attr:`_order_` attribute " "can be provided. It will be checked against the actual order of the " "enumeration and raise an error if the two do not match::" msgstr "" -#: ../Doc/library/enum.rst:1045 +#: ../Doc/library/enum.rst:1052 msgid "" "In Python 2 code the :attr:`_order_` attribute is necessary as definition " "order is lost before it can be recorded." msgstr "" -#: ../Doc/library/enum.rst:1049 +#: ../Doc/library/enum.rst:1056 msgid "``Enum`` member type" msgstr "" -#: ../Doc/library/enum.rst:1051 +#: ../Doc/library/enum.rst:1058 msgid "" ":class:`Enum` members are instances of their :class:`Enum` class, and are " "normally accessed as ``EnumClass.member``. Under certain circumstances they " @@ -934,11 +941,11 @@ msgid "" "uppercase names for members)::" msgstr "" -#: ../Doc/library/enum.rst:1072 +#: ../Doc/library/enum.rst:1079 msgid "Boolean value of ``Enum`` classes and members" msgstr "" -#: ../Doc/library/enum.rst:1074 +#: ../Doc/library/enum.rst:1081 msgid "" ":class:`Enum` members that are mixed with non-:class:`Enum` types (such as :" "class:`int`, :class:`str`, etc.) are evaluated according to the mixed-in " @@ -947,26 +954,26 @@ msgid "" "to your class::" msgstr "" -#: ../Doc/library/enum.rst:1083 +#: ../Doc/library/enum.rst:1090 msgid ":class:`Enum` classes always evaluate as :data:`True`." msgstr "" -#: ../Doc/library/enum.rst:1087 +#: ../Doc/library/enum.rst:1094 msgid "``Enum`` classes with methods" msgstr "" -#: ../Doc/library/enum.rst:1089 +#: ../Doc/library/enum.rst:1096 msgid "" "If you give your :class:`Enum` subclass extra methods, like the `Planet`_ " "class above, those methods will show up in a :func:`dir` of the member, but " "not of the class::" msgstr "" -#: ../Doc/library/enum.rst:1100 +#: ../Doc/library/enum.rst:1107 msgid "Combining members of ``Flag``" msgstr "" -#: ../Doc/library/enum.rst:1102 +#: ../Doc/library/enum.rst:1109 msgid "" "If a combination of Flag members is not named, the :func:`repr` will include " "all named flags and all named combinations of flags that are in the value::" diff --git a/library/functions.po b/library/functions.po index de574a91..4e607482 100644 --- a/library/functions.po +++ b/library/functions.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-09-15 21:52+0200\n" -"PO-Revision-Date: 2018-10-04 11:46+0200\n" +"PO-Revision-Date: 2018-10-13 17:36+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -386,12 +386,10 @@ msgstr "" #: ../Doc/library/functions.rst:115 ../Doc/library/functions.rst:582 #: ../Doc/library/functions.rst:770 -#, fuzzy msgid "*x* is now a positional-only parameter." -msgstr "*x* est désormais un argument optionnel." +msgstr "*x* est désormais un argument exclusivement optionnel." #: ../Doc/library/functions.rst:120 -#, fuzzy msgid "" "This function drops you into the debugger at the call site. Specifically, " "it calls :func:`sys.breakpointhook`, passing ``args`` and ``kws`` straight " @@ -405,7 +403,7 @@ msgstr "" "Cette fonction vous place dans le débogueur lorsqu'elle est appelée. Plus " "précisément, elle appelle :func:`sys.breakpointhook`, en lui passant les " "arguments ``args`` et ``kws``. Par défaut, ``sys.breakpointhook()`` " -"appelle :func:`pdb.set_trace()` qui n'attend aucun arguments. Dans ce cas, " +"appelle :func:`pdb.set_trace()` qui n'attend aucun argument. Dans ce cas, " "c'est purement une fonction de commodité donc vous n'avez pas à importer " "explicitement :mod:`pdb` ou à taper plus de code pour entrer dans le " "débogueur. Cependant, :func:`sys.breakpointhook` peut-être paramétré pour " diff --git a/library/gzip.po b/library/gzip.po index d68bcb80..67b8ce2e 100644 --- a/library/gzip.po +++ b/library/gzip.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-08-10 00:49+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-10-07 15:03+0200\n" +"Last-Translator: Lomanic \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: Lomanic \n" "X-Generator: Poedit 1.8.11\n" #: ../Doc/library/gzip.rst:2 diff --git a/library/html.po b/library/html.po index cd1bddec..8b318ba2 100644 --- a/library/html.po +++ b/library/html.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-02 22:11+0200\n" -"PO-Revision-Date: 2018-09-27 15:05+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 17:52+0200\n" "Last-Translator: Bruno Inec \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -44,13 +44,13 @@ msgstr "" #: ../Doc/library/html.rst:26 msgid "" "Convert all named and numeric character references (e.g. ``>``, ``>" -"``, ``&x3e;``) in the string *s* to the corresponding unicode characters. " +"``, ``>``) in the string *s* to the corresponding Unicode characters. " "This function uses the rules defined by the HTML 5 standard for both valid " "and invalid character references, and the :data:`list of HTML 5 named " "character references `." msgstr "" "Convertit toutes les références de caractères nommés et numériques (e.g. " -"``>``, ``>``, ``&x3e;``) dans la chaîne de caractères *s* par les " +"``>``, ``>``, ``>``) dans la chaîne de caractères *s* par les " "caractères Unicode correspondants. Cette fonction utilise les règles " "définies par le standard HTML 5 à la fois pour les caractères valides et les " "caractères invalides, et la :data:`liste des références des caractères " diff --git a/library/http.server.po b/library/http.server.po index af2c9783..c0a4faca 100644 --- a/library/http.server.po +++ b/library/http.server.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -27,14 +27,25 @@ msgid "" "This module defines classes for implementing HTTP servers (Web servers)." msgstr "" -#: ../Doc/library/http.server.rst:19 +#: ../Doc/library/http.server.rst:20 +msgid "Security Considerations" +msgstr "" + +#: ../Doc/library/http.server.rst:22 +msgid "" +"http.server is meant for demo purposes and does not implement the stringent " +"security checks needed of real HTTP server. We do not recommend using this " +"module directly in production." +msgstr "" + +#: ../Doc/library/http.server.rst:27 msgid "" "One class, :class:`HTTPServer`, is a :class:`socketserver.TCPServer` " "subclass. It creates and listens at the HTTP socket, dispatching the " "requests to a handler. Code to create and run the server looks like this::" msgstr "" -#: ../Doc/library/http.server.rst:31 +#: ../Doc/library/http.server.rst:39 msgid "" "This class builds on the :class:`~socketserver.TCPServer` class by storing " "the server address as instance variables named :attr:`server_name` and :attr:" @@ -42,7 +53,7 @@ msgid "" "the handler's :attr:`server` instance variable." msgstr "" -#: ../Doc/library/http.server.rst:38 +#: ../Doc/library/http.server.rst:46 msgid "" "This class is identical to HTTPServer but uses threads to handle requests by " "using the :class:`~socketserver.ThreadingMixIn`. This is useful to handle " @@ -50,14 +61,14 @@ msgid "" "indefinitely." msgstr "" -#: ../Doc/library/http.server.rst:46 +#: ../Doc/library/http.server.rst:54 msgid "" "The :class:`HTTPServer` and :class:`ThreadingHTTPServer` must be given a " "*RequestHandlerClass* on instantiation, of which this module provides three " "different variants:" msgstr "" -#: ../Doc/library/http.server.rst:52 +#: ../Doc/library/http.server.rst:60 msgid "" "This class is used to handle the HTTP requests that arrive at the server. " "By itself, it cannot respond to any actual HTTP requests; it must be " @@ -66,7 +77,7 @@ msgid "" "and methods for use by subclasses." msgstr "" -#: ../Doc/library/http.server.rst:58 +#: ../Doc/library/http.server.rst:66 msgid "" "The handler will parse the request and the headers, then call a method " "specific to the request type. The method name is constructed from the " @@ -76,28 +87,28 @@ msgid "" "override or extend the :meth:`__init__` method." msgstr "" -#: ../Doc/library/http.server.rst:65 +#: ../Doc/library/http.server.rst:73 msgid ":class:`BaseHTTPRequestHandler` has the following instance variables:" msgstr "" -#: ../Doc/library/http.server.rst:69 +#: ../Doc/library/http.server.rst:77 msgid "" "Contains a tuple of the form ``(host, port)`` referring to the client's " "address." msgstr "" -#: ../Doc/library/http.server.rst:74 +#: ../Doc/library/http.server.rst:82 msgid "Contains the server instance." msgstr "" -#: ../Doc/library/http.server.rst:78 +#: ../Doc/library/http.server.rst:86 msgid "" "Boolean that should be set before :meth:`handle_one_request` returns, " "indicating if another request may be expected, or if the connection should " "be shut down." msgstr "" -#: ../Doc/library/http.server.rst:84 +#: ../Doc/library/http.server.rst:92 msgid "" "Contains the string representation of the HTTP request line. The terminating " "CRLF is stripped. This attribute should be set by :meth:" @@ -105,20 +116,20 @@ msgid "" "set to the empty string." msgstr "" -#: ../Doc/library/http.server.rst:91 +#: ../Doc/library/http.server.rst:99 msgid "Contains the command (request type). For example, ``'GET'``." msgstr "" -#: ../Doc/library/http.server.rst:95 +#: ../Doc/library/http.server.rst:103 msgid "Contains the request path." msgstr "" -#: ../Doc/library/http.server.rst:99 +#: ../Doc/library/http.server.rst:107 msgid "" "Contains the version string from the request. For example, ``'HTTP/1.0'``." msgstr "" -#: ../Doc/library/http.server.rst:103 +#: ../Doc/library/http.server.rst:111 msgid "" "Holds an instance of the class specified by the :attr:`MessageClass` class " "variable. This instance parses and manages the headers in the HTTP request. " @@ -127,42 +138,42 @@ msgid "" "valid :rfc:`2822` style header." msgstr "" -#: ../Doc/library/http.server.rst:111 +#: ../Doc/library/http.server.rst:119 msgid "" "An :class:`io.BufferedIOBase` input stream, ready to read from the start of " "the optional input data." msgstr "" -#: ../Doc/library/http.server.rst:116 +#: ../Doc/library/http.server.rst:124 msgid "" "Contains the output stream for writing a response back to the client. Proper " "adherence to the HTTP protocol must be used when writing to this stream in " "order to achieve successful interoperation with HTTP clients." msgstr "" -#: ../Doc/library/http.server.rst:121 +#: ../Doc/library/http.server.rst:129 msgid "This is an :class:`io.BufferedIOBase` stream." msgstr "" -#: ../Doc/library/http.server.rst:124 +#: ../Doc/library/http.server.rst:132 msgid ":class:`BaseHTTPRequestHandler` has the following attributes:" msgstr "" -#: ../Doc/library/http.server.rst:128 +#: ../Doc/library/http.server.rst:136 msgid "" "Specifies the server software version. You may want to override this. The " "format is multiple whitespace-separated strings, where each string is of the " "form name[/version]. For example, ``'BaseHTTP/0.2'``." msgstr "" -#: ../Doc/library/http.server.rst:134 +#: ../Doc/library/http.server.rst:142 msgid "" "Contains the Python system version, in a form usable by the :attr:" "`version_string` method and the :attr:`server_version` class variable. For " "example, ``'Python/1.4'``." msgstr "" -#: ../Doc/library/http.server.rst:140 +#: ../Doc/library/http.server.rst:148 msgid "" "Specifies a format string that should be used by :meth:`send_error` method " "for building an error response to the client. The string is filled by " @@ -170,13 +181,13 @@ msgid "" "passed to :meth:`send_error`." msgstr "" -#: ../Doc/library/http.server.rst:147 +#: ../Doc/library/http.server.rst:155 msgid "" "Specifies the Content-Type HTTP header of error responses sent to the " "client. The default value is ``'text/html'``." msgstr "" -#: ../Doc/library/http.server.rst:152 +#: ../Doc/library/http.server.rst:160 msgid "" "This specifies the HTTP protocol version used in responses. If set to " "``'HTTP/1.1'``, the server will permit HTTP persistent connections; however, " @@ -185,14 +196,14 @@ msgid "" "backwards compatibility, the setting defaults to ``'HTTP/1.0'``." msgstr "" -#: ../Doc/library/http.server.rst:160 +#: ../Doc/library/http.server.rst:168 msgid "" "Specifies an :class:`email.message.Message`\\ -like class to parse HTTP " "headers. Typically, this is not overridden, and it defaults to :class:`http." "client.HTTPMessage`." msgstr "" -#: ../Doc/library/http.server.rst:166 +#: ../Doc/library/http.server.rst:174 msgid "" "This attribute contains a mapping of error code integers to two-element " "tuples containing a short and long message. For example, ``{code: " @@ -201,24 +212,24 @@ msgid "" "It is used by :meth:`send_response_only` and :meth:`send_error` methods." msgstr "" -#: ../Doc/library/http.server.rst:172 +#: ../Doc/library/http.server.rst:180 msgid "A :class:`BaseHTTPRequestHandler` instance has the following methods:" msgstr "" -#: ../Doc/library/http.server.rst:176 +#: ../Doc/library/http.server.rst:184 msgid "" "Calls :meth:`handle_one_request` once (or, if persistent connections are " "enabled, multiple times) to handle incoming HTTP requests. You should never " "need to override it; instead, implement appropriate :meth:`do_\\*` methods." msgstr "" -#: ../Doc/library/http.server.rst:183 +#: ../Doc/library/http.server.rst:191 msgid "" "This method will parse and dispatch the request to the appropriate :meth:`do_" "\\*` method. You should never need to override it." msgstr "" -#: ../Doc/library/http.server.rst:188 +#: ../Doc/library/http.server.rst:196 msgid "" "When a HTTP/1.1 compliant server receives an ``Expect: 100-continue`` " "request header it responds back with a ``100 Continue`` followed by ``200 " @@ -227,7 +238,7 @@ msgid "" "``417 Expectation Failed`` as a response header and ``return False``." msgstr "" -#: ../Doc/library/http.server.rst:199 +#: ../Doc/library/http.server.rst:207 msgid "" "Sends and logs a complete error reply to the client. The numeric *code* " "specifies the HTTP error code, with *message* as an optional, short, human " @@ -242,13 +253,13 @@ msgid "" "Reset Content``, ``304 Not Modified``." msgstr "" -#: ../Doc/library/http.server.rst:211 +#: ../Doc/library/http.server.rst:219 msgid "" "The error response includes a Content-Length header. Added the *explain* " "argument." msgstr "" -#: ../Doc/library/http.server.rst:217 +#: ../Doc/library/http.server.rst:225 msgid "" "Adds a response header to the headers buffer and logs the accepted request. " "The HTTP response line is written to the internal buffer, followed by " @@ -259,13 +270,13 @@ msgid "" "followed by an :meth:`end_headers` call." msgstr "" -#: ../Doc/library/http.server.rst:226 +#: ../Doc/library/http.server.rst:234 msgid "" "Headers are stored to an internal buffer and :meth:`end_headers` needs to be " "called explicitly." msgstr "" -#: ../Doc/library/http.server.rst:232 +#: ../Doc/library/http.server.rst:240 msgid "" "Adds the HTTP header to an internal buffer which will be written to the " "output stream when either :meth:`end_headers` or :meth:`flush_headers` is " @@ -274,11 +285,11 @@ msgid "" "`end_headers` MUST BE called in order to complete the operation." msgstr "" -#: ../Doc/library/http.server.rst:238 +#: ../Doc/library/http.server.rst:246 msgid "Headers are stored in an internal buffer." msgstr "" -#: ../Doc/library/http.server.rst:243 +#: ../Doc/library/http.server.rst:251 msgid "" "Sends the response header only, used for the purposes when ``100 Continue`` " "response is sent by the server to the client. The headers not buffered and " @@ -286,37 +297,37 @@ msgid "" "message corresponding the response *code* is sent." msgstr "" -#: ../Doc/library/http.server.rst:252 +#: ../Doc/library/http.server.rst:260 msgid "" "Adds a blank line (indicating the end of the HTTP headers in the response) " "to the headers buffer and calls :meth:`flush_headers()`." msgstr "" -#: ../Doc/library/http.server.rst:256 +#: ../Doc/library/http.server.rst:264 msgid "The buffered headers are written to the output stream." msgstr "" -#: ../Doc/library/http.server.rst:261 +#: ../Doc/library/http.server.rst:269 msgid "" "Finally send the headers to the output stream and flush the internal headers " "buffer." msgstr "" -#: ../Doc/library/http.server.rst:268 +#: ../Doc/library/http.server.rst:276 msgid "" "Logs an accepted (successful) request. *code* should specify the numeric " "HTTP code associated with the response. If a size of the response is " "available, then it should be passed as the *size* parameter." msgstr "" -#: ../Doc/library/http.server.rst:274 +#: ../Doc/library/http.server.rst:282 msgid "" "Logs an error when a request cannot be fulfilled. By default, it passes the " "message to :meth:`log_message`, so it takes the same arguments (*format* and " "additional values)." msgstr "" -#: ../Doc/library/http.server.rst:281 +#: ../Doc/library/http.server.rst:289 msgid "" "Logs an arbitrary message to ``sys.stderr``. This is typically overridden to " "create custom error logging mechanisms. The *format* argument is a standard " @@ -325,63 +336,63 @@ msgid "" "and current date and time are prefixed to every message logged." msgstr "" -#: ../Doc/library/http.server.rst:289 +#: ../Doc/library/http.server.rst:297 msgid "" "Returns the server software's version string. This is a combination of the :" "attr:`server_version` and :attr:`sys_version` attributes." msgstr "" -#: ../Doc/library/http.server.rst:294 +#: ../Doc/library/http.server.rst:302 msgid "" "Returns the date and time given by *timestamp* (which must be ``None`` or in " "the format returned by :func:`time.time`), formatted for a message header. " "If *timestamp* is omitted, it uses the current date and time." msgstr "" -#: ../Doc/library/http.server.rst:298 +#: ../Doc/library/http.server.rst:306 msgid "The result looks like ``'Sun, 06 Nov 1994 08:49:37 GMT'``." msgstr "" -#: ../Doc/library/http.server.rst:302 +#: ../Doc/library/http.server.rst:310 msgid "Returns the current date and time, formatted for logging." msgstr "" -#: ../Doc/library/http.server.rst:306 +#: ../Doc/library/http.server.rst:314 msgid "Returns the client address." msgstr "" -#: ../Doc/library/http.server.rst:308 +#: ../Doc/library/http.server.rst:316 msgid "" "Previously, a name lookup was performed. To avoid name resolution delays, it " "now always returns the IP address." msgstr "" -#: ../Doc/library/http.server.rst:315 +#: ../Doc/library/http.server.rst:323 msgid "" "This class serves files from the current directory and below, directly " "mapping the directory structure to HTTP requests." msgstr "" -#: ../Doc/library/http.server.rst:318 +#: ../Doc/library/http.server.rst:326 msgid "" "A lot of the work, such as parsing the request, is done by the base class :" "class:`BaseHTTPRequestHandler`. This class implements the :func:`do_GET` " "and :func:`do_HEAD` functions." msgstr "" -#: ../Doc/library/http.server.rst:322 +#: ../Doc/library/http.server.rst:330 msgid "" "The following are defined as class-level attributes of :class:" "`SimpleHTTPRequestHandler`:" msgstr "" -#: ../Doc/library/http.server.rst:327 +#: ../Doc/library/http.server.rst:335 msgid "" "This will be ``\"SimpleHTTP/\" + __version__``, where ``__version__`` is " "defined at the module level." msgstr "" -#: ../Doc/library/http.server.rst:332 +#: ../Doc/library/http.server.rst:340 msgid "" "A dictionary mapping suffixes into MIME types. The default is signified by " "an empty string, and is considered to be ``application/octet-stream``. The " @@ -389,30 +400,30 @@ msgid "" "keys." msgstr "" -#: ../Doc/library/http.server.rst:339 +#: ../Doc/library/http.server.rst:347 msgid "" "If not specified, the directory to serve is the current working directory." msgstr "" -#: ../Doc/library/http.server.rst:341 +#: ../Doc/library/http.server.rst:349 msgid "" "The :class:`SimpleHTTPRequestHandler` class defines the following methods:" msgstr "" -#: ../Doc/library/http.server.rst:345 +#: ../Doc/library/http.server.rst:353 msgid "" "This method serves the ``'HEAD'`` request type: it sends the headers it " "would send for the equivalent ``GET`` request. See the :meth:`do_GET` method " "for a more complete explanation of the possible headers." msgstr "" -#: ../Doc/library/http.server.rst:351 +#: ../Doc/library/http.server.rst:359 msgid "" "The request is mapped to a local file by interpreting the request as a path " "relative to the current working directory." msgstr "" -#: ../Doc/library/http.server.rst:354 +#: ../Doc/library/http.server.rst:362 msgid "" "If the request was mapped to a directory, the directory is checked for a " "file named ``index.html`` or ``index.htm`` (in that order). If found, the " @@ -422,7 +433,7 @@ msgid "" "func:`~os.listdir` fails." msgstr "" -#: ../Doc/library/http.server.rst:361 +#: ../Doc/library/http.server.rst:369 msgid "" "If the request was mapped to a file, it is opened. Any :exc:`OSError` " "exception in opening the requested file is mapped to a ``404``, ``'File not " @@ -433,81 +444,81 @@ msgid "" "*extensions_map* variable, and the file contents are returned." msgstr "" -#: ../Doc/library/http.server.rst:369 +#: ../Doc/library/http.server.rst:377 msgid "" "A ``'Content-type:'`` header with the guessed content type is output, " "followed by a ``'Content-Length:'`` header with the file's size and a " "``'Last-Modified:'`` header with the file's modification time." msgstr "" -#: ../Doc/library/http.server.rst:373 +#: ../Doc/library/http.server.rst:381 msgid "" "Then follows a blank line signifying the end of the headers, and then the " "contents of the file are output. If the file's MIME type starts with ``text/" "`` the file is opened in text mode; otherwise binary mode is used." msgstr "" -#: ../Doc/library/http.server.rst:377 +#: ../Doc/library/http.server.rst:385 msgid "" "For example usage, see the implementation of the :func:`test` function " "invocation in the :mod:`http.server` module." msgstr "" -#: ../Doc/library/http.server.rst:380 +#: ../Doc/library/http.server.rst:388 msgid "Support of the ``'If-Modified-Since'`` header." msgstr "" -#: ../Doc/library/http.server.rst:383 +#: ../Doc/library/http.server.rst:391 msgid "" "The :class:`SimpleHTTPRequestHandler` class can be used in the following " "manner in order to create a very basic webserver serving files relative to " "the current directory::" msgstr "" -#: ../Doc/library/http.server.rst:400 +#: ../Doc/library/http.server.rst:408 msgid "" ":mod:`http.server` can also be invoked directly using the :option:`-m` " "switch of the interpreter with a ``port number`` argument. Similar to the " "previous example, this serves files relative to the current directory::" msgstr "" -#: ../Doc/library/http.server.rst:406 +#: ../Doc/library/http.server.rst:414 msgid "" "By default, server binds itself to all interfaces. The option ``-b/--bind`` " "specifies a specific address to which it should bind. For example, the " "following command causes the server to bind to localhost only::" msgstr "" -#: ../Doc/library/http.server.rst:412 +#: ../Doc/library/http.server.rst:420 msgid "``--bind`` argument was introduced." msgstr "" -#: ../Doc/library/http.server.rst:415 +#: ../Doc/library/http.server.rst:423 msgid "" "By default, server uses the current directory. The option ``-d/--directory`` " "specifies a directory to which it should serve the files. For example, the " "following command uses a specific directory::" msgstr "" -#: ../Doc/library/http.server.rst:421 +#: ../Doc/library/http.server.rst:429 msgid "``--directory`` specify alternate directory" msgstr "" -#: ../Doc/library/http.server.rst:426 +#: ../Doc/library/http.server.rst:434 msgid "" "This class is used to serve either files or output of CGI scripts from the " "current directory and below. Note that mapping HTTP hierarchic structure to " "local directory structure is exactly as in :class:`SimpleHTTPRequestHandler`." msgstr "" -#: ../Doc/library/http.server.rst:432 +#: ../Doc/library/http.server.rst:440 msgid "" "CGI scripts run by the :class:`CGIHTTPRequestHandler` class cannot execute " "redirects (HTTP code 302), because code 200 (script output follows) is sent " "prior to execution of the CGI script. This pre-empts the status code." msgstr "" -#: ../Doc/library/http.server.rst:437 +#: ../Doc/library/http.server.rst:445 msgid "" "The class will however, run the CGI script, instead of serving it as a file, " "if it guesses it to be a CGI script. Only directory-based CGI are used --- " @@ -515,41 +526,41 @@ msgid "" "denoting CGI scripts." msgstr "" -#: ../Doc/library/http.server.rst:442 +#: ../Doc/library/http.server.rst:450 msgid "" "The :func:`do_GET` and :func:`do_HEAD` functions are modified to run CGI " "scripts and serve the output, instead of serving files, if the request leads " "to somewhere below the ``cgi_directories`` path." msgstr "" -#: ../Doc/library/http.server.rst:446 +#: ../Doc/library/http.server.rst:454 msgid "The :class:`CGIHTTPRequestHandler` defines the following data member:" msgstr "" -#: ../Doc/library/http.server.rst:450 +#: ../Doc/library/http.server.rst:458 msgid "" "This defaults to ``['/cgi-bin', '/htbin']`` and describes directories to " "treat as containing CGI scripts." msgstr "" -#: ../Doc/library/http.server.rst:453 +#: ../Doc/library/http.server.rst:461 msgid "The :class:`CGIHTTPRequestHandler` defines the following method:" msgstr "" -#: ../Doc/library/http.server.rst:457 +#: ../Doc/library/http.server.rst:465 msgid "" "This method serves the ``'POST'`` request type, only allowed for CGI " "scripts. Error 501, \"Can only POST to CGI scripts\", is output when trying " "to POST to a non-CGI url." msgstr "" -#: ../Doc/library/http.server.rst:461 +#: ../Doc/library/http.server.rst:469 msgid "" "Note that CGI scripts will be run with UID of user nobody, for security " "reasons. Problems with the CGI script will be translated to error 403." msgstr "" -#: ../Doc/library/http.server.rst:464 +#: ../Doc/library/http.server.rst:472 msgid "" ":class:`CGIHTTPRequestHandler` can be enabled in the command line by passing " "the ``--cgi`` option::" diff --git a/library/ipc.po b/library/ipc.po index 3fe38b0d..fa887d0e 100644 --- a/library/ipc.po +++ b/library/ipc.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-02 22:11+0200\n" -"PO-Revision-Date: 2018-09-28 13:14+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 17:33+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -15,16 +15,16 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../Doc/library/ipc.rst:5 -msgid "Interprocess Communication and Networking" -msgstr "Communication et réseau entre processus" +msgid "Networking and Interprocess Communication" +msgstr "Réseau et communication entre processus" #: ../Doc/library/ipc.rst:7 msgid "" -"The modules described in this chapter provide mechanisms for different " -"processes to communicate." +"The modules described in this chapter provide mechanisms for networking and " +"inter-processes communication." msgstr "" -"Les modules décrits dans ce chapitre fournissent différents mécanismes " -"permettant à des processus de communiquer." +"Les modules décrits dans ce chapitre fournissent différents mécanismes de " +"mise en réseau et de communication entre processus." #: ../Doc/library/ipc.rst:10 msgid "" diff --git a/library/logging.handlers.po b/library/logging.handlers.po index e4d5f1cf..e778f8c5 100644 --- a/library/logging.handlers.po +++ b/library/logging.handlers.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -1347,8 +1347,9 @@ msgstr "" #: ../Doc/library/logging.handlers.rst:976 msgid "" -"The base implementation formats the record to merge the message and " -"arguments, and removes unpickleable items from the record in-place." +"The base implementation formats the record to merge the message, arguments, " +"and exception information, if present. It also removes unpickleable items " +"from the record in-place." msgstr "" #: ../Doc/library/logging.handlers.rst:980 diff --git a/library/netrc.po b/library/netrc.po index 34d8ffa8..11a95475 100644 --- a/library/netrc.po +++ b/library/netrc.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-10-06 18:39+0200\n" +"Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: \n" "X-Generator: Poedit 2.1.1\n" #: ../Doc/library/netrc.rst:3 diff --git a/library/othergui.po b/library/othergui.po index 524487c1..728d1bf4 100644 --- a/library/othergui.po +++ b/library/othergui.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" -"PO-Revision-Date: 2018-10-05 17:37+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 17:51+0200\n" +"Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: \n" "X-Generator: Poedit 2.0.6\n" #: ../Doc/library/othergui.rst:4 @@ -69,7 +69,7 @@ msgstr "`PyQt `_" #: ../Doc/library/othergui.rst:27 msgid "" "PyQt is a :program:`sip`\\ -wrapped binding to the Qt toolkit. Qt is an " -"extensive C++ GUI application development *framework* that is available for " +"extensive C++ GUI application development framework that is available for " "Unix, Windows and Mac OS X. :program:`sip` is a tool for generating bindings " "for C++ libraries as Python classes, and is specifically designed for Python." msgstr "" diff --git a/library/pathlib.po b/library/pathlib.po index 389bc282..e4f3ba8f 100644 --- a/library/pathlib.po +++ b/library/pathlib.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-08-13 15:13+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-09-28 19:19+0200\n" "Last-Translator: Vincent Poulailleau \n" "Language-Team: FRENCH \n" @@ -1053,97 +1053,153 @@ msgid ":meth:`Path.resolve`" msgstr "" #: ../Doc/library/pathlib.rst:1092 -msgid ":func:`os.getcwd`" +msgid ":func:`os.chmod`" msgstr "" #: ../Doc/library/pathlib.rst:1092 +msgid ":meth:`Path.chmod`" +msgstr "" + +#: ../Doc/library/pathlib.rst:1093 +msgid ":func:`os.mkdir`" +msgstr "" + +#: ../Doc/library/pathlib.rst:1093 +msgid ":meth:`Path.mkdir`" +msgstr "" + +#: ../Doc/library/pathlib.rst:1094 +msgid ":func:`os.rename`" +msgstr "" + +#: ../Doc/library/pathlib.rst:1094 +msgid ":meth:`Path.rename`" +msgstr "" + +#: ../Doc/library/pathlib.rst:1095 +msgid ":func:`os.replace`" +msgstr "" + +#: ../Doc/library/pathlib.rst:1095 +msgid ":meth:`Path.replace`" +msgstr "" + +#: ../Doc/library/pathlib.rst:1096 +msgid ":func:`os.rmdir`" +msgstr "" + +#: ../Doc/library/pathlib.rst:1096 +msgid ":meth:`Path.rmdir`" +msgstr "" + +#: ../Doc/library/pathlib.rst:1097 +msgid ":func:`os.remove`, :func:`os.unlink`" +msgstr "" + +#: ../Doc/library/pathlib.rst:1097 +msgid ":meth:`Path.unlink`" +msgstr "" + +#: ../Doc/library/pathlib.rst:1098 +msgid ":func:`os.getcwd`" +msgstr "" + +#: ../Doc/library/pathlib.rst:1098 msgid ":func:`Path.cwd`" msgstr "" -#: ../Doc/library/pathlib.rst:1093 +#: ../Doc/library/pathlib.rst:1099 msgid ":func:`os.path.exists`" msgstr "" -#: ../Doc/library/pathlib.rst:1093 +#: ../Doc/library/pathlib.rst:1099 msgid ":meth:`Path.exists`" msgstr "" -#: ../Doc/library/pathlib.rst:1094 +#: ../Doc/library/pathlib.rst:1100 msgid ":func:`os.path.expanduser`" msgstr "" -#: ../Doc/library/pathlib.rst:1094 +#: ../Doc/library/pathlib.rst:1100 msgid ":meth:`Path.expanduser` and :meth:`Path.home`" msgstr ":meth:`Path.expanduser` et :meth:`Path.home`" -#: ../Doc/library/pathlib.rst:1096 +#: ../Doc/library/pathlib.rst:1102 msgid ":func:`os.path.isdir`" msgstr "" -#: ../Doc/library/pathlib.rst:1096 +#: ../Doc/library/pathlib.rst:1102 msgid ":meth:`Path.is_dir`" msgstr "" -#: ../Doc/library/pathlib.rst:1097 +#: ../Doc/library/pathlib.rst:1103 msgid ":func:`os.path.isfile`" msgstr "" -#: ../Doc/library/pathlib.rst:1097 +#: ../Doc/library/pathlib.rst:1103 msgid ":meth:`Path.is_file`" msgstr "" -#: ../Doc/library/pathlib.rst:1098 +#: ../Doc/library/pathlib.rst:1104 msgid ":func:`os.path.islink`" msgstr "" -#: ../Doc/library/pathlib.rst:1098 +#: ../Doc/library/pathlib.rst:1104 msgid ":meth:`Path.is_symlink`" msgstr "" -#: ../Doc/library/pathlib.rst:1099 +#: ../Doc/library/pathlib.rst:1105 msgid ":func:`os.stat`" msgstr "" -#: ../Doc/library/pathlib.rst:1099 +#: ../Doc/library/pathlib.rst:1105 msgid ":meth:`Path.stat`, :meth:`Path.owner`, :meth:`Path.group`" msgstr "" -#: ../Doc/library/pathlib.rst:1102 +#: ../Doc/library/pathlib.rst:1108 msgid ":func:`os.path.isabs`" msgstr "" -#: ../Doc/library/pathlib.rst:1102 +#: ../Doc/library/pathlib.rst:1108 msgid ":meth:`PurePath.is_absolute`" msgstr "" -#: ../Doc/library/pathlib.rst:1103 +#: ../Doc/library/pathlib.rst:1109 msgid ":func:`os.path.join`" msgstr "" -#: ../Doc/library/pathlib.rst:1103 +#: ../Doc/library/pathlib.rst:1109 msgid ":func:`PurePath.joinpath`" msgstr "" -#: ../Doc/library/pathlib.rst:1104 +#: ../Doc/library/pathlib.rst:1110 msgid ":func:`os.path.basename`" msgstr "" -#: ../Doc/library/pathlib.rst:1104 +#: ../Doc/library/pathlib.rst:1110 msgid ":data:`PurePath.name`" msgstr "" -#: ../Doc/library/pathlib.rst:1105 +#: ../Doc/library/pathlib.rst:1111 msgid ":func:`os.path.dirname`" msgstr "" -#: ../Doc/library/pathlib.rst:1105 +#: ../Doc/library/pathlib.rst:1111 msgid ":data:`PurePath.parent`" msgstr "" -#: ../Doc/library/pathlib.rst:1106 +#: ../Doc/library/pathlib.rst:1112 +msgid ":func:`os.path.samefile`" +msgstr "" + +#: ../Doc/library/pathlib.rst:1112 +msgid ":meth:`Path.samefile`" +msgstr "" + +#: ../Doc/library/pathlib.rst:1113 msgid ":func:`os.path.splitext`" msgstr "" -#: ../Doc/library/pathlib.rst:1106 +#: ../Doc/library/pathlib.rst:1113 msgid ":data:`PurePath.suffix`" msgstr "" diff --git a/library/posix.po b/library/posix.po index 00d250ce..dc48924c 100644 --- a/library/posix.po +++ b/library/posix.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-02 22:11+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-10-04 18:11+0200\n" +"Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: \n" "X-Generator: Poedit 2.1.1\n" #: ../Doc/library/posix.rst:2 diff --git a/library/pydoc.po b/library/pydoc.po index ed7a8006..faa5708b 100644 --- a/library/pydoc.po +++ b/library/pydoc.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-10-05 14:55+0200\n" +"Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: \n" "X-Generator: Poedit 2.1.1\n" #: ../Doc/library/pydoc.rst:2 diff --git a/library/re.po b/library/re.po index 2cb0ac95..1c5dc51d 100644 --- a/library/re.po +++ b/library/re.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-09-29 19:30+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -500,7 +500,7 @@ msgid "" "Support of nested sets and set operations as in `Unicode Technical Standard " "#18`_ might be added in the future. This would change the syntax, so to " "facilitate this change a :exc:`FutureWarning` will be raised in ambiguous " -"cases for the time being. That include sets starting with a literal ``'['`` " +"cases for the time being. That includes sets starting with a literal ``'['`` " "or containing literal character sequences ``'--'``, ``'&&'``, ``'~~'``, and " "``'||'``. To avoid a warning escape them with a backslash." msgstr "" diff --git a/library/readline.po b/library/readline.po index 723963d7..91000cd6 100644 --- a/library/readline.po +++ b/library/readline.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-09-30 23:09+0200\n" +"Last-Translator: Eric Régnier \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: Eric Régnier \n" #: ../Doc/library/readline.rst:2 msgid ":mod:`readline` --- GNU readline interface" diff --git a/library/rlcompleter.po b/library/rlcompleter.po index 250f910b..e7a2ad5e 100644 --- a/library/rlcompleter.po +++ b/library/rlcompleter.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-04-02 22:11+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-10-04 09:51+0200\n" +"Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: \n" "X-Generator: Poedit 1.8.11\n" #: ../Doc/library/rlcompleter.rst:2 diff --git a/library/ssl.po b/library/ssl.po index 165ad96f..cc74f989 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-08-03 17:52+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-07-03 10:56+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -524,8 +524,8 @@ msgid "" "exactly ``True`` if the certificate is trustworthy for all purposes." msgstr "" -#: ../Doc/library/ssl.rst:481 ../Doc/library/ssl.rst:1545 -#: ../Doc/library/ssl.rst:1858 +#: ../Doc/library/ssl.rst:481 ../Doc/library/ssl.rst:1565 +#: ../Doc/library/ssl.rst:1878 msgid "Example::" msgstr "Exemple ::" @@ -603,7 +603,7 @@ msgid "" "does not send any for client cert authentication." msgstr "" -#: ../Doc/library/ssl.rst:552 ../Doc/library/ssl.rst:2226 +#: ../Doc/library/ssl.rst:552 ../Doc/library/ssl.rst:2268 msgid "See the discussion of :ref:`ssl-security` below." msgstr "" @@ -1410,6 +1410,33 @@ msgstr "" #: ../Doc/library/ssl.rst:1319 msgid "" +"Requests post-handshake authentication (PHA) from a TLS 1.3 client. PHA can " +"only be initiated for a TLS 1.3 connection from a server-side socket, after " +"the initial TLS handshake and with PHA enabled on both sides, see :attr:" +"`SSLContext.post_handshake_auth`." +msgstr "" + +#: ../Doc/library/ssl.rst:1324 +msgid "" +"The method does not perform a cert exchange immediately. The server-side " +"sends a CertificateRequest during the next write event and expects the " +"client to respond with a certificate on the next read event." +msgstr "" + +#: ../Doc/library/ssl.rst:1328 +msgid "" +"If any precondition isn't met (e.g. not TLS 1.3, PHA not enabled), an :exc:" +"`SSLError` is raised." +msgstr "" + +#: ../Doc/library/ssl.rst:1334 +msgid "" +"Only available with OpenSSL 1.1.1 and TLS 1.3 enabled. Without TLS 1.3 " +"support, the method raises :exc:`NotImplementedError`." +msgstr "" + +#: ../Doc/library/ssl.rst:1339 +msgid "" "Return the actual SSL protocol version negotiated by the connection as a " "string, or ``None`` is no secure connection is established. As of this " "writing, possible return values include ``\"SSLv2\"``, ``\"SSLv3\"``, ``" @@ -1417,13 +1444,13 @@ msgid "" "may define more return values." msgstr "" -#: ../Doc/library/ssl.rst:1329 +#: ../Doc/library/ssl.rst:1349 msgid "" "Returns the number of already decrypted bytes available for read, pending on " "the connection." msgstr "" -#: ../Doc/library/ssl.rst:1334 +#: ../Doc/library/ssl.rst:1354 msgid "" "The :class:`SSLContext` object this SSL socket is tied to. If the SSL " "socket was created using the deprecated :func:`wrap_socket` function (rather " @@ -1431,19 +1458,19 @@ msgid "" "created for this SSL socket." msgstr "" -#: ../Doc/library/ssl.rst:1343 +#: ../Doc/library/ssl.rst:1363 msgid "" "A boolean which is ``True`` for server-side sockets and ``False`` for client-" "side sockets." msgstr "" -#: ../Doc/library/ssl.rst:1350 +#: ../Doc/library/ssl.rst:1370 msgid "" "Hostname of the server: :class:`str` type, or ``None`` for server-side " "socket or if the hostname was not specified in the constructor." msgstr "" -#: ../Doc/library/ssl.rst:1355 +#: ../Doc/library/ssl.rst:1375 msgid "" "The attribute is now always ASCII text. When ``server_hostname`` is an " "internationalized domain name (IDN), this attribute now stores the A-label " @@ -1451,7 +1478,7 @@ msgid "" "org\"``)." msgstr "" -#: ../Doc/library/ssl.rst:1363 +#: ../Doc/library/ssl.rst:1383 msgid "" "The :class:`SSLSession` for this SSL connection. The session is available " "for client and server side sockets after the TLS handshake has been " @@ -1459,11 +1486,11 @@ msgid "" "`~SSLSocket.do_handshake` has been called to reuse a session." msgstr "" -#: ../Doc/library/ssl.rst:1376 +#: ../Doc/library/ssl.rst:1396 msgid "SSL Contexts" msgstr "" -#: ../Doc/library/ssl.rst:1380 +#: ../Doc/library/ssl.rst:1400 msgid "" "An SSL context holds various data longer-lived than single SSL connections, " "such as SSL configuration options, certificate(s) and private key(s). It " @@ -1471,7 +1498,7 @@ msgid "" "speed up repeated connections from the same clients." msgstr "" -#: ../Doc/library/ssl.rst:1387 +#: ../Doc/library/ssl.rst:1407 msgid "" "Create a new SSL context. You may pass *protocol* which must be one of the " "``PROTOCOL_*`` constants defined in this module. The parameter specifies " @@ -1482,109 +1509,109 @@ msgid "" "provides the most compatibility with other versions." msgstr "" -#: ../Doc/library/ssl.rst:1396 +#: ../Doc/library/ssl.rst:1416 msgid "" "Here's a table showing which versions in a client (down the side) can " "connect to which versions in a server (along the top):" msgstr "" -#: ../Doc/library/ssl.rst:1402 +#: ../Doc/library/ssl.rst:1422 msgid "*client* / **server**" msgstr "" -#: ../Doc/library/ssl.rst:1402 +#: ../Doc/library/ssl.rst:1422 msgid "**SSLv2**" msgstr "**SSLv2**" -#: ../Doc/library/ssl.rst:1402 +#: ../Doc/library/ssl.rst:1422 msgid "**SSLv3**" msgstr "**SSLv3**" -#: ../Doc/library/ssl.rst:1402 +#: ../Doc/library/ssl.rst:1422 msgid "**TLS** [3]_" msgstr "**TLS** [3]_" -#: ../Doc/library/ssl.rst:1402 +#: ../Doc/library/ssl.rst:1422 msgid "**TLSv1**" msgstr "**TLSv1**" -#: ../Doc/library/ssl.rst:1402 +#: ../Doc/library/ssl.rst:1422 msgid "**TLSv1.1**" msgstr "**TLSv1.1**" -#: ../Doc/library/ssl.rst:1402 +#: ../Doc/library/ssl.rst:1422 msgid "**TLSv1.2**" msgstr "**TLSv1.2**" -#: ../Doc/library/ssl.rst:1404 +#: ../Doc/library/ssl.rst:1424 msgid "*SSLv2*" msgstr "*SSLv2*" -#: ../Doc/library/ssl.rst:1404 ../Doc/library/ssl.rst:1405 -#: ../Doc/library/ssl.rst:1406 ../Doc/library/ssl.rst:1407 -#: ../Doc/library/ssl.rst:1408 ../Doc/library/ssl.rst:1409 +#: ../Doc/library/ssl.rst:1424 ../Doc/library/ssl.rst:1425 +#: ../Doc/library/ssl.rst:1426 ../Doc/library/ssl.rst:1427 +#: ../Doc/library/ssl.rst:1428 ../Doc/library/ssl.rst:1429 msgid "yes" msgstr "oui" -#: ../Doc/library/ssl.rst:1404 ../Doc/library/ssl.rst:1405 -#: ../Doc/library/ssl.rst:1407 ../Doc/library/ssl.rst:1408 -#: ../Doc/library/ssl.rst:1409 +#: ../Doc/library/ssl.rst:1424 ../Doc/library/ssl.rst:1425 +#: ../Doc/library/ssl.rst:1427 ../Doc/library/ssl.rst:1428 +#: ../Doc/library/ssl.rst:1429 msgid "no" msgstr "non" -#: ../Doc/library/ssl.rst:1404 ../Doc/library/ssl.rst:1406 +#: ../Doc/library/ssl.rst:1424 ../Doc/library/ssl.rst:1426 msgid "no [1]_" msgstr "" -#: ../Doc/library/ssl.rst:1405 +#: ../Doc/library/ssl.rst:1425 msgid "*SSLv3*" msgstr "*SSLv3*" -#: ../Doc/library/ssl.rst:1405 ../Doc/library/ssl.rst:1406 +#: ../Doc/library/ssl.rst:1425 ../Doc/library/ssl.rst:1426 msgid "no [2]_" msgstr "" -#: ../Doc/library/ssl.rst:1406 +#: ../Doc/library/ssl.rst:1426 msgid "*TLS* (*SSLv23*) [3]_" msgstr "" -#: ../Doc/library/ssl.rst:1407 +#: ../Doc/library/ssl.rst:1427 msgid "*TLSv1*" msgstr "*TLSv1*" -#: ../Doc/library/ssl.rst:1408 +#: ../Doc/library/ssl.rst:1428 msgid "*TLSv1.1*" msgstr "*TLSv1.1*" -#: ../Doc/library/ssl.rst:1409 +#: ../Doc/library/ssl.rst:1429 msgid "*TLSv1.2*" msgstr "*TLSv1.2*" -#: ../Doc/library/ssl.rst:1412 +#: ../Doc/library/ssl.rst:1432 msgid "Footnotes" msgstr "Notes" -#: ../Doc/library/ssl.rst:1413 +#: ../Doc/library/ssl.rst:1433 msgid ":class:`SSLContext` disables SSLv2 with :data:`OP_NO_SSLv2` by default." msgstr "" -#: ../Doc/library/ssl.rst:1414 +#: ../Doc/library/ssl.rst:1434 msgid ":class:`SSLContext` disables SSLv3 with :data:`OP_NO_SSLv3` by default." msgstr "" -#: ../Doc/library/ssl.rst:1415 +#: ../Doc/library/ssl.rst:1435 msgid "" "TLS 1.3 protocol will be available with :data:`PROTOCOL_TLS` in OpenSSL >= " "1.1.1. There is no dedicated PROTOCOL constant for just TLS 1.3." msgstr "" -#: ../Doc/library/ssl.rst:1420 +#: ../Doc/library/ssl.rst:1440 msgid "" ":func:`create_default_context` lets the :mod:`ssl` module choose security " "settings for a given purpose." msgstr "" -#: ../Doc/library/ssl.rst:1425 +#: ../Doc/library/ssl.rst:1445 msgid "" "The context is created with secure default values. The options :data:" "`OP_NO_COMPRESSION`, :data:`OP_CIPHER_SERVER_PREFERENCE`, :data:" @@ -1595,22 +1622,22 @@ msgid "" "for :data:`PROTOCOL_SSLv2`)." msgstr "" -#: ../Doc/library/ssl.rst:1435 +#: ../Doc/library/ssl.rst:1455 msgid ":class:`SSLContext` objects have the following methods and attributes:" msgstr "" -#: ../Doc/library/ssl.rst:1439 +#: ../Doc/library/ssl.rst:1459 msgid "" "Get statistics about quantities of loaded X.509 certificates, count of X.509 " "certificates flagged as CA certificates and certificate revocation lists as " "dictionary." msgstr "" -#: ../Doc/library/ssl.rst:1443 +#: ../Doc/library/ssl.rst:1463 msgid "Example for a context with one CA cert and one other cert::" msgstr "" -#: ../Doc/library/ssl.rst:1453 +#: ../Doc/library/ssl.rst:1473 msgid "" "Load a private key and the corresponding certificate. The *certfile* string " "must be the path to a single file in PEM format containing the certificate " @@ -1622,7 +1649,7 @@ msgid "" "*certfile*." msgstr "" -#: ../Doc/library/ssl.rst:1462 +#: ../Doc/library/ssl.rst:1482 msgid "" "The *password* argument may be a function to call to get the password for " "decrypting the private key. It will only be called if the private key is " @@ -1634,24 +1661,24 @@ msgid "" "encrypted and no password is needed." msgstr "" -#: ../Doc/library/ssl.rst:1471 +#: ../Doc/library/ssl.rst:1491 msgid "" "If the *password* argument is not specified and a password is required, " "OpenSSL's built-in password prompting mechanism will be used to " "interactively prompt the user for a password." msgstr "" -#: ../Doc/library/ssl.rst:1475 +#: ../Doc/library/ssl.rst:1495 msgid "" "An :class:`SSLError` is raised if the private key doesn't match with the " "certificate." msgstr "" -#: ../Doc/library/ssl.rst:1478 +#: ../Doc/library/ssl.rst:1498 msgid "New optional argument *password*." msgstr "" -#: ../Doc/library/ssl.rst:1483 +#: ../Doc/library/ssl.rst:1503 msgid "" "Load a set of default \"certification authority\" (CA) certificates from " "default locations. On Windows it loads CA certs from the ``CA`` and ``ROOT`` " @@ -1660,7 +1687,7 @@ msgid "" "from other locations, too." msgstr "" -#: ../Doc/library/ssl.rst:1489 +#: ../Doc/library/ssl.rst:1509 msgid "" "The *purpose* flag specifies what kind of CA certificates are loaded. The " "default settings :data:`Purpose.SERVER_AUTH` loads certificates, that are " @@ -1669,28 +1696,28 @@ msgid "" "certificate verification on the server side." msgstr "" -#: ../Doc/library/ssl.rst:1499 +#: ../Doc/library/ssl.rst:1519 msgid "" "Load a set of \"certification authority\" (CA) certificates used to validate " "other peers' certificates when :data:`verify_mode` is other than :data:" "`CERT_NONE`. At least one of *cafile* or *capath* must be specified." msgstr "" -#: ../Doc/library/ssl.rst:1503 +#: ../Doc/library/ssl.rst:1523 msgid "" "This method can also load certification revocation lists (CRLs) in PEM or " "DER format. In order to make use of CRLs, :attr:`SSLContext.verify_flags` " "must be configured properly." msgstr "" -#: ../Doc/library/ssl.rst:1507 +#: ../Doc/library/ssl.rst:1527 msgid "" "The *cafile* string, if present, is the path to a file of concatenated CA " "certificates in PEM format. See the discussion of :ref:`ssl-certificates` " "for more information about how to arrange the certificates in this file." msgstr "" -#: ../Doc/library/ssl.rst:1512 +#: ../Doc/library/ssl.rst:1532 msgid "" "The *capath* string, if present, is the path to a directory containing " "several CA certificates in PEM format, following an `OpenSSL specific layout " @@ -1698,7 +1725,7 @@ msgid "" "html>`_." msgstr "" -#: ../Doc/library/ssl.rst:1517 +#: ../Doc/library/ssl.rst:1537 msgid "" "The *cadata* object, if present, is either an ASCII string of one or more " "PEM-encoded certificates or a :term:`bytes-like object` of DER-encoded " @@ -1706,11 +1733,11 @@ msgid "" "are ignored but at least one certificate must be present." msgstr "" -#: ../Doc/library/ssl.rst:1522 +#: ../Doc/library/ssl.rst:1542 msgid "New optional argument *cadata*" msgstr "" -#: ../Doc/library/ssl.rst:1527 +#: ../Doc/library/ssl.rst:1547 msgid "" "Get a list of loaded \"certification authority\" (CA) certificates. If the " "``binary_form`` parameter is :const:`False` each list entry is a dict like " @@ -1720,27 +1747,27 @@ msgid "" "a SSL connection." msgstr "" -#: ../Doc/library/ssl.rst:1535 +#: ../Doc/library/ssl.rst:1555 msgid "" "Certificates in a capath directory aren't loaded unless they have been used " "at least once." msgstr "" -#: ../Doc/library/ssl.rst:1542 +#: ../Doc/library/ssl.rst:1562 msgid "" "Get a list of enabled ciphers. The list is in order of cipher priority. See :" "meth:`SSLContext.set_ciphers`." msgstr "" -#: ../Doc/library/ssl.rst:1565 +#: ../Doc/library/ssl.rst:1585 msgid "On OpenSSL 1.1 and newer the cipher dict contains additional fields::" msgstr "" -#: ../Doc/library/ssl.rst:1593 +#: ../Doc/library/ssl.rst:1613 msgid "Availability: OpenSSL 1.0.2+" msgstr "" -#: ../Doc/library/ssl.rst:1599 +#: ../Doc/library/ssl.rst:1619 msgid "" "Load a set of default \"certification authority\" (CA) certificates from a " "filesystem path defined when building the OpenSSL library. Unfortunately, " @@ -1750,7 +1777,7 @@ msgid "" "configured properly." msgstr "" -#: ../Doc/library/ssl.rst:1608 +#: ../Doc/library/ssl.rst:1628 msgid "" "Set the available ciphers for sockets created with this context. It should " "be a string in the `OpenSSL cipher list format `_" msgstr "" -#: ../Doc/library/ssl.rst:1746 +#: ../Doc/library/ssl.rst:1766 msgid "Vincent Bernat." msgstr "" -#: ../Doc/library/ssl.rst:1752 +#: ../Doc/library/ssl.rst:1772 msgid "" "Wrap an existing Python socket *sock* and return an instance of :attr:" "`SSLContext.sslsocket_class` (default :class:`SSLSocket`). The returned SSL " @@ -1946,13 +1973,13 @@ msgid "" "a :data:`~socket.SOCK_STREAM` socket; other socket types are unsupported." msgstr "" -#: ../Doc/library/ssl.rst:1758 +#: ../Doc/library/ssl.rst:1778 msgid "" "The parameter ``server_side`` is a boolean which identifies whether server-" "side or client-side behavior is desired from this socket." msgstr "" -#: ../Doc/library/ssl.rst:1761 +#: ../Doc/library/ssl.rst:1781 msgid "" "For client-side sockets, the context construction is lazy; if the underlying " "socket isn't connected yet, the context construction will be performed " @@ -1963,7 +1990,7 @@ msgid "" "exc:`SSLError`." msgstr "" -#: ../Doc/library/ssl.rst:1769 +#: ../Doc/library/ssl.rst:1789 msgid "" "On client connections, the optional parameter *server_hostname* specifies " "the hostname of the service which we are connecting to. This allows a " @@ -1972,7 +1999,7 @@ msgid "" "*server_hostname* will raise a :exc:`ValueError` if *server_side* is true." msgstr "" -#: ../Doc/library/ssl.rst:1775 +#: ../Doc/library/ssl.rst:1795 msgid "" "The parameter ``do_handshake_on_connect`` specifies whether to do the SSL " "handshake automatically after doing a :meth:`socket.connect`, or whether the " @@ -1982,7 +2009,7 @@ msgid "" "socket I/O involved in the handshake." msgstr "" -#: ../Doc/library/ssl.rst:1782 +#: ../Doc/library/ssl.rst:1802 msgid "" "The parameter ``suppress_ragged_eofs`` specifies how the :meth:`SSLSocket." "recv` method should signal unexpected EOF from the other end of the " @@ -1992,34 +2019,34 @@ msgid "" "exceptions back to the caller." msgstr "" -#: ../Doc/library/ssl.rst:1789 +#: ../Doc/library/ssl.rst:1809 msgid "*session*, see :attr:`~SSLSocket.session`." msgstr "" -#: ../Doc/library/ssl.rst:1791 +#: ../Doc/library/ssl.rst:1811 msgid "" "Always allow a server_hostname to be passed, even if OpenSSL does not have " "SNI." msgstr "" -#: ../Doc/library/ssl.rst:1795 ../Doc/library/ssl.rst:1821 +#: ../Doc/library/ssl.rst:1815 ../Doc/library/ssl.rst:1841 msgid "*session* argument was added." msgstr "" -#: ../Doc/library/ssl.rst:1798 +#: ../Doc/library/ssl.rst:1818 msgid "" "The method returns on instance of :attr:`SSLContext.sslsocket_class` instead " "of hard-coded :class:`SSLSocket`." msgstr "" -#: ../Doc/library/ssl.rst:1804 +#: ../Doc/library/ssl.rst:1824 msgid "" "The return type of :meth:`SSLContext.wrap_sockets`, defaults to :class:" "`SSLSocket`. The attribute can be overridden on instance of class in order " "to return a custom subclass of :class:`SSLSocket`." msgstr "" -#: ../Doc/library/ssl.rst:1813 +#: ../Doc/library/ssl.rst:1833 msgid "" "Wrap the BIO objects *incoming* and *outgoing* and return an instance of " "attr:`SSLContext.sslobject_class` (default :class:`SSLObject`). The SSL " @@ -2027,26 +2054,26 @@ msgid "" "outgoing BIO." msgstr "" -#: ../Doc/library/ssl.rst:1818 +#: ../Doc/library/ssl.rst:1838 msgid "" "The *server_side*, *server_hostname* and *session* parameters have the same " "meaning as in :meth:`SSLContext.wrap_socket`." msgstr "" -#: ../Doc/library/ssl.rst:1824 +#: ../Doc/library/ssl.rst:1844 msgid "" "The method returns on instance of :attr:`SSLContext.sslobject_class` instead " "of hard-coded :class:`SSLObject`." msgstr "" -#: ../Doc/library/ssl.rst:1830 +#: ../Doc/library/ssl.rst:1850 msgid "" "The return type of :meth:`SSLContext.wrap_bio`, defaults to :class:" "`SSLObject`. The attribute can be overridden on instance of class in order " "to return a custom subclass of :class:`SSLObject`." msgstr "" -#: ../Doc/library/ssl.rst:1838 +#: ../Doc/library/ssl.rst:1858 msgid "" "Get statistics about the SSL sessions created or managed by this context. A " "dictionary is returned which maps the names of each `piece of information " @@ -2055,7 +2082,7 @@ msgid "" "misses in the session cache since the context was created::" msgstr "" -#: ../Doc/library/ssl.rst:1849 +#: ../Doc/library/ssl.rst:1869 msgid "" "Whether to match the peer cert's hostname with :func:`match_hostname` in :" "meth:`SSLSocket.do_handshake`. The context's :attr:`~SSLContext.verify_mode` " @@ -2067,7 +2094,7 @@ msgid "" "enabled." msgstr "" -#: ../Doc/library/ssl.rst:1875 +#: ../Doc/library/ssl.rst:1895 msgid "" ":attr:`~SSLContext.verify_mode` is now automatically changed to :data:" "`CERT_REQUIRED` when hostname checking is enabled and :attr:`~SSLContext." @@ -2075,11 +2102,11 @@ msgid "" "failed with a :exc:`ValueError`." msgstr "" -#: ../Doc/library/ssl.rst:1882 +#: ../Doc/library/ssl.rst:1902 msgid "This features requires OpenSSL 0.9.8f or newer." msgstr "" -#: ../Doc/library/ssl.rst:1886 +#: ../Doc/library/ssl.rst:1906 msgid "" "A :class:`TLSVersion` enum member representing the highest supported TLS " "version. The value defaults to :attr:`TLSVersion.MAXIMUM_SUPPORTED`. The " @@ -2087,7 +2114,7 @@ msgid "" "`PROTOCOL_TLS_CLIENT`, and :attr:`PROTOCOL_TLS_SERVER`." msgstr "" -#: ../Doc/library/ssl.rst:1891 +#: ../Doc/library/ssl.rst:1911 msgid "" "The attributes :attr:`~SSLContext.maximum_version`, :attr:`~SSLContext." "minimum_version` and :attr:`SSLContext.options` all affect the supported SSL " @@ -2097,54 +2124,82 @@ msgid "" "`TLSVersion.TLSv1_2` will not be able to establish a TLS 1.2 connection." msgstr "" -#: ../Doc/library/ssl.rst:1902 ../Doc/library/ssl.rst:1912 +#: ../Doc/library/ssl.rst:1922 ../Doc/library/ssl.rst:1932 msgid "" "This attribute is not available unless the ssl module is compiled with " "OpenSSL 1.1.0g or newer." msgstr "" -#: ../Doc/library/ssl.rst:1907 +#: ../Doc/library/ssl.rst:1927 msgid "" "Like :attr:`SSLContext.maximum_version` except it is the lowest supported " "version or :attr:`TLSVersion.MINIMUM_SUPPORTED`." msgstr "" -#: ../Doc/library/ssl.rst:1917 +#: ../Doc/library/ssl.rst:1937 msgid "" "An integer representing the set of SSL options enabled on this context. The " "default value is :data:`OP_ALL`, but you can specify other options such as :" "data:`OP_NO_SSLv2` by ORing them together." msgstr "" -#: ../Doc/library/ssl.rst:1922 +#: ../Doc/library/ssl.rst:1942 msgid "" "With versions of OpenSSL older than 0.9.8m, it is only possible to set " "options, not to clear them. Attempting to clear an option (by resetting the " "corresponding bits) will raise a ``ValueError``." msgstr "" -#: ../Doc/library/ssl.rst:1926 +#: ../Doc/library/ssl.rst:1946 msgid ":attr:`SSLContext.options` returns :class:`Options` flags:" msgstr "" -#: ../Doc/library/ssl.rst:1934 +#: ../Doc/library/ssl.rst:1954 +msgid "" +"Enable TLS 1.3 post-handshake client authentication. Post-handshake auth is " +"disabled by default and a server can only request a TLS client certificate " +"during the initial handshake. When enabled, a server may request a TLS " +"client certificate at any time after the handshake." +msgstr "" + +#: ../Doc/library/ssl.rst:1959 +msgid "" +"When enabled on client-side sockets, the client signals the server that it " +"supports post-handshake authentication." +msgstr "" + +#: ../Doc/library/ssl.rst:1962 +msgid "" +"When enabled on server-side sockets, :attr:`SSLContext.verify_mode` must be " +"set to :data:`CERT_OPTIONAL` or :data:`CERT_REQUIRED`, too. The actual " +"client cert exchange is delayed until :meth:`SSLSocket." +"verify_client_post_handshake` is called and some I/O is performed." +msgstr "" + +#: ../Doc/library/ssl.rst:1971 +msgid "" +"Only available with OpenSSL 1.1.1 and TLS 1.3 enabled. Without TLS 1.3 " +"support, the property value is None and can't be modified" +msgstr "" + +#: ../Doc/library/ssl.rst:1976 msgid "" "The protocol version chosen when constructing the context. This attribute " "is read-only." msgstr "" -#: ../Doc/library/ssl.rst:1939 +#: ../Doc/library/ssl.rst:1981 msgid "" "Whether :attr:`~SSLContext.check_hostname` falls back to verify the cert's " "subject common name in the absence of a subject alternative name extension " "(default: true)." msgstr "" -#: ../Doc/library/ssl.rst:1946 +#: ../Doc/library/ssl.rst:1988 msgid "Only writeable with OpenSSL 1.1.0 or higher." msgstr "" -#: ../Doc/library/ssl.rst:1950 +#: ../Doc/library/ssl.rst:1992 msgid "" "The flags for certificate verification operations. You can set flags like :" "data:`VERIFY_CRL_CHECK_LEAF` by ORing them together. By default OpenSSL does " @@ -2152,26 +2207,26 @@ msgid "" "only with openssl version 0.9.8+." msgstr "" -#: ../Doc/library/ssl.rst:1957 +#: ../Doc/library/ssl.rst:1999 msgid ":attr:`SSLContext.verify_flags` returns :class:`VerifyFlags` flags:" msgstr "" -#: ../Doc/library/ssl.rst:1965 +#: ../Doc/library/ssl.rst:2007 msgid "" "Whether to try to verify other peers' certificates and how to behave if " "verification fails. This attribute must be one of :data:`CERT_NONE`, :data:" "`CERT_OPTIONAL` or :data:`CERT_REQUIRED`." msgstr "" -#: ../Doc/library/ssl.rst:1969 +#: ../Doc/library/ssl.rst:2011 msgid ":attr:`SSLContext.verify_mode` returns :class:`VerifyMode` enum:" msgstr "" -#: ../Doc/library/ssl.rst:1982 +#: ../Doc/library/ssl.rst:2024 msgid "Certificates" msgstr "" -#: ../Doc/library/ssl.rst:1984 +#: ../Doc/library/ssl.rst:2026 msgid "" "Certificates in general are part of a public-key / private-key system. In " "this system, each *principal*, (which may be a machine, or a person, or an " @@ -2182,7 +2237,7 @@ msgid "" "other part, and **only** with the other part." msgstr "" -#: ../Doc/library/ssl.rst:1992 +#: ../Doc/library/ssl.rst:2034 msgid "" "A certificate contains information about two principals. It contains the " "name of a *subject*, and the subject's public key. It also contains a " @@ -2196,7 +2251,7 @@ msgid "" "as two fields, called \"notBefore\" and \"notAfter\"." msgstr "" -#: ../Doc/library/ssl.rst:2002 +#: ../Doc/library/ssl.rst:2044 msgid "" "In the Python use of certificates, a client or server can use a certificate " "to prove who they are. The other side of a network connection can also be " @@ -2209,18 +2264,18 @@ msgid "" "take place." msgstr "" -#: ../Doc/library/ssl.rst:2012 +#: ../Doc/library/ssl.rst:2054 msgid "" "Python uses files to contain certificates. They should be formatted as \"PEM" "\" (see :rfc:`1422`), which is a base-64 encoded form wrapped with a header " "line and a footer line::" msgstr "" -#: ../Doc/library/ssl.rst:2021 +#: ../Doc/library/ssl.rst:2063 msgid "Certificate chains" msgstr "" -#: ../Doc/library/ssl.rst:2023 +#: ../Doc/library/ssl.rst:2065 msgid "" "The Python files which contain certificates can contain a sequence of " "certificates, sometimes called a *certificate chain*. This chain should " @@ -2236,11 +2291,11 @@ msgid "" "agency which issued the certification authority's certificate::" msgstr "" -#: ../Doc/library/ssl.rst:2047 +#: ../Doc/library/ssl.rst:2089 msgid "CA certificates" msgstr "" -#: ../Doc/library/ssl.rst:2049 +#: ../Doc/library/ssl.rst:2091 msgid "" "If you are going to require validation of the other side of the connection's " "certificate, you need to provide a \"CA certs\" file, filled with the " @@ -2252,11 +2307,11 @@ msgid "" "create_default_context`." msgstr "" -#: ../Doc/library/ssl.rst:2058 +#: ../Doc/library/ssl.rst:2100 msgid "Combined key and certificate" msgstr "" -#: ../Doc/library/ssl.rst:2060 +#: ../Doc/library/ssl.rst:2102 msgid "" "Often the private key is stored in the same file as the certificate; in this " "case, only the ``certfile`` parameter to :meth:`SSLContext.load_cert_chain` " @@ -2265,11 +2320,11 @@ msgid "" "certificate chain::" msgstr "" -#: ../Doc/library/ssl.rst:2074 +#: ../Doc/library/ssl.rst:2116 msgid "Self-signed certificates" msgstr "" -#: ../Doc/library/ssl.rst:2076 +#: ../Doc/library/ssl.rst:2118 msgid "" "If you are going to create a server that provides SSL-encrypted connection " "services, you will need to acquire a certificate for that service. There " @@ -2279,51 +2334,51 @@ msgid "" "package, using something like the following::" msgstr "" -#: ../Doc/library/ssl.rst:2105 +#: ../Doc/library/ssl.rst:2147 msgid "" "The disadvantage of a self-signed certificate is that it is its own root " "certificate, and no one else will have it in their cache of known (and " "trusted) root certificates." msgstr "" -#: ../Doc/library/ssl.rst:2111 +#: ../Doc/library/ssl.rst:2153 msgid "Examples" msgstr "Exemples" -#: ../Doc/library/ssl.rst:2114 +#: ../Doc/library/ssl.rst:2156 msgid "Testing for SSL support" msgstr "" -#: ../Doc/library/ssl.rst:2116 +#: ../Doc/library/ssl.rst:2158 msgid "" "To test for the presence of SSL support in a Python installation, user code " "should use the following idiom::" msgstr "" -#: ../Doc/library/ssl.rst:2127 +#: ../Doc/library/ssl.rst:2169 msgid "Client-side operation" msgstr "" -#: ../Doc/library/ssl.rst:2129 +#: ../Doc/library/ssl.rst:2171 msgid "" "This example creates a SSL context with the recommended security settings " "for client sockets, including automatic certificate verification::" msgstr "" -#: ../Doc/library/ssl.rst:2134 +#: ../Doc/library/ssl.rst:2176 msgid "" "If you prefer to tune security settings yourself, you might create a context " "from scratch (but beware that you might not get the settings right)::" msgstr "" -#: ../Doc/library/ssl.rst:2143 +#: ../Doc/library/ssl.rst:2185 msgid "" "(this snippet assumes your operating system places a bundle of all CA " "certificates in ``/etc/ssl/certs/ca-bundle.crt``; if not, you'll get an " "error and have to adjust the location)" msgstr "" -#: ../Doc/library/ssl.rst:2147 +#: ../Doc/library/ssl.rst:2189 msgid "" "When you use the context to connect to a server, :const:`CERT_REQUIRED` " "validates the server certificate: it ensures that the server certificate was " @@ -2331,27 +2386,27 @@ msgid "" "correctness::" msgstr "" -#: ../Doc/library/ssl.rst:2156 +#: ../Doc/library/ssl.rst:2198 msgid "You may then fetch the certificate::" msgstr "" -#: ../Doc/library/ssl.rst:2160 +#: ../Doc/library/ssl.rst:2202 msgid "" "Visual inspection shows that the certificate does identify the desired " "service (that is, the HTTPS host ``www.python.org``)::" msgstr "" -#: ../Doc/library/ssl.rst:2203 +#: ../Doc/library/ssl.rst:2245 msgid "" "Now the SSL channel is established and the certificate verified, you can " "proceed to talk with the server::" msgstr "" -#: ../Doc/library/ssl.rst:2230 +#: ../Doc/library/ssl.rst:2272 msgid "Server-side operation" msgstr "" -#: ../Doc/library/ssl.rst:2232 +#: ../Doc/library/ssl.rst:2274 msgid "" "For server operation, typically you'll need to have a server certificate, " "and private key, each in a file. You'll first create a context holding the " @@ -2360,20 +2415,20 @@ msgid "" "start waiting for clients to connect::" msgstr "" -#: ../Doc/library/ssl.rst:2247 +#: ../Doc/library/ssl.rst:2289 msgid "" "When a client connects, you'll call :meth:`accept` on the socket to get the " "new socket from the other end, and use the context's :meth:`SSLContext." "wrap_socket` method to create a server-side SSL socket for the connection::" msgstr "" -#: ../Doc/library/ssl.rst:2260 +#: ../Doc/library/ssl.rst:2302 msgid "" "Then you'll read data from the ``connstream`` and do something with it till " "you are finished with the client (or the client is finished with you)::" msgstr "" -#: ../Doc/library/ssl.rst:2274 +#: ../Doc/library/ssl.rst:2316 msgid "" "And go back to listening for new client connections (of course, a real " "server would probably handle each client connection in a separate thread, or " @@ -2381,18 +2436,18 @@ msgid "" "event loop)." msgstr "" -#: ../Doc/library/ssl.rst:2282 +#: ../Doc/library/ssl.rst:2324 msgid "Notes on non-blocking sockets" msgstr "" -#: ../Doc/library/ssl.rst:2284 +#: ../Doc/library/ssl.rst:2326 msgid "" "SSL sockets behave slightly different than regular sockets in non-blocking " "mode. When working with non-blocking sockets, there are thus several things " "you need to be aware of:" msgstr "" -#: ../Doc/library/ssl.rst:2288 +#: ../Doc/library/ssl.rst:2330 msgid "" "Most :class:`SSLSocket` methods will raise either :exc:`SSLWantWriteError` " "or :exc:`SSLWantReadError` instead of :exc:`BlockingIOError` if an I/O " @@ -2404,13 +2459,13 @@ msgid "" "require a prior *write* to the underlying socket." msgstr "" -#: ../Doc/library/ssl.rst:2300 +#: ../Doc/library/ssl.rst:2342 msgid "" "In earlier Python versions, the :meth:`!SSLSocket.send` method returned zero " "instead of raising :exc:`SSLWantWriteError` or :exc:`SSLWantReadError`." msgstr "" -#: ../Doc/library/ssl.rst:2304 +#: ../Doc/library/ssl.rst:2346 msgid "" "Calling :func:`~select.select` tells you that the OS-level socket can be " "read from (or written to), but it does not imply that there is sufficient " @@ -2420,7 +2475,7 @@ msgid "" "`~select.select`." msgstr "" -#: ../Doc/library/ssl.rst:2311 +#: ../Doc/library/ssl.rst:2353 msgid "" "Conversely, since the SSL layer has its own framing, a SSL socket may still " "have data available for reading without :func:`~select.select` being aware " @@ -2429,13 +2484,13 @@ msgid "" "call if still necessary." msgstr "" -#: ../Doc/library/ssl.rst:2317 +#: ../Doc/library/ssl.rst:2359 msgid "" "(of course, similar provisions apply when using other primitives such as :" "func:`~select.poll`, or those in the :mod:`selectors` module)" msgstr "" -#: ../Doc/library/ssl.rst:2320 +#: ../Doc/library/ssl.rst:2362 msgid "" "The SSL handshake itself will be non-blocking: the :meth:`SSLSocket." "do_handshake` method has to be retried until it returns successfully. Here " @@ -2443,7 +2498,7 @@ msgid "" "readiness::" msgstr "" -#: ../Doc/library/ssl.rst:2336 +#: ../Doc/library/ssl.rst:2378 msgid "" "The :mod:`asyncio` module supports :ref:`non-blocking SSL sockets ` and provides a higher level API. It polls for events using " @@ -2452,26 +2507,26 @@ msgid "" "handshake asynchronously as well." msgstr "" -#: ../Doc/library/ssl.rst:2345 +#: ../Doc/library/ssl.rst:2387 msgid "Memory BIO Support" msgstr "" -#: ../Doc/library/ssl.rst:2349 +#: ../Doc/library/ssl.rst:2391 msgid "" "Ever since the SSL module was introduced in Python 2.6, the :class:" "`SSLSocket` class has provided two related but distinct areas of " "functionality:" msgstr "" -#: ../Doc/library/ssl.rst:2352 +#: ../Doc/library/ssl.rst:2394 msgid "SSL protocol handling" msgstr "" -#: ../Doc/library/ssl.rst:2353 +#: ../Doc/library/ssl.rst:2395 msgid "Network IO" msgstr "" -#: ../Doc/library/ssl.rst:2355 +#: ../Doc/library/ssl.rst:2397 msgid "" "The network IO API is identical to that provided by :class:`socket.socket`, " "from which :class:`SSLSocket` also inherits. This allows an SSL socket to be " @@ -2479,7 +2534,7 @@ msgid "" "add SSL support to an existing application." msgstr "" -#: ../Doc/library/ssl.rst:2360 +#: ../Doc/library/ssl.rst:2402 msgid "" "Combining SSL protocol handling and network IO usually works well, but there " "are some cases where it doesn't. An example is async IO frameworks that want " @@ -2491,7 +2546,7 @@ msgid "" "`SSLObject` is provided." msgstr "" -#: ../Doc/library/ssl.rst:2371 +#: ../Doc/library/ssl.rst:2413 msgid "" "A reduced-scope variant of :class:`SSLSocket` representing an SSL protocol " "instance that does not contain any network IO methods. This class is " @@ -2499,7 +2554,7 @@ msgid "" "for SSL through memory buffers." msgstr "" -#: ../Doc/library/ssl.rst:2376 +#: ../Doc/library/ssl.rst:2418 msgid "" "This class implements an interface on top of a low-level SSL object as " "implemented by OpenSSL. This object captures the state of an SSL connection " @@ -2507,7 +2562,7 @@ msgid "" "separate \"BIO\" objects which are OpenSSL's IO abstraction layer." msgstr "" -#: ../Doc/library/ssl.rst:2381 +#: ../Doc/library/ssl.rst:2423 msgid "" "This class has no public constructor. An :class:`SSLObject` instance must " "be created using the :meth:`~SSLContext.wrap_bio` method. This method will " @@ -2516,202 +2571,202 @@ msgid "" "instance, while the *outgoing* BIO is used to pass data the other way around." msgstr "" -#: ../Doc/library/ssl.rst:2388 +#: ../Doc/library/ssl.rst:2430 msgid "The following methods are available:" msgstr "" -#: ../Doc/library/ssl.rst:2390 +#: ../Doc/library/ssl.rst:2432 msgid ":attr:`~SSLSocket.context`" msgstr "" -#: ../Doc/library/ssl.rst:2391 +#: ../Doc/library/ssl.rst:2433 msgid ":attr:`~SSLSocket.server_side`" msgstr "" -#: ../Doc/library/ssl.rst:2392 +#: ../Doc/library/ssl.rst:2434 msgid ":attr:`~SSLSocket.server_hostname`" msgstr "" -#: ../Doc/library/ssl.rst:2393 +#: ../Doc/library/ssl.rst:2435 msgid ":attr:`~SSLSocket.session`" msgstr "" -#: ../Doc/library/ssl.rst:2394 +#: ../Doc/library/ssl.rst:2436 msgid ":attr:`~SSLSocket.session_reused`" msgstr "" -#: ../Doc/library/ssl.rst:2395 +#: ../Doc/library/ssl.rst:2437 msgid ":meth:`~SSLSocket.read`" msgstr "" -#: ../Doc/library/ssl.rst:2396 +#: ../Doc/library/ssl.rst:2438 msgid ":meth:`~SSLSocket.write`" msgstr "" -#: ../Doc/library/ssl.rst:2397 +#: ../Doc/library/ssl.rst:2439 msgid ":meth:`~SSLSocket.getpeercert`" msgstr "" -#: ../Doc/library/ssl.rst:2398 +#: ../Doc/library/ssl.rst:2440 msgid ":meth:`~SSLSocket.selected_npn_protocol`" msgstr "" -#: ../Doc/library/ssl.rst:2399 +#: ../Doc/library/ssl.rst:2441 msgid ":meth:`~SSLSocket.cipher`" msgstr "" -#: ../Doc/library/ssl.rst:2400 +#: ../Doc/library/ssl.rst:2442 msgid ":meth:`~SSLSocket.shared_ciphers`" msgstr "" -#: ../Doc/library/ssl.rst:2401 +#: ../Doc/library/ssl.rst:2443 msgid ":meth:`~SSLSocket.compression`" msgstr "" -#: ../Doc/library/ssl.rst:2402 +#: ../Doc/library/ssl.rst:2444 msgid ":meth:`~SSLSocket.pending`" msgstr "" -#: ../Doc/library/ssl.rst:2403 +#: ../Doc/library/ssl.rst:2445 msgid ":meth:`~SSLSocket.do_handshake`" msgstr "" -#: ../Doc/library/ssl.rst:2404 +#: ../Doc/library/ssl.rst:2446 msgid ":meth:`~SSLSocket.unwrap`" msgstr "" -#: ../Doc/library/ssl.rst:2405 +#: ../Doc/library/ssl.rst:2447 msgid ":meth:`~SSLSocket.get_channel_binding`" msgstr "" -#: ../Doc/library/ssl.rst:2407 +#: ../Doc/library/ssl.rst:2449 msgid "" "When compared to :class:`SSLSocket`, this object lacks the following " "features:" msgstr "" -#: ../Doc/library/ssl.rst:2410 +#: ../Doc/library/ssl.rst:2452 msgid "" "Any form of network IO; ``recv()`` and ``send()`` read and write only to the " "underlying :class:`MemoryBIO` buffers." msgstr "" -#: ../Doc/library/ssl.rst:2413 +#: ../Doc/library/ssl.rst:2455 msgid "" "There is no *do_handshake_on_connect* machinery. You must always manually " "call :meth:`~SSLSocket.do_handshake` to start the handshake." msgstr "" -#: ../Doc/library/ssl.rst:2416 +#: ../Doc/library/ssl.rst:2458 msgid "" "There is no handling of *suppress_ragged_eofs*. All end-of-file conditions " "that are in violation of the protocol are reported via the :exc:" "`SSLEOFError` exception." msgstr "" -#: ../Doc/library/ssl.rst:2420 +#: ../Doc/library/ssl.rst:2462 msgid "" "The method :meth:`~SSLSocket.unwrap` call does not return anything, unlike " "for an SSL socket where it returns the underlying socket." msgstr "" -#: ../Doc/library/ssl.rst:2423 +#: ../Doc/library/ssl.rst:2465 msgid "" "The *server_name_callback* callback passed to :meth:`SSLContext." "set_servername_callback` will get an :class:`SSLObject` instance instead of " "a :class:`SSLSocket` instance as its first parameter." msgstr "" -#: ../Doc/library/ssl.rst:2427 +#: ../Doc/library/ssl.rst:2469 msgid "Some notes related to the use of :class:`SSLObject`:" msgstr "" -#: ../Doc/library/ssl.rst:2429 +#: ../Doc/library/ssl.rst:2471 msgid "" "All IO on an :class:`SSLObject` is :ref:`non-blocking `. " "This means that for example :meth:`~SSLSocket.read` will raise an :exc:" "`SSLWantReadError` if it needs more data than the incoming BIO has available." msgstr "" -#: ../Doc/library/ssl.rst:2434 +#: ../Doc/library/ssl.rst:2476 msgid "" "There is no module-level ``wrap_bio()`` call like there is for :meth:" "`~SSLContext.wrap_socket`. An :class:`SSLObject` is always created via an :" "class:`SSLContext`." msgstr "" -#: ../Doc/library/ssl.rst:2438 +#: ../Doc/library/ssl.rst:2480 msgid "" ":class:`SSLObject` instances must to created with :meth:`~SSLContext." "wrap_bio`. In earlier versions, it was possible to create instances " "directly. This was never documented or officially supported." msgstr "" -#: ../Doc/library/ssl.rst:2444 +#: ../Doc/library/ssl.rst:2486 msgid "" "An SSLObject communicates with the outside world using memory buffers. The " "class :class:`MemoryBIO` provides a memory buffer that can be used for this " "purpose. It wraps an OpenSSL memory BIO (Basic IO) object:" msgstr "" -#: ../Doc/library/ssl.rst:2450 +#: ../Doc/library/ssl.rst:2492 msgid "" "A memory buffer that can be used to pass data between Python and an SSL " "protocol instance." msgstr "" -#: ../Doc/library/ssl.rst:2455 +#: ../Doc/library/ssl.rst:2497 msgid "Return the number of bytes currently in the memory buffer." msgstr "" -#: ../Doc/library/ssl.rst:2459 +#: ../Doc/library/ssl.rst:2501 msgid "" "A boolean indicating whether the memory BIO is current at the end-of-file " "position." msgstr "" -#: ../Doc/library/ssl.rst:2464 +#: ../Doc/library/ssl.rst:2506 msgid "" "Read up to *n* bytes from the memory buffer. If *n* is not specified or " "negative, all bytes are returned." msgstr "" -#: ../Doc/library/ssl.rst:2469 +#: ../Doc/library/ssl.rst:2511 msgid "" "Write the bytes from *buf* to the memory BIO. The *buf* argument must be an " "object supporting the buffer protocol." msgstr "" -#: ../Doc/library/ssl.rst:2472 +#: ../Doc/library/ssl.rst:2514 msgid "" "The return value is the number of bytes written, which is always equal to " "the length of *buf*." msgstr "" -#: ../Doc/library/ssl.rst:2477 +#: ../Doc/library/ssl.rst:2519 msgid "" "Write an EOF marker to the memory BIO. After this method has been called, it " "is illegal to call :meth:`~MemoryBIO.write`. The attribute :attr:`eof` will " "become true after all data currently in the buffer has been read." msgstr "" -#: ../Doc/library/ssl.rst:2483 +#: ../Doc/library/ssl.rst:2525 msgid "SSL session" msgstr "" -#: ../Doc/library/ssl.rst:2489 +#: ../Doc/library/ssl.rst:2531 msgid "Session object used by :attr:`~SSLSocket.session`." msgstr "" -#: ../Doc/library/ssl.rst:2501 +#: ../Doc/library/ssl.rst:2543 msgid "Security considerations" msgstr "" -#: ../Doc/library/ssl.rst:2504 +#: ../Doc/library/ssl.rst:2546 msgid "Best defaults" msgstr "" -#: ../Doc/library/ssl.rst:2506 +#: ../Doc/library/ssl.rst:2548 msgid "" "For **client use**, if you don't have any special requirements for your " "security policy, it is highly recommended that you use the :func:" @@ -2721,19 +2776,19 @@ msgid "" "settings." msgstr "" -#: ../Doc/library/ssl.rst:2513 +#: ../Doc/library/ssl.rst:2555 msgid "" "For example, here is how you would use the :class:`smtplib.SMTP` class to " "create a trusted, secure connection to a SMTP server::" msgstr "" -#: ../Doc/library/ssl.rst:2522 +#: ../Doc/library/ssl.rst:2564 msgid "" "If a client certificate is needed for the connection, it can be added with :" "meth:`SSLContext.load_cert_chain`." msgstr "" -#: ../Doc/library/ssl.rst:2525 +#: ../Doc/library/ssl.rst:2567 msgid "" "By contrast, if you create the SSL context by calling the :class:" "`SSLContext` constructor yourself, it will not have certificate validation " @@ -2741,15 +2796,15 @@ msgid "" "paragraphs below to achieve a good security level." msgstr "" -#: ../Doc/library/ssl.rst:2531 +#: ../Doc/library/ssl.rst:2573 msgid "Manual settings" msgstr "" -#: ../Doc/library/ssl.rst:2534 +#: ../Doc/library/ssl.rst:2576 msgid "Verifying certificates" msgstr "" -#: ../Doc/library/ssl.rst:2536 +#: ../Doc/library/ssl.rst:2578 msgid "" "When calling the :class:`SSLContext` constructor directly, :const:" "`CERT_NONE` is the default. Since it does not authenticate the other peer, " @@ -2764,13 +2819,13 @@ msgid "" "automatically performed when :attr:`SSLContext.check_hostname` is enabled." msgstr "" -#: ../Doc/library/ssl.rst:2549 +#: ../Doc/library/ssl.rst:2591 msgid "" "Hostname matchings is now performed by OpenSSL. Python no longer uses :func:" "`match_hostname`." msgstr "" -#: ../Doc/library/ssl.rst:2553 +#: ../Doc/library/ssl.rst:2595 msgid "" "In server mode, if you want to authenticate your clients using the SSL layer " "(rather than using a higher-level authentication mechanism), you'll also " @@ -2778,11 +2833,11 @@ msgid "" "certificate." msgstr "" -#: ../Doc/library/ssl.rst:2559 +#: ../Doc/library/ssl.rst:2601 msgid "Protocol versions" msgstr "" -#: ../Doc/library/ssl.rst:2561 +#: ../Doc/library/ssl.rst:2603 msgid "" "SSL versions 2 and 3 are considered insecure and are therefore dangerous to " "use. If you want maximum compatibility between clients and servers, it is " @@ -2791,7 +2846,7 @@ msgid "" "by default." msgstr "" -#: ../Doc/library/ssl.rst:2574 +#: ../Doc/library/ssl.rst:2616 msgid "" "The SSL context created above will only allow TLSv1.2 and later (if " "supported by your system) connections to a server. :const:" @@ -2799,11 +2854,11 @@ msgid "" "default. You have to load certificates into the context." msgstr "" -#: ../Doc/library/ssl.rst:2581 +#: ../Doc/library/ssl.rst:2623 msgid "Cipher selection" msgstr "" -#: ../Doc/library/ssl.rst:2583 +#: ../Doc/library/ssl.rst:2625 msgid "" "If you have advanced security requirements, fine-tuning of the ciphers " "enabled when negotiating a SSL session is possible through the :meth:" @@ -2816,11 +2871,11 @@ msgid "" "ciphers`` command on your system." msgstr "" -#: ../Doc/library/ssl.rst:2594 +#: ../Doc/library/ssl.rst:2636 msgid "Multi-processing" msgstr "" -#: ../Doc/library/ssl.rst:2596 +#: ../Doc/library/ssl.rst:2638 msgid "" "If using this module as part of a multi-processed application (using, for " "example the :mod:`multiprocessing` or :mod:`concurrent.futures` modules), be " @@ -2831,33 +2886,33 @@ msgid "" "`~ssl.RAND_pseudo_bytes` is sufficient." msgstr "" -#: ../Doc/library/ssl.rst:2608 +#: ../Doc/library/ssl.rst:2650 msgid "TLS 1.3" msgstr "" -#: ../Doc/library/ssl.rst:2612 +#: ../Doc/library/ssl.rst:2654 msgid "" "Python has provisional and experimental support for TLS 1.3 with OpenSSL " "1.1.1. The new protocol behaves slightly differently than previous version " "of TLS/SSL. Some new TLS 1.3 features are not yet available." msgstr "" -#: ../Doc/library/ssl.rst:2616 +#: ../Doc/library/ssl.rst:2658 msgid "" "TLS 1.3 uses a disjunct set of cipher suites. All AES-GCM and ChaCha20 " "cipher suites are enabled by default. The method :meth:`SSLContext." "set_ciphers` cannot enable or disable any TLS 1.3 ciphers yet, but :meth:" -"`SSLContext.get_cipers` returns them." +"`SSLContext.get_ciphers` returns them." msgstr "" -#: ../Doc/library/ssl.rst:2620 +#: ../Doc/library/ssl.rst:2662 msgid "" "Session tickets are no longer sent as part of the initial handshake and are " "handled differently. :attr:`SSLSocket.session` and :class:`SSLSession` are " "not compatible with TLS 1.3." msgstr "" -#: ../Doc/library/ssl.rst:2623 +#: ../Doc/library/ssl.rst:2665 msgid "" "Client-side certificates are also no longer verified during the initial " "handshake. A server can request a certificate at any time. Clients process " @@ -2865,127 +2920,127 @@ msgid "" "server." msgstr "" -#: ../Doc/library/ssl.rst:2627 +#: ../Doc/library/ssl.rst:2669 msgid "" "TLS 1.3 features like early data, deferred TLS client cert request, " "signature algorithm configuration, and rekeying are not supported yet." msgstr "" -#: ../Doc/library/ssl.rst:2634 +#: ../Doc/library/ssl.rst:2676 msgid "LibreSSL support" msgstr "" -#: ../Doc/library/ssl.rst:2636 +#: ../Doc/library/ssl.rst:2678 msgid "" "LibreSSL is a fork of OpenSSL 1.0.1. The ssl module has limited support for " "LibreSSL. Some features are not available when the ssl module is compiled " "with LibreSSL." msgstr "" -#: ../Doc/library/ssl.rst:2640 +#: ../Doc/library/ssl.rst:2682 msgid "" "LibreSSL >= 2.6.1 no longer supports NPN. The methods :meth:`SSLContext." "set_npn_protocols` and :meth:`SSLSocket.selected_npn_protocol` are not " "available." msgstr "" -#: ../Doc/library/ssl.rst:2643 +#: ../Doc/library/ssl.rst:2685 msgid "" ":meth:`SSLContext.set_default_verify_paths` ignores the env vars :envvar:" "`SSL_CERT_FILE` and :envvar:`SSL_CERT_PATH` although :func:" "`get_default_verify_paths` still reports them." msgstr "" -#: ../Doc/library/ssl.rst:2651 +#: ../Doc/library/ssl.rst:2693 msgid "Class :class:`socket.socket`" msgstr "" -#: ../Doc/library/ssl.rst:2651 +#: ../Doc/library/ssl.rst:2693 msgid "Documentation of underlying :mod:`socket` class" msgstr "" -#: ../Doc/library/ssl.rst:2654 +#: ../Doc/library/ssl.rst:2696 msgid "" "`SSL/TLS Strong Encryption: An Introduction `_" msgstr "" -#: ../Doc/library/ssl.rst:2654 +#: ../Doc/library/ssl.rst:2696 msgid "Intro from the Apache HTTP Server documentation" msgstr "" -#: ../Doc/library/ssl.rst:2657 +#: ../Doc/library/ssl.rst:2699 msgid "" ":rfc:`RFC 1422: Privacy Enhancement for Internet Electronic Mail: Part II: " "Certificate-Based Key Management <1422>`" msgstr "" -#: ../Doc/library/ssl.rst:2657 +#: ../Doc/library/ssl.rst:2699 msgid "Steve Kent" msgstr "" -#: ../Doc/library/ssl.rst:2660 +#: ../Doc/library/ssl.rst:2702 msgid ":rfc:`RFC 4086: Randomness Requirements for Security <4086>`" msgstr "" -#: ../Doc/library/ssl.rst:2660 +#: ../Doc/library/ssl.rst:2702 msgid "Donald E., Jeffrey I. Schiller" msgstr "" -#: ../Doc/library/ssl.rst:2663 +#: ../Doc/library/ssl.rst:2705 msgid "" ":rfc:`RFC 5280: Internet X.509 Public Key Infrastructure Certificate and " "Certificate Revocation List (CRL) Profile <5280>`" msgstr "" -#: ../Doc/library/ssl.rst:2663 +#: ../Doc/library/ssl.rst:2705 msgid "D. Cooper" msgstr "" -#: ../Doc/library/ssl.rst:2666 +#: ../Doc/library/ssl.rst:2708 msgid "" ":rfc:`RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 " "<5246>`" msgstr "" -#: ../Doc/library/ssl.rst:2666 +#: ../Doc/library/ssl.rst:2708 msgid "T. Dierks et. al." msgstr "" -#: ../Doc/library/ssl.rst:2669 +#: ../Doc/library/ssl.rst:2711 msgid ":rfc:`RFC 6066: Transport Layer Security (TLS) Extensions <6066>`" msgstr "" -#: ../Doc/library/ssl.rst:2669 +#: ../Doc/library/ssl.rst:2711 msgid "D. Eastlake" msgstr "" -#: ../Doc/library/ssl.rst:2672 +#: ../Doc/library/ssl.rst:2714 msgid "" "`IANA TLS: Transport Layer Security (TLS) Parameters `_" msgstr "" -#: ../Doc/library/ssl.rst:2672 +#: ../Doc/library/ssl.rst:2714 msgid "IANA" msgstr "" -#: ../Doc/library/ssl.rst:2675 +#: ../Doc/library/ssl.rst:2717 msgid "" ":rfc:`RFC 7525: Recommendations for Secure Use of Transport Layer Security " "(TLS) and Datagram Transport Layer Security (DTLS) <7525>`" msgstr "" -#: ../Doc/library/ssl.rst:2675 +#: ../Doc/library/ssl.rst:2717 msgid "IETF" msgstr "" -#: ../Doc/library/ssl.rst:2677 +#: ../Doc/library/ssl.rst:2719 msgid "" "`Mozilla's Server Side TLS recommendations `_" msgstr "" -#: ../Doc/library/ssl.rst:2678 +#: ../Doc/library/ssl.rst:2720 msgid "Mozilla" msgstr "" diff --git a/library/subprocess.po b/library/subprocess.po index c5ee9dce..58e200d7 100644 --- a/library/subprocess.po +++ b/library/subprocess.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" -"PO-Revision-Date: 2018-10-11 16:22+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 17:30+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -2017,7 +2017,7 @@ msgstr "" "supprimé. Le code de statut de la commande peut être interprété comme le " "code de retour de *subprocess*. Par exemple : ::" -#: ../Doc/library/subprocess.rst:1333 ../Doc/library/subprocess.rst:1352 +#: ../Doc/library/subprocess.rst:1333 ../Doc/library/subprocess.rst:1353 msgid "Availability: POSIX & Windows" msgstr "Disponibilité : POSIX et Windows" @@ -2028,41 +2028,42 @@ msgstr "Ajout de la gestion de Windows." #: ../Doc/library/subprocess.rst:1338 msgid "" "The function now returns (exitcode, output) instead of (status, output) as " -"it did in Python 3.3.3 and earlier. See :func:`WEXITSTATUS`." +"it did in Python 3.3.3 and earlier. exitcode has the same value as :attr:" +"`~Popen.returncode`." msgstr "" -"La fonction renvoie maintenant *(exitcode, output)* plutôt que *(status, " -"output)* comme dans les versions de Python 3.3.3 ou antérieures. Voir :func:" -"`WEXITSTATUS`." +"La fonction renvoie maintenant ``(exitcode, output)`` plutôt que ``(status, " +"output)`` comme dans les versions de Python 3.3.3 ou antérieures. " +"*exitcode* vaut la même valeur que :attr:`~Popen.returncode`." -#: ../Doc/library/subprocess.rst:1344 +#: ../Doc/library/subprocess.rst:1345 msgid "Return output (stdout and stderr) of executing *cmd* in a shell." msgstr "" "Renvoie la sortie (standard et d'erreur) de l'exécution de *cmd* dans un " "*shell*." -#: ../Doc/library/subprocess.rst:1346 +#: ../Doc/library/subprocess.rst:1347 msgid "" -"Like :func:`getstatusoutput`, except the exit status is ignored and the " -"return value is a string containing the command's output. Example::" +"Like :func:`getstatusoutput`, except the exit code is ignored and the return " +"value is a string containing the command's output. Example::" msgstr "" "Comme :func:`getstatusoutput`, à l'exception que le code de statut est " "ignoré et que la valeur de retour est une chaîne contenant la sortie de la " "commande. Exemple : ::" -#: ../Doc/library/subprocess.rst:1354 +#: ../Doc/library/subprocess.rst:1355 msgid "Windows support added" msgstr "Ajout de la gestion de Windows." -#: ../Doc/library/subprocess.rst:1359 +#: ../Doc/library/subprocess.rst:1360 msgid "Notes" msgstr "Notes" -#: ../Doc/library/subprocess.rst:1364 +#: ../Doc/library/subprocess.rst:1365 msgid "Converting an argument sequence to a string on Windows" msgstr "" "Convertir une séquence d'arguments vers une chaîne de caractères sous Windows" -#: ../Doc/library/subprocess.rst:1366 +#: ../Doc/library/subprocess.rst:1367 msgid "" "On Windows, an *args* sequence is converted to a string that can be parsed " "using the following rules (which correspond to the rules used by the MS C " @@ -2072,14 +2073,14 @@ msgstr "" "être analysée avec les règles suivantes (qui correspondent aux règles " "utilisées par l'environnement *MS C*) :" -#: ../Doc/library/subprocess.rst:1370 +#: ../Doc/library/subprocess.rst:1371 msgid "" "Arguments are delimited by white space, which is either a space or a tab." msgstr "" "Les arguments sont délimités par des espacements, qui peuvent être des " "espaces ou des tabulations." -#: ../Doc/library/subprocess.rst:1373 +#: ../Doc/library/subprocess.rst:1374 msgid "" "A string surrounded by double quotation marks is interpreted as a single " "argument, regardless of white space contained within. A quoted string can " @@ -2089,7 +2090,7 @@ msgstr "" "seul, qu'elle contienne ou non des espacements. Une chaîne entre guillemets " "peut être intégrée dans un argument." -#: ../Doc/library/subprocess.rst:1378 +#: ../Doc/library/subprocess.rst:1379 msgid "" "A double quotation mark preceded by a backslash is interpreted as a literal " "double quotation mark." @@ -2097,7 +2098,7 @@ msgstr "" "Un guillemet double précédé d'un *backslash* est interprété comme un " "guillemet double littéral." -#: ../Doc/library/subprocess.rst:1381 +#: ../Doc/library/subprocess.rst:1382 msgid "" "Backslashes are interpreted literally, unless they immediately precede a " "double quotation mark." @@ -2105,7 +2106,7 @@ msgstr "" "Les *backslashs* sont interprétés littéralement, à moins qu'ils précèdent " "immédiatement un guillemet double." -#: ../Doc/library/subprocess.rst:1384 +#: ../Doc/library/subprocess.rst:1385 msgid "" "If backslashes immediately precede a double quotation mark, every pair of " "backslashes is interpreted as a literal backslash. If the number of " @@ -2117,11 +2118,11 @@ msgstr "" "de *backslashs* est impair, le dernier *backslash* échappe le prochain " "guillemet double comme décrit en règle 3." -#: ../Doc/library/subprocess.rst:1393 +#: ../Doc/library/subprocess.rst:1394 msgid ":mod:`shlex`" msgstr ":mod:`shlex`" -#: ../Doc/library/subprocess.rst:1394 +#: ../Doc/library/subprocess.rst:1395 msgid "Module which provides function to parse and escape command lines." msgstr "" "Module qui fournit des fonctions pour analyser et échapper les lignes de " diff --git a/library/sys.po b/library/sys.po index e5a2915f..bfbb28d1 100644 --- a/library/sys.po +++ b/library/sys.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-15 21:52+0200\n" -"PO-Revision-Date: 2018-09-29 19:33+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 17:27+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -504,8 +504,8 @@ msgstr "" "La :term:`struct sequence` *flags* expose l'état des options de ligne de " "commande. Ces attributs sont en lecture seule." -#: ../Doc/library/sys.rst:323 ../Doc/library/sys.rst:367 -#: ../Doc/library/sys.rst:710 +#: ../Doc/library/sys.rst:323 ../Doc/library/sys.rst:371 +#: ../Doc/library/sys.rst:714 msgid "attribute" msgstr "attribut" @@ -534,112 +534,125 @@ msgid ":const:`interactive`" msgstr ":const:`interactive`" #: ../Doc/library/sys.rst:328 +msgid ":const:`isolated`" +msgstr ":const:`isolated`" + +#: ../Doc/library/sys.rst:328 +msgid ":option:`-I`" +msgstr ":option:`-I`" + +#: ../Doc/library/sys.rst:329 msgid ":const:`optimize`" msgstr ":const:`optimize`" -#: ../Doc/library/sys.rst:328 +#: ../Doc/library/sys.rst:329 msgid ":option:`-O` or :option:`-OO`" msgstr ":option:`-O` or :option:`-OO`" -#: ../Doc/library/sys.rst:329 +#: ../Doc/library/sys.rst:330 msgid ":const:`dont_write_bytecode`" msgstr ":const:`dont_write_bytecode`" -#: ../Doc/library/sys.rst:329 +#: ../Doc/library/sys.rst:330 msgid ":option:`-B`" msgstr ":option:`-B`" -#: ../Doc/library/sys.rst:330 +#: ../Doc/library/sys.rst:331 msgid ":const:`no_user_site`" msgstr ":const:`no_user_site`" -#: ../Doc/library/sys.rst:330 +#: ../Doc/library/sys.rst:331 msgid ":option:`-s`" msgstr ":option:`-s`" -#: ../Doc/library/sys.rst:331 +#: ../Doc/library/sys.rst:332 msgid ":const:`no_site`" msgstr ":const:`no_site`" -#: ../Doc/library/sys.rst:331 +#: ../Doc/library/sys.rst:332 msgid ":option:`-S`" msgstr ":option:`-S`" -#: ../Doc/library/sys.rst:332 +#: ../Doc/library/sys.rst:333 msgid ":const:`ignore_environment`" msgstr ":const:`ignore_environment`" -#: ../Doc/library/sys.rst:332 +#: ../Doc/library/sys.rst:333 msgid ":option:`-E`" msgstr ":option:`-E`" -#: ../Doc/library/sys.rst:333 +#: ../Doc/library/sys.rst:334 msgid ":const:`verbose`" msgstr ":const:`verbose`" -#: ../Doc/library/sys.rst:333 +#: ../Doc/library/sys.rst:334 msgid ":option:`-v`" msgstr ":option:`-v`" -#: ../Doc/library/sys.rst:334 +#: ../Doc/library/sys.rst:335 msgid ":const:`bytes_warning`" msgstr ":const:`bytes_warning`" -#: ../Doc/library/sys.rst:334 +#: ../Doc/library/sys.rst:335 msgid ":option:`-b`" msgstr ":option:`-b`" -#: ../Doc/library/sys.rst:335 +#: ../Doc/library/sys.rst:336 msgid ":const:`quiet`" msgstr ":const:`quiet`" -#: ../Doc/library/sys.rst:335 +#: ../Doc/library/sys.rst:336 msgid ":option:`-q`" msgstr ":option:`-q`" -#: ../Doc/library/sys.rst:336 +#: ../Doc/library/sys.rst:337 msgid ":const:`hash_randomization`" msgstr ":const:`hash_randomization`" -#: ../Doc/library/sys.rst:336 +#: ../Doc/library/sys.rst:337 msgid ":option:`-R`" msgstr ":option:`-R`" -#: ../Doc/library/sys.rst:337 +#: ../Doc/library/sys.rst:338 msgid ":const:`dev_mode`" msgstr ":const:`dev_mode`" -#: ../Doc/library/sys.rst:337 +#: ../Doc/library/sys.rst:338 msgid ":option:`-X` ``dev``" msgstr ":option:`-X` ``dev``" -#: ../Doc/library/sys.rst:338 +#: ../Doc/library/sys.rst:339 msgid ":const:`utf8_mode`" msgstr ":const:`utf8_mode`" -#: ../Doc/library/sys.rst:338 +#: ../Doc/library/sys.rst:339 msgid ":option:`-X` ``utf8``" msgstr ":option:`-X` ``utf8``" -#: ../Doc/library/sys.rst:341 +#: ../Doc/library/sys.rst:342 msgid "Added ``quiet`` attribute for the new :option:`-q` flag." msgstr "Ajout de l'attribut ``quiet`` pour la nouvelle option :option:`-q`." -#: ../Doc/library/sys.rst:344 +#: ../Doc/library/sys.rst:345 msgid "The ``hash_randomization`` attribute." msgstr "L'attribut ``hash_randomization``." -#: ../Doc/library/sys.rst:347 +#: ../Doc/library/sys.rst:348 msgid "Removed obsolete ``division_warning`` attribute." msgstr "Suppression de l'attribut obsolète ``division_warning``." -#: ../Doc/library/sys.rst:350 +#: ../Doc/library/sys.rst:351 +msgid "Added ``isolated`` attribute for :option:`-I` ``isolated`` flag." +msgstr "" +"Ajout de l'attribut ``isolated`` pour l'option :option:`-I` ``isolated``." + +#: ../Doc/library/sys.rst:354 msgid "" "Added ``dev_mode`` attribute for the new :option:`-X` ``dev`` flag and " "``utf8_mode`` attribute for the new :option:`-X` ``utf8`` flag." msgstr "" -#: ../Doc/library/sys.rst:357 +#: ../Doc/library/sys.rst:361 msgid "" "A :term:`struct sequence` holding information about the float type. It " "contains low level information about the precision and internal " @@ -656,23 +669,23 @@ msgstr "" "IEC C standard* [C99]_, *Characteristics of floating types*, pour plus de " "détails." -#: ../Doc/library/sys.rst:367 +#: ../Doc/library/sys.rst:371 msgid "float.h macro" msgstr "macro *float.h*" -#: ../Doc/library/sys.rst:367 ../Doc/library/sys.rst:710 +#: ../Doc/library/sys.rst:371 ../Doc/library/sys.rst:714 msgid "explanation" msgstr "explication" -#: ../Doc/library/sys.rst:369 +#: ../Doc/library/sys.rst:373 msgid ":const:`epsilon`" msgstr ":const:`epsilon`" -#: ../Doc/library/sys.rst:369 +#: ../Doc/library/sys.rst:373 msgid "DBL_EPSILON" msgstr "DBL_EPSILON" -#: ../Doc/library/sys.rst:369 +#: ../Doc/library/sys.rst:373 msgid "" "difference between 1 and the least value greater than 1 that is " "representable as a float" @@ -680,15 +693,15 @@ msgstr "" "différence entre 1 et la plus petite valeur plus grande que 1 représentable " "en *float*" -#: ../Doc/library/sys.rst:372 +#: ../Doc/library/sys.rst:376 msgid ":const:`dig`" msgstr ":const:`dig`" -#: ../Doc/library/sys.rst:372 +#: ../Doc/library/sys.rst:376 msgid "DBL_DIG" msgstr "DBL_DIG" -#: ../Doc/library/sys.rst:372 +#: ../Doc/library/sys.rst:376 msgid "" "maximum number of decimal digits that can be faithfully represented in a " "float; see below" @@ -696,15 +709,15 @@ msgstr "" "nombre maximum de décimales pouvant être représentées fidèlement dans un " "*float* (voir ci-dessous)" -#: ../Doc/library/sys.rst:375 +#: ../Doc/library/sys.rst:379 msgid ":const:`mant_dig`" msgstr ":const:`mant_dig`" -#: ../Doc/library/sys.rst:375 +#: ../Doc/library/sys.rst:379 msgid "DBL_MANT_DIG" msgstr "DBL_MANT_DIG" -#: ../Doc/library/sys.rst:375 +#: ../Doc/library/sys.rst:379 msgid "" "float precision: the number of base-``radix`` digits in the significand of a " "float" @@ -712,42 +725,42 @@ msgstr "" "précision : nombre de *base-*\\ ``radix`` chiffres dans la mantisse du " "*float*" -#: ../Doc/library/sys.rst:378 +#: ../Doc/library/sys.rst:382 msgid ":const:`max`" msgstr ":const:`max`" -#: ../Doc/library/sys.rst:378 +#: ../Doc/library/sys.rst:382 msgid "DBL_MAX" msgstr "DBL_MAX" -#: ../Doc/library/sys.rst:378 +#: ../Doc/library/sys.rst:382 msgid "maximum representable finite float" msgstr "plus grand `float` fini représentable" -#: ../Doc/library/sys.rst:380 +#: ../Doc/library/sys.rst:384 msgid ":const:`max_exp`" msgstr ":const:`max_exp`" -#: ../Doc/library/sys.rst:380 +#: ../Doc/library/sys.rst:384 msgid "DBL_MAX_EXP" msgstr "DBL_MAX_EXP" -#: ../Doc/library/sys.rst:380 +#: ../Doc/library/sys.rst:384 msgid "" "maximum integer e such that ``radix**(e-1)`` is a representable finite float" msgstr "" "plus grand nombre entier *e* tel que ``radix**(e-1)`` soit représentable " "sous forme de *float* finit" -#: ../Doc/library/sys.rst:383 +#: ../Doc/library/sys.rst:387 msgid ":const:`max_10_exp`" msgstr ":const:`max_10_exp`" -#: ../Doc/library/sys.rst:383 +#: ../Doc/library/sys.rst:387 msgid "DBL_MAX_10_EXP" msgstr "DBL_MAX_10_EXP" -#: ../Doc/library/sys.rst:383 +#: ../Doc/library/sys.rst:387 msgid "" "maximum integer e such that ``10**e`` is in the range of representable " "finite floats" @@ -755,66 +768,66 @@ msgstr "" "plus grand nombre entier *e* tel que ``10**e`` est dans l'intervalle des " "nombre flottants finis" -#: ../Doc/library/sys.rst:386 +#: ../Doc/library/sys.rst:390 msgid ":const:`min`" msgstr ":const:`min`" -#: ../Doc/library/sys.rst:386 +#: ../Doc/library/sys.rst:390 msgid "DBL_MIN" msgstr "DBL_MIN" -#: ../Doc/library/sys.rst:386 +#: ../Doc/library/sys.rst:390 msgid "minimum positive normalized float" msgstr "plus petit nombre à virgule flottante positif normalisé" -#: ../Doc/library/sys.rst:388 +#: ../Doc/library/sys.rst:392 msgid ":const:`min_exp`" msgstr ":const:`min_exp`" -#: ../Doc/library/sys.rst:388 +#: ../Doc/library/sys.rst:392 msgid "DBL_MIN_EXP" msgstr "DBL_MIN_EXP" -#: ../Doc/library/sys.rst:388 +#: ../Doc/library/sys.rst:392 msgid "minimum integer e such that ``radix**(e-1)`` is a normalized float" msgstr "" "plus petit entier *e* tel que ``radix**(e-1)`` est un *float* normalisé" -#: ../Doc/library/sys.rst:391 +#: ../Doc/library/sys.rst:395 msgid ":const:`min_10_exp`" msgstr ":const:`min_10_exp`" -#: ../Doc/library/sys.rst:391 +#: ../Doc/library/sys.rst:395 msgid "DBL_MIN_10_EXP" msgstr "DBL_MIN_10_EXP" -#: ../Doc/library/sys.rst:391 +#: ../Doc/library/sys.rst:395 msgid "minimum integer e such that ``10**e`` is a normalized float" msgstr "" "plus petit nombre entier *e* tel que ``10**e`` est un nombre à virgule " "flottante normalisé" -#: ../Doc/library/sys.rst:394 +#: ../Doc/library/sys.rst:398 msgid ":const:`radix`" msgstr ":const:`radix`" -#: ../Doc/library/sys.rst:394 +#: ../Doc/library/sys.rst:398 msgid "FLT_RADIX" msgstr "FLT_RADIX" -#: ../Doc/library/sys.rst:394 +#: ../Doc/library/sys.rst:398 msgid "radix of exponent representation" msgstr "base de la représentation de l'exposant" -#: ../Doc/library/sys.rst:396 +#: ../Doc/library/sys.rst:400 msgid ":const:`rounds`" msgstr ":const:`rounds`" -#: ../Doc/library/sys.rst:396 +#: ../Doc/library/sys.rst:400 msgid "FLT_ROUNDS" msgstr "FLT_ROUNDS" -#: ../Doc/library/sys.rst:396 +#: ../Doc/library/sys.rst:400 msgid "" "integer constant representing the rounding mode used for arithmetic " "operations. This reflects the value of the system FLT_ROUNDS macro at " @@ -827,7 +840,7 @@ msgstr "" "5.2.4.4.2.2 de la norme C99 pour une explication des valeurs possibles et de " "leurs significations." -#: ../Doc/library/sys.rst:404 +#: ../Doc/library/sys.rst:408 msgid "" "The attribute :attr:`sys.float_info.dig` needs further explanation. If " "``s`` is any string representing a decimal number with at most :attr:`sys." @@ -839,7 +852,7 @@ msgstr "" "float_info.dig` chiffres significatifs, alors, convertir ``s`` en un nombre " "à virgule flottante puis à nouveau en chaîne redonnera la même valeur ::" -#: ../Doc/library/sys.rst:417 +#: ../Doc/library/sys.rst:421 msgid "" "But for strings with more than :attr:`sys.float_info.dig` significant " "digits, this isn't always true::" @@ -847,7 +860,7 @@ msgstr "" "Cependant, pour les chaînes avec plus de :attr:`sys.float_info.dig` chiffres " "significatifs, ce n'est pas toujours vrai : ::" -#: ../Doc/library/sys.rst:426 +#: ../Doc/library/sys.rst:430 msgid "" "A string indicating how the :func:`repr` function behaves for floats. If " "the string has value ``'short'`` then for a finite float ``x``, ``repr(x)`` " @@ -863,7 +876,7 @@ msgstr "" "Python 3.1. Autrement, ``float_repr_style`` a la valeur ``'legacy'`` et\n" "``repr(x)`` se comporte comme les versions antérieures à 3.1." -#: ../Doc/library/sys.rst:439 +#: ../Doc/library/sys.rst:443 msgid "" "Return the number of memory blocks currently allocated by the interpreter, " "regardless of their size. This function is mainly useful for tracking and " @@ -879,7 +892,7 @@ msgstr "" "`_clear_type_cache()` et :func:`gc.collect()` peut permettre d'obtenir des " "résultats plus prévisibles." -#: ../Doc/library/sys.rst:446 +#: ../Doc/library/sys.rst:450 msgid "" "If a Python build or implementation cannot reasonably compute this " "information, :func:`getallocatedblocks()` is allowed to return 0 instead." @@ -887,25 +900,25 @@ msgstr "" "Si Python n'arrive pas a calculer raisonnablement cette information, :func:" "`getallocatedblocks()` est autorisé à renvoyer 0 à la place." -#: ../Doc/library/sys.rst:454 +#: ../Doc/library/sys.rst:458 msgid "Return the build time API version of Android as an integer." msgstr "" -#: ../Doc/library/sys.rst:456 +#: ../Doc/library/sys.rst:460 msgid "Availability: Android." msgstr "Disponibilité : Android." -#: ../Doc/library/sys.rst:463 +#: ../Doc/library/sys.rst:467 msgid "" "Return the interpreter's \"check interval\"; see :func:`setcheckinterval`." msgstr "" "Renvoie le *check interval* de l'interpréteur, voir :func:`setcheckinterval`." -#: ../Doc/library/sys.rst:465 +#: ../Doc/library/sys.rst:469 msgid "Use :func:`getswitchinterval` instead." msgstr "Utilisez plutôt :func:`getswitchinterval`." -#: ../Doc/library/sys.rst:471 +#: ../Doc/library/sys.rst:475 msgid "" "Return the name of the current default string encoding used by the Unicode " "implementation." @@ -913,7 +926,7 @@ msgstr "" "Renvoie le nom du codage par défaut actuellement utilisé par " "l'implémentation *Unicode* pour coder les chaînes." -#: ../Doc/library/sys.rst:477 +#: ../Doc/library/sys.rst:481 msgid "" "Return the current value of the flags that are used for :c:func:`dlopen` " "calls. Symbolic names for the flag values can be found in the :mod:`os` " @@ -925,7 +938,7 @@ msgstr "" "mod:`os`. (Ce sont les constantes ``RTLD_xxx`` e.g. :data:`os.RTLD_LAZY`). " "Disponibilité: Unix." -#: ../Doc/library/sys.rst:485 +#: ../Doc/library/sys.rst:489 msgid "" "Return the name of the encoding used to convert between Unicode filenames " "and bytes filenames. For best compatibility, str should be used for " @@ -941,11 +954,11 @@ msgstr "" "fichiers devraient supporter les deux (*str* ou *bytes*), et convertir en " "interne dans la représentation du système." -#: ../Doc/library/sys.rst:492 +#: ../Doc/library/sys.rst:496 msgid "This encoding is always ASCII-compatible." msgstr "Cet encodage est toujours compatible avec ASCII." -#: ../Doc/library/sys.rst:494 ../Doc/library/sys.rst:523 +#: ../Doc/library/sys.rst:498 ../Doc/library/sys.rst:527 msgid "" ":func:`os.fsencode` and :func:`os.fsdecode` should be used to ensure that " "the correct encoding and errors mode are used." @@ -954,20 +967,20 @@ msgstr "" "utilisées pour s'assurer qu'un encodage et un gestionnaire d'erreurs correct " "sont utilisés." -#: ../Doc/library/sys.rst:497 +#: ../Doc/library/sys.rst:501 msgid "In the UTF-8 mode, the encoding is ``utf-8`` on any platform." msgstr "" "Dans le mode UTF-8, l'encodage est ``'utf-8'`` sur toutes les plate-formes." -#: ../Doc/library/sys.rst:499 +#: ../Doc/library/sys.rst:503 msgid "On Mac OS X, the encoding is ``'utf-8'``." msgstr "Sur Mac OS X, l'encodage est ``'utf-8'``." -#: ../Doc/library/sys.rst:501 +#: ../Doc/library/sys.rst:505 msgid "On Unix, the encoding is the locale encoding." msgstr "Sur Unix, l'encodage est celui des paramètres régionaux." -#: ../Doc/library/sys.rst:503 +#: ../Doc/library/sys.rst:507 msgid "" "On Windows, the encoding may be ``'utf-8'`` or ``'mbcs'``, depending on user " "configuration." @@ -975,11 +988,11 @@ msgstr "" "Sur Windows, l'encodage peut être ``'utf-8'`` ou ``'mbcs'``, en fonction des " "paramètres de l'utilisateur." -#: ../Doc/library/sys.rst:506 +#: ../Doc/library/sys.rst:510 msgid ":func:`getfilesystemencoding` result cannot be ``None`` anymore." msgstr ":func:`getfilesystemencoding` ne peut plus renvoyer ``None``." -#: ../Doc/library/sys.rst:509 +#: ../Doc/library/sys.rst:513 msgid "" "Windows is no longer guaranteed to return ``'mbcs'``. See :pep:`529` and :" "func:`_enablelegacywindowsfsencoding` for more information." @@ -987,11 +1000,11 @@ msgstr "" "Sur Windows, on est plus assurés d'obtenir ``'mbcs'``. Voir la :pep:`529` " "et :func:`_enablelegacywindowsfsencoding` pour plus d'informations." -#: ../Doc/library/sys.rst:513 +#: ../Doc/library/sys.rst:517 msgid "Return 'utf-8' in the UTF-8 mode." msgstr "" -#: ../Doc/library/sys.rst:519 +#: ../Doc/library/sys.rst:523 msgid "" "Return the name of the error mode used to convert between Unicode filenames " "and bytes filenames. The encoding name is returned from :func:" @@ -1001,7 +1014,7 @@ msgstr "" "noms de fichiers entre Unicode et octets. Le nom de l'encodage est renvoyé " "par :func:`getfilesystemencoding`." -#: ../Doc/library/sys.rst:530 +#: ../Doc/library/sys.rst:534 msgid "" "Return the reference count of the *object*. The count returned is generally " "one higher than you might expect, because it includes the (temporary) " @@ -1011,7 +1024,7 @@ msgstr "" "généralement d'une référence de plus qu'attendu, puisqu'il compte la " "référence (temporaire) de l'argument à :func:`getrefcount`." -#: ../Doc/library/sys.rst:537 +#: ../Doc/library/sys.rst:541 msgid "" "Return the current value of the recursion limit, the maximum depth of the " "Python interpreter stack. This limit prevents infinite recursion from " @@ -1023,7 +1036,7 @@ msgstr "" "d'une récursion infinie à cause d'un débordement de la pile. Elle peut être " "modifiée par :func:`setrecursionlimit`." -#: ../Doc/library/sys.rst:545 +#: ../Doc/library/sys.rst:549 msgid "" "Return the size of an object in bytes. The object can be any type of object. " "All built-in objects will return correct results, but this does not have to " @@ -1034,7 +1047,7 @@ msgstr "" "peut ne pas être toujours vrai pour les extensions, la valeur étant " "dépendante de l'implémentation." -#: ../Doc/library/sys.rst:550 +#: ../Doc/library/sys.rst:554 msgid "" "Only the memory consumption directly attributed to the object is accounted " "for, not the memory consumption of objects it refers to." @@ -1042,7 +1055,7 @@ msgstr "" "Seule la mémoire directement attribuée à l'objet est prise en compte, pas la " "mémoire consommée par les objets vers lesquels il a des références." -#: ../Doc/library/sys.rst:553 +#: ../Doc/library/sys.rst:557 msgid "" "If given, *default* will be returned if the object does not provide means to " "retrieve the size. Otherwise a :exc:`TypeError` will be raised." @@ -1050,7 +1063,7 @@ msgstr "" "S'il est fourni, *default* sera renvoyé si l'objet ne fournit aucun moyen de " "récupérer sa taille. Sinon, une exception :exc:`TypeError` sera levée." -#: ../Doc/library/sys.rst:556 +#: ../Doc/library/sys.rst:560 msgid "" ":func:`getsizeof` calls the object's ``__sizeof__`` method and adds an " "additional garbage collector overhead if the object is managed by the " @@ -1059,7 +1072,7 @@ msgstr "" ":func:`getsizeof` appelle la méthode ``__sizeof__`` de l'objet, et s'il est " "géré par lui, ajoute le surcoût du ramasse-miettes." -#: ../Doc/library/sys.rst:560 +#: ../Doc/library/sys.rst:564 msgid "" "See `recursive sizeof recipe `_ " "for an example of using :func:`getsizeof` recursively to find the size of " @@ -1069,7 +1082,7 @@ msgstr "" "recipes/577504>`_ pour un exemple d'utilisation récursive de :func:" "`getsizeof` pour trouver la taille d'un contenant et de son contenu." -#: ../Doc/library/sys.rst:566 +#: ../Doc/library/sys.rst:570 msgid "" "Return the interpreter's \"thread switch interval\"; see :func:" "`setswitchinterval`." @@ -1077,7 +1090,7 @@ msgstr "" "Renvoie la valeur du *thread switch interval* de l'interpréteur, voir :func:" "`setswitchinterval`." -#: ../Doc/library/sys.rst:574 +#: ../Doc/library/sys.rst:578 msgid "" "Return a frame object from the call stack. If optional integer *depth* is " "given, return the frame object that many calls below the top of the stack. " @@ -1091,7 +1104,7 @@ msgstr "" "exc:`ValueError` est levée. La profondeur par défaut est zéro, donnant ainsi " "la *frame* du dessus de la pile." -#: ../Doc/library/sys.rst:581 +#: ../Doc/library/sys.rst:585 msgid "" "This function should be used for internal and specialized purposes only. It " "is not guaranteed to exist in all implementations of Python." @@ -1100,16 +1113,16 @@ msgstr "" "spécifique. Il n'est pas garanti qu'elle existe dans toutes les " "implémentations de Python." -#: ../Doc/library/sys.rst:591 +#: ../Doc/library/sys.rst:595 msgid "Get the profiler function as set by :func:`setprofile`." msgstr "" "Renvoie la fonction de profilage tel que défini par :func:`setprofile`." -#: ../Doc/library/sys.rst:600 +#: ../Doc/library/sys.rst:604 msgid "Get the trace function as set by :func:`settrace`." msgstr "Renvoie la fonction de traçage tel que définie par :func:`settrace`." -#: ../Doc/library/sys.rst:604 +#: ../Doc/library/sys.rst:608 msgid "" "The :func:`gettrace` function is intended only for implementing debuggers, " "profilers, coverage tools and the like. Its behavior is part of the " @@ -1121,7 +1134,7 @@ msgstr "" "dépend de l'implémentation et non du langage, elle n'est donc pas forcément " "disponible dans toutes les implémentations de Python." -#: ../Doc/library/sys.rst:612 +#: ../Doc/library/sys.rst:616 msgid "" "Return a named tuple describing the Windows version currently running. The " "named elements are *major*, *minor*, *build*, *platform*, *service_pack*, " @@ -1144,47 +1157,47 @@ msgstr "" "les versions antérieures, seuls les 5 premiers éléments sont accessibles par " "leur indice." -#: ../Doc/library/sys.rst:623 +#: ../Doc/library/sys.rst:627 msgid "*platform* will be :const:`2 (VER_PLATFORM_WIN32_NT)`." msgstr "*platform* sera :const:`2 (VER_PLATFORM_WIN32_NT)`." -#: ../Doc/library/sys.rst:625 +#: ../Doc/library/sys.rst:629 msgid "*product_type* may be one of the following values:" msgstr "*product_type* peut être une des valeurs suivantes :" -#: ../Doc/library/sys.rst:628 +#: ../Doc/library/sys.rst:632 msgid "Constant" msgstr "Constante" -#: ../Doc/library/sys.rst:628 +#: ../Doc/library/sys.rst:632 msgid "Meaning" msgstr "Signification" -#: ../Doc/library/sys.rst:630 +#: ../Doc/library/sys.rst:634 msgid ":const:`1 (VER_NT_WORKSTATION)`" msgstr ":const:`1 (VER_NT_WORKSTATION)`" -#: ../Doc/library/sys.rst:630 +#: ../Doc/library/sys.rst:634 msgid "The system is a workstation." msgstr "Le système une station de travail." -#: ../Doc/library/sys.rst:632 +#: ../Doc/library/sys.rst:636 msgid ":const:`2 (VER_NT_DOMAIN_CONTROLLER)`" msgstr ":const:`2 (VER_NT_DOMAIN_CONTROLLER)`" -#: ../Doc/library/sys.rst:632 +#: ../Doc/library/sys.rst:636 msgid "The system is a domain controller." msgstr "Le système est un contrôleur de domaine." -#: ../Doc/library/sys.rst:635 +#: ../Doc/library/sys.rst:639 msgid ":const:`3 (VER_NT_SERVER)`" msgstr ":const:`3 (VER_NT_SERVER)`" -#: ../Doc/library/sys.rst:635 +#: ../Doc/library/sys.rst:639 msgid "The system is a server, but not a domain controller." msgstr "Le système est un serveur, mais pas un contrôleur de domaine." -#: ../Doc/library/sys.rst:639 +#: ../Doc/library/sys.rst:643 msgid "" "This function wraps the Win32 :c:func:`GetVersionEx` function; see the " "Microsoft documentation on :c:func:`OSVERSIONINFOEX` for more information " @@ -1195,7 +1208,7 @@ msgstr "" "de Microsoft sur :c:func:`OSVERSIONINFOEX` pour plus d'informations sur ces " "champs." -#: ../Doc/library/sys.rst:643 +#: ../Doc/library/sys.rst:647 msgid "" "*platform_version* returns the accurate major version, minor version and " "build number of the current operating system, rather than the version that " @@ -1207,11 +1220,11 @@ msgstr "" "émulée pour ce processus. Il est destiné à être utilisé pour de la " "journalisation plutôt que pour la détection de fonctionnalités." -#: ../Doc/library/sys.rst:648 +#: ../Doc/library/sys.rst:652 msgid "Availability: Windows." msgstr "Disponibilité : Windows." -#: ../Doc/library/sys.rst:650 +#: ../Doc/library/sys.rst:654 msgid "" "Changed to a named tuple and added *service_pack_minor*, " "*service_pack_major*, *suite_mask*, and *product_type*." @@ -1219,11 +1232,11 @@ msgstr "" "Changé en un *tuple* nommé, et ajout de *service_pack_minor*, " "*service_pack_major*, *suite_mask*, et *product_type*." -#: ../Doc/library/sys.rst:654 +#: ../Doc/library/sys.rst:658 msgid "Added *platform_version*" msgstr "Ajout de *platform_version*" -#: ../Doc/library/sys.rst:660 +#: ../Doc/library/sys.rst:664 msgid "" "Returns an *asyncgen_hooks* object, which is similar to a :class:" "`~collections.namedtuple` of the form `(firstiter, finalizer)`, where " @@ -1239,11 +1252,11 @@ msgstr "" "pour planifier la finalisation d'un générateur asynchrone par un *event " "loop*." -#: ../Doc/library/sys.rst:667 +#: ../Doc/library/sys.rst:671 msgid "See :pep:`525` for more details." msgstr "Voir la :pep:`525` pour plus d'informations." -#: ../Doc/library/sys.rst:671 ../Doc/library/sys.rst:1244 +#: ../Doc/library/sys.rst:675 ../Doc/library/sys.rst:1248 msgid "" "This function has been added on a provisional basis (see :pep:`411` for " "details.)" @@ -1251,14 +1264,14 @@ msgstr "" "Cette fonction à été ajoutée à titre provisoire (voir la :pep:`411` pour " "plus d'informations.)" -#: ../Doc/library/sys.rst:677 +#: ../Doc/library/sys.rst:681 msgid "" "Get the current coroutine origin tracking depth, as set by func:" "`set_coroutine_origin_tracking_depth`." msgstr "" -#: ../Doc/library/sys.rst:683 ../Doc/library/sys.rst:695 -#: ../Doc/library/sys.rst:1265 ../Doc/library/sys.rst:1304 +#: ../Doc/library/sys.rst:687 ../Doc/library/sys.rst:699 +#: ../Doc/library/sys.rst:1269 ../Doc/library/sys.rst:1308 msgid "" "This function has been added on a provisional basis (see :pep:`411` for " "details.) Use it only for debugging purposes." @@ -1266,22 +1279,22 @@ msgstr "" "Cette fonction à été ajoutée à titre provisoire (Voir la :pep:`411` pour " "plus d'informations.) Utilisez la uniquement à des fins de débogage." -#: ../Doc/library/sys.rst:689 +#: ../Doc/library/sys.rst:693 msgid "Returns ``None``, or a wrapper set by :func:`set_coroutine_wrapper`." msgstr "" "Renvoie ``None``, ou un *wrapper* donné via :func:`set_coroutine_wrapper`." -#: ../Doc/library/sys.rst:691 ../Doc/library/sys.rst:1300 +#: ../Doc/library/sys.rst:695 ../Doc/library/sys.rst:1304 msgid "See :pep:`492` for more details." msgstr "Voir la :pep:`492` pour plus d'informations." -#: ../Doc/library/sys.rst:698 ../Doc/library/sys.rst:1307 +#: ../Doc/library/sys.rst:702 ../Doc/library/sys.rst:1311 msgid "" "The coroutine wrapper functionality has been deprecated, and will be removed " "in 3.8. See :issue:`32591` for details." msgstr "" -#: ../Doc/library/sys.rst:705 +#: ../Doc/library/sys.rst:709 msgid "" "A :term:`struct sequence` giving parameters of the numeric hash " "implementation. For more details about hashing of numeric types, see :ref:" @@ -1291,77 +1304,77 @@ msgstr "" "fonction de hachage de nombres. Pour plus d'informations sur le hachage des " "types numériques, consultez :ref:`numeric-hash`." -#: ../Doc/library/sys.rst:712 +#: ../Doc/library/sys.rst:716 msgid ":const:`width`" msgstr ":const:`width`" -#: ../Doc/library/sys.rst:712 +#: ../Doc/library/sys.rst:716 msgid "width in bits used for hash values" msgstr "Nombre de bits des valeurs de *hash*" -#: ../Doc/library/sys.rst:714 +#: ../Doc/library/sys.rst:718 msgid ":const:`modulus`" msgstr ":const:`modulus`" -#: ../Doc/library/sys.rst:714 +#: ../Doc/library/sys.rst:718 msgid "prime modulus P used for numeric hash scheme" msgstr "" "contient le premier P utilisé dans le modulo pour les *hash* numériques" -#: ../Doc/library/sys.rst:716 +#: ../Doc/library/sys.rst:720 msgid ":const:`inf`" msgstr ":const:`inf`" -#: ../Doc/library/sys.rst:716 +#: ../Doc/library/sys.rst:720 msgid "hash value returned for a positive infinity" msgstr "valeur du *hash* pour un infini positif" -#: ../Doc/library/sys.rst:718 +#: ../Doc/library/sys.rst:722 msgid ":const:`nan`" msgstr ":const:`nan`" -#: ../Doc/library/sys.rst:718 +#: ../Doc/library/sys.rst:722 msgid "hash value returned for a nan" msgstr "valeur du *hash* pour un *nan*" -#: ../Doc/library/sys.rst:720 +#: ../Doc/library/sys.rst:724 msgid ":const:`imag`" msgstr ":const:`imag`" -#: ../Doc/library/sys.rst:720 +#: ../Doc/library/sys.rst:724 msgid "multiplier used for the imaginary part of a complex number" msgstr "multiplicateur utilisé pour la partie imaginaire d'un nombre complexe" -#: ../Doc/library/sys.rst:723 +#: ../Doc/library/sys.rst:727 msgid ":const:`algorithm`" msgstr ":const:`algorithm`" -#: ../Doc/library/sys.rst:723 +#: ../Doc/library/sys.rst:727 msgid "name of the algorithm for hashing of str, bytes, and memoryview" msgstr "" "nom de l'algorithme pour le hachage des *str*, *bytes*, et *memoryview*" -#: ../Doc/library/sys.rst:726 +#: ../Doc/library/sys.rst:730 msgid ":const:`hash_bits`" msgstr ":const:`hash_bits`" -#: ../Doc/library/sys.rst:726 +#: ../Doc/library/sys.rst:730 msgid "internal output size of the hash algorithm" msgstr "taille de la sortie interne de l'algorithme de hachage" -#: ../Doc/library/sys.rst:728 +#: ../Doc/library/sys.rst:732 msgid ":const:`seed_bits`" msgstr ":const:`seed_bits`" -#: ../Doc/library/sys.rst:728 +#: ../Doc/library/sys.rst:732 msgid "size of the seed key of the hash algorithm" msgstr "taille de la *seed key* utilisée par l'algorithme de hachage" -#: ../Doc/library/sys.rst:734 +#: ../Doc/library/sys.rst:738 msgid "Added *algorithm*, *hash_bits* and *seed_bits*" msgstr "Ajout de *algorithm*, *hash_bits* et *seed_bits*" -#: ../Doc/library/sys.rst:740 +#: ../Doc/library/sys.rst:744 msgid "" "The version number encoded as a single integer. This is guaranteed to " "increase with each version, including proper support for non-production " @@ -1373,7 +1386,7 @@ msgstr "" "Par exemple, pour vérifier que l'interpréteur Python est au moins la version " "1.5, utilisez : ::" -#: ../Doc/library/sys.rst:751 +#: ../Doc/library/sys.rst:755 msgid "" "This is called ``hexversion`` since it only really looks meaningful when " "viewed as the result of passing it to the built-in :func:`hex` function. " @@ -1385,12 +1398,12 @@ msgstr "" "`hex`. La :term:`struct sequence` :data:`sys.version_info` représente la " "même information d'une manière plus humaine." -#: ../Doc/library/sys.rst:756 +#: ../Doc/library/sys.rst:760 msgid "More details of ``hexversion`` can be found at :ref:`apiabiversion`." msgstr "" "Consultez :ref:`apiabiversion` pour plus d'informations sur ``hexversion``." -#: ../Doc/library/sys.rst:761 +#: ../Doc/library/sys.rst:765 msgid "" "An object containing information about the implementation of the currently " "running Python interpreter. The following attributes are required to exist " @@ -1400,7 +1413,7 @@ msgstr "" "actuelle de l'interpréteur Python. Les attributs suivants existent " "obligatoirement sur toutes les implémentations Python." -#: ../Doc/library/sys.rst:765 +#: ../Doc/library/sys.rst:769 msgid "" "*name* is the implementation's identifier, e.g. ``'cpython'``. The actual " "string is defined by the Python implementation, but it is guaranteed to be " @@ -1410,7 +1423,7 @@ msgstr "" "chaîne est définie par l'implémentation de Python, mais sera toujours en " "minuscule." -#: ../Doc/library/sys.rst:769 +#: ../Doc/library/sys.rst:773 msgid "" "*version* is a named tuple, in the same format as :data:`sys.version_info`. " "It represents the version of the Python *implementation*. This has a " @@ -1430,7 +1443,7 @@ msgstr "" "valoir ``sys.version_info(2, 7, 2, 'final', 0)``. Pour CPython ces deux " "valeurs sont identiques puisque c'est l'implémentation de référence." -#: ../Doc/library/sys.rst:779 +#: ../Doc/library/sys.rst:783 msgid "" "*hexversion* is the implementation version in hexadecimal format, like :data:" "`sys.hexversion`." @@ -1438,7 +1451,7 @@ msgstr "" "*hexversion* est la version de l'implémentation sous forme hexadécimale, " "comme :data:`sys.hexversion`." -#: ../Doc/library/sys.rst:782 +#: ../Doc/library/sys.rst:786 msgid "" "*cache_tag* is the tag used by the import machinery in the filenames of " "cached modules. By convention, it would be a composite of the " @@ -1453,7 +1466,7 @@ msgstr "" "autre valeur si nécessaire. ``cache_tag`` à ``None`` signifie que la mise " "en cache des modules doit être désactivée." -#: ../Doc/library/sys.rst:789 +#: ../Doc/library/sys.rst:793 msgid "" ":data:`sys.implementation` may contain additional attributes specific to the " "Python implementation. These non-standard attributes must start with an " @@ -1470,7 +1483,7 @@ msgstr "" "cependant changer entre les versions du langage Python.) Voir la :pep:`421` " "pour plus d'informations." -#: ../Doc/library/sys.rst:801 +#: ../Doc/library/sys.rst:805 msgid "" "A :term:`struct sequence` that holds information about Python's internal " "representation of integers. The attributes are read only." @@ -1479,19 +1492,19 @@ msgstr "" "représentation interne des entiers de Python. Les attributs sont en lecture " "seule." -#: ../Doc/library/sys.rst:807 ../Doc/library/sys.rst:1394 +#: ../Doc/library/sys.rst:811 ../Doc/library/sys.rst:1398 msgid "Attribute" msgstr "Attribut" -#: ../Doc/library/sys.rst:807 ../Doc/library/sys.rst:1394 +#: ../Doc/library/sys.rst:811 ../Doc/library/sys.rst:1398 msgid "Explanation" msgstr "Explication" -#: ../Doc/library/sys.rst:809 +#: ../Doc/library/sys.rst:813 msgid ":const:`bits_per_digit`" msgstr ":const:`bits_per_digit`" -#: ../Doc/library/sys.rst:809 +#: ../Doc/library/sys.rst:813 msgid "" "number of bits held in each digit. Python integers are stored internally in " "base ``2**int_info.bits_per_digit``" @@ -1499,15 +1512,15 @@ msgstr "" "nombre de bits utilisés pour chaque chiffre. Les entiers Python sont " "stockés en interne en base ``2**int_info.bits_per_digit``." -#: ../Doc/library/sys.rst:813 +#: ../Doc/library/sys.rst:817 msgid ":const:`sizeof_digit`" msgstr ":const:`sizeof_digit`" -#: ../Doc/library/sys.rst:813 +#: ../Doc/library/sys.rst:817 msgid "size in bytes of the C type used to represent a digit" msgstr "taille en octets du type C utilisé pour représenter un chiffre" -#: ../Doc/library/sys.rst:822 +#: ../Doc/library/sys.rst:826 msgid "" "When this attribute exists, its value is automatically called (with no " "arguments) when the interpreter is launched in :ref:`interactive mode ` par le module :mod:`site`." -#: ../Doc/library/sys.rst:833 +#: ../Doc/library/sys.rst:837 msgid "" "Enter *string* in the table of \"interned\" strings and return the interned " "string -- which is *string* itself or a copy. Interning strings is useful to " @@ -1543,7 +1556,7 @@ msgstr "" "attributs de modules, de classes, ou d'instances ont aussi leurs clés " "internées." -#: ../Doc/library/sys.rst:841 +#: ../Doc/library/sys.rst:845 msgid "" "Interned strings are not immortal; you must keep a reference to the return " "value of :func:`intern` around to benefit from it." @@ -1551,7 +1564,7 @@ msgstr "" "Les chaînes internées ne sont pas immortelles; vous devez garder une " "référence à la valeur renvoyée par :func:`intern` pour en bénéficier." -#: ../Doc/library/sys.rst:847 +#: ../Doc/library/sys.rst:851 msgid "" "Return :const:`True` if the Python interpreter is :term:`shutting down " "`, :const:`False` otherwise." @@ -1559,7 +1572,7 @@ msgstr "" "Donne :const:`True` si l'interpréteur Python est :term:`en train de " "s'arrêter `, et :const:`False` dans le cas contraire." -#: ../Doc/library/sys.rst:857 +#: ../Doc/library/sys.rst:861 msgid "" "These three variables are not always defined; they are set when an exception " "is not handled and the interpreter prints an error message and a stack " @@ -1578,7 +1591,7 @@ msgstr "" "mortem est ``import pdb; pdb.pm()``, voir :mod:`pdb` pour plus " "d'informations.)." -#: ../Doc/library/sys.rst:865 +#: ../Doc/library/sys.rst:869 msgid "" "The meaning of the variables is the same as that of the return values from :" "func:`exc_info` above." @@ -1586,7 +1599,7 @@ msgstr "" "La signification de ces variables est la même que celle des valeurs " "renvoyées par :func:`exc_info` ci-dessus." -#: ../Doc/library/sys.rst:871 +#: ../Doc/library/sys.rst:875 msgid "" "An integer giving the maximum value a variable of type :c:type:`Py_ssize_t` " "can take. It's usually ``2**31 - 1`` on a 32-bit platform and ``2**63 - 1`` " @@ -1596,7 +1609,7 @@ msgstr "" "`Py_ssize_t` peut prendre. C'est typiquement ``2**31 - 1`` sur une " "plateforme 32 bits et ``2**63 - 1``` sur une plateforme 64 bits." -#: ../Doc/library/sys.rst:878 +#: ../Doc/library/sys.rst:882 msgid "" "An integer giving the value of the largest Unicode code point, i.e. " "``1114111`` (``0x10FFFF`` in hexadecimal)." @@ -1604,7 +1617,7 @@ msgstr "" "Un entier donnant la valeur du plus grand point de code Unicode, c'est-à-" "dire ``1114111`` (```0x10FFFF`` en hexadécimal)." -#: ../Doc/library/sys.rst:881 +#: ../Doc/library/sys.rst:885 msgid "" "Before :pep:`393`, ``sys.maxunicode`` used to be either ``0xFFFF`` or " "``0x10FFFF``, depending on the configuration option that specified whether " @@ -1614,7 +1627,7 @@ msgstr "" "``0x10FFFF``, en fonction l'option de configuration qui spécifiait si les " "caractères Unicode étaient stockés en UCS-2 ou UCS-4." -#: ../Doc/library/sys.rst:889 +#: ../Doc/library/sys.rst:893 msgid "" "A list of :term:`meta path finder` objects that have their :meth:`~importlib." "abc.MetaPathFinder.find_spec` methods called to see if one of the objects " @@ -1633,11 +1646,11 @@ msgstr "" "attr:`__path__` du paquet parent est donné en deuxième argument. La méthode " "renvoie un :term:`module spec`, ou ``None`` si le module ne peut être trouvé." -#: ../Doc/library/sys.rst:901 +#: ../Doc/library/sys.rst:905 msgid ":class:`importlib.abc.MetaPathFinder`" msgstr ":class:`importlib.abc.MetaPathFinder`" -#: ../Doc/library/sys.rst:901 +#: ../Doc/library/sys.rst:905 msgid "" "The abstract base class defining the interface of finder objects on :data:" "`meta_path`." @@ -1645,11 +1658,11 @@ msgstr "" "La classe de base abstraite définissant l'interface des objets *finder* de :" "data:`meta_path`." -#: ../Doc/library/sys.rst:905 +#: ../Doc/library/sys.rst:909 msgid ":class:`importlib.machinery.ModuleSpec`" msgstr ":class:`importlib.machinery.ModuleSpec`" -#: ../Doc/library/sys.rst:904 +#: ../Doc/library/sys.rst:908 msgid "" "The concrete class which :meth:`~importlib.abc.MetaPathFinder.find_spec` " "should return instances of." @@ -1657,7 +1670,7 @@ msgstr "" "La classe concrète dont :meth:`~importlib.abc.MetaPathFinder.find_spec` " "devrait renvoyer des instances." -#: ../Doc/library/sys.rst:910 +#: ../Doc/library/sys.rst:914 msgid "" ":term:`Module specs ` were introduced in Python 3.4, by :pep:" "`451`. Earlier versions of Python looked for a method called :meth:" @@ -1671,7 +1684,7 @@ msgstr "" "toujours appelée en dernier recours, dans le cas où une :data:`meta_path` " "n'a pas de méthode :meth:`~importlib.abc.MetaPathFinder.find_spec`." -#: ../Doc/library/sys.rst:918 +#: ../Doc/library/sys.rst:922 msgid "" "This is a dictionary that maps module names to modules which have already " "been loaded. This can be manipulated to force reloading of modules and " @@ -1684,7 +1697,7 @@ msgstr "" "rechargé. Cependant, le remplacer ne fonctionnera pas forcément comme prévu " "et en supprimer des éléments essentiels peut planter Python." -#: ../Doc/library/sys.rst:928 +#: ../Doc/library/sys.rst:932 msgid "" "A list of strings that specifies the search path for modules. Initialized " "from the environment variable :envvar:`PYTHONPATH`, plus an installation-" @@ -1694,7 +1707,7 @@ msgstr "" "modules, initialisée à partir de la variable d'environnement :envvar:" "`PYTHONPATH` et d'une valeur par défaut dépendante de l'installation." -#: ../Doc/library/sys.rst:932 +#: ../Doc/library/sys.rst:936 msgid "" "As initialized upon program startup, the first item of this list, " "``path[0]``, is the directory containing the script that was used to invoke " @@ -1714,7 +1727,7 @@ msgstr "" "actuel. Notez que le dossier du script est inséré *avant* les dossiers de :" "envvar:`PYTHONPATH`." -#: ../Doc/library/sys.rst:940 +#: ../Doc/library/sys.rst:944 msgid "" "A program is free to modify this list for its own purposes. Only strings " "and bytes should be added to :data:`sys.path`; all other data types are " @@ -1724,7 +1737,7 @@ msgstr "" "Seuls des *str* ou des *bytes* ne devraient être ajoutés à :data:`sys.path`, " "tous les autres types de données étant ignorés durant l'importation." -#: ../Doc/library/sys.rst:946 +#: ../Doc/library/sys.rst:950 msgid "" "Module :mod:`site` This describes how to use .pth files to extend :data:`sys." "path`." @@ -1732,7 +1745,7 @@ msgstr "" "Le module :mod:`site` décrit comment utiliser les fichiers *.pth* pour " "étendre :data:`sys.path`." -#: ../Doc/library/sys.rst:952 +#: ../Doc/library/sys.rst:956 msgid "" "A list of callables that take a path argument to try to create a :term:" "`finder` for the path. If a finder can be created, it is to be returned by " @@ -1742,11 +1755,11 @@ msgstr "" "`finder` pour ce chemin. Si un *finder* peut être créé, il doit être renvoyé " "par l'appelable, sinon une :exc:`ImportError` doit être levée." -#: ../Doc/library/sys.rst:956 ../Doc/library/sys.rst:967 +#: ../Doc/library/sys.rst:960 ../Doc/library/sys.rst:971 msgid "Originally specified in :pep:`302`." msgstr "Précisé à l'origine dans la :pep:`302`." -#: ../Doc/library/sys.rst:961 +#: ../Doc/library/sys.rst:965 msgid "" "A dictionary acting as a cache for :term:`finder` objects. The keys are " "paths that have been passed to :data:`sys.path_hooks` and the values are the " @@ -1759,7 +1772,7 @@ msgstr "" "de fichiers mais qu'aucun *finder* n'est trouvé dans :data:`sys.path_hooks`, " "``None`` est stocké." -#: ../Doc/library/sys.rst:969 +#: ../Doc/library/sys.rst:973 msgid "" "``None`` is stored instead of :class:`imp.NullImporter` when no finder is " "found." @@ -1767,7 +1780,7 @@ msgstr "" "``None`` est stocké à la place de :class:`imp.NullImporter` si aucun " "localisateur n'est trouvé." -#: ../Doc/library/sys.rst:976 +#: ../Doc/library/sys.rst:980 msgid "" "This string contains a platform identifier that can be used to append " "platform-specific components to :data:`sys.path`, for instance." @@ -1776,7 +1789,7 @@ msgstr "" "typiquement utilisé pour ajouter des composants spécifiques à :data:`sys." "path`." -#: ../Doc/library/sys.rst:979 +#: ../Doc/library/sys.rst:983 msgid "" "For Unix systems, except on Linux, this is the lowercased OS name as " "returned by ``uname -s`` with the first part of the version as returned by " @@ -1790,51 +1803,51 @@ msgstr "" "moment où Python a été compilé*. A moins que vous ne souhaitiez tester pour " "une version spécifique du système, vous pouvez faire comme suit : ::" -#: ../Doc/library/sys.rst:990 +#: ../Doc/library/sys.rst:994 msgid "For other systems, the values are:" msgstr "Pour les autres systèmes, les valeurs sont:" -#: ../Doc/library/sys.rst:993 +#: ../Doc/library/sys.rst:997 msgid "System" msgstr "Système" -#: ../Doc/library/sys.rst:993 +#: ../Doc/library/sys.rst:997 msgid "``platform`` value" msgstr "Valeur pour ``plateforme``" -#: ../Doc/library/sys.rst:995 +#: ../Doc/library/sys.rst:999 msgid "Linux" msgstr "Linux" -#: ../Doc/library/sys.rst:995 +#: ../Doc/library/sys.rst:999 msgid "``'linux'``" msgstr "``'linux'``" -#: ../Doc/library/sys.rst:996 +#: ../Doc/library/sys.rst:1000 msgid "Windows" msgstr "Windows" -#: ../Doc/library/sys.rst:996 +#: ../Doc/library/sys.rst:1000 msgid "``'win32'``" msgstr "``'win32'``" -#: ../Doc/library/sys.rst:997 +#: ../Doc/library/sys.rst:1001 msgid "Windows/Cygwin" msgstr "Windows/Cygwin" -#: ../Doc/library/sys.rst:997 +#: ../Doc/library/sys.rst:1001 msgid "``'cygwin'``" msgstr "``'cygwin'``" -#: ../Doc/library/sys.rst:998 +#: ../Doc/library/sys.rst:1002 msgid "Mac OS X" msgstr "Mac OS X" -#: ../Doc/library/sys.rst:998 +#: ../Doc/library/sys.rst:1002 msgid "``'darwin'``" msgstr "``'darwin'``" -#: ../Doc/library/sys.rst:1001 +#: ../Doc/library/sys.rst:1005 msgid "" "On Linux, :attr:`sys.platform` doesn't contain the major version anymore. It " "is always ``'linux'``, instead of ``'linux2'`` or ``'linux3'``. Since older " @@ -1846,7 +1859,7 @@ msgstr "" "anciennes versions de Python incluent le numéro de version, il est " "recommandé de toujours utiliser ``startswith``, tel qu'utilisé ci-dessus." -#: ../Doc/library/sys.rst:1009 +#: ../Doc/library/sys.rst:1013 msgid "" ":attr:`os.name` has a coarser granularity. :func:`os.uname` gives system-" "dependent version information." @@ -1854,7 +1867,7 @@ msgstr "" ":attr:`os.name` a une granularité plus grossière. :func:`os.uname` donne des " "informations sur la version dépendantes du système." -#: ../Doc/library/sys.rst:1012 +#: ../Doc/library/sys.rst:1016 msgid "" "The :mod:`platform` module provides detailed checks for the system's " "identity." @@ -1862,7 +1875,7 @@ msgstr "" "Le module :mod:`platform` fournit des vérifications détaillées pour " "l'identité du système." -#: ../Doc/library/sys.rst:1018 +#: ../Doc/library/sys.rst:1022 msgid "" "A string giving the site-specific directory prefix where the platform " "independent Python files are installed; by default, this is the string ``'/" @@ -1883,7 +1896,7 @@ msgstr "" "stockées dans :file:`{prefix}/include/python{X.Y}`, où *X.Y* est le numéro " "de version de Python, par exemple ``3.2``." -#: ../Doc/library/sys.rst:1027 +#: ../Doc/library/sys.rst:1031 msgid "" "If a :ref:`virtual environment ` is in effect, this value will be " "changed in ``site.py`` to point to the virtual environment. The value for " @@ -1894,7 +1907,7 @@ msgstr "" "donnée au moment de la compilation de Python sera toujours disponible, dans :" "data:`base_prefix`." -#: ../Doc/library/sys.rst:1040 +#: ../Doc/library/sys.rst:1044 msgid "" "Strings specifying the primary and secondary prompt of the interpreter. " "These are only defined if the interpreter is in interactive mode. Their " @@ -1911,7 +1924,7 @@ msgstr "" "à lire une nouvelle commande interactive, c'est donc utilisable pour " "implémenter une invite dynamique." -#: ../Doc/library/sys.rst:1050 +#: ../Doc/library/sys.rst:1054 msgid "" "Set the interpreter's \"check interval\". This integer value determines how " "often the interpreter checks for periodic things such as thread switches and " @@ -1931,7 +1944,7 @@ msgstr "" "tâches à chaque instruction virtuelle, maximisant ainsi la réactivité mais " "aussi son surcoût." -#: ../Doc/library/sys.rst:1057 +#: ../Doc/library/sys.rst:1061 msgid "" "This function doesn't have an effect anymore, as the internal logic for " "thread switching and asynchronous tasks has been rewritten. Use :func:" @@ -1941,7 +1954,7 @@ msgstr "" "fils d'exécution et de gestion des tâches asynchrones ayant été réécrite. " "Utilisez :func:`setswitchinterval` à la place." -#: ../Doc/library/sys.rst:1065 +#: ../Doc/library/sys.rst:1069 msgid "" "Set the flags used by the interpreter for :c:func:`dlopen` calls, such as " "when the interpreter loads extension modules. Among other things, this will " @@ -1960,11 +1973,11 @@ msgstr "" "module :mod:`os` (ce sont les constantes ``RTLD_xxx``, comme :data:`os." "RTLD_LAZY`)." -#: ../Doc/library/sys.rst:1073 +#: ../Doc/library/sys.rst:1077 msgid "Availability: Unix." msgstr "Disponibilité : Unix." -#: ../Doc/library/sys.rst:1081 +#: ../Doc/library/sys.rst:1085 msgid "" "Set the system's profile function, which allows you to implement a Python " "source code profiler in Python. See chapter :ref:`profile` for more " @@ -1992,7 +2005,7 @@ msgstr "" "*multithread*. Sa valeur de retour n'est pas utilisée, elle peut simplement " "renvoyer ``None``." -#: ../Doc/library/sys.rst:1092 +#: ../Doc/library/sys.rst:1096 msgid "" "Profile functions should have three arguments: *frame*, *event*, and *arg*. " "*frame* is the current stack frame. *event* is a string: ``'call'``, " @@ -2004,15 +2017,15 @@ msgstr "" "caractères pouvant valoir : ``'call'``, ``'return'``, ``'c_call'``, " "``'c_return'`` ou ``'c_exception'``. *arg* dépend du type de l'évènement." -#: ../Doc/library/sys.rst:1097 ../Doc/library/sys.rst:1177 +#: ../Doc/library/sys.rst:1101 ../Doc/library/sys.rst:1181 msgid "The events have the following meaning:" msgstr "Les événements ont la signification suivante :" -#: ../Doc/library/sys.rst:1101 ../Doc/library/sys.rst:1182 +#: ../Doc/library/sys.rst:1105 ../Doc/library/sys.rst:1186 msgid "``'call'``" msgstr "``'call'``" -#: ../Doc/library/sys.rst:1100 +#: ../Doc/library/sys.rst:1104 msgid "" "A function is called (or some other code block entered). The profile " "function is called; *arg* is ``None``." @@ -2020,11 +2033,11 @@ msgstr "" "Une fonction est appelée (ou Python entre dans un autre bloc de code). La " "fonction de traçage est appelée, *arg* est ``None``." -#: ../Doc/library/sys.rst:1106 ../Doc/library/sys.rst:1197 +#: ../Doc/library/sys.rst:1110 ../Doc/library/sys.rst:1201 msgid "``'return'``" msgstr "``'return'``" -#: ../Doc/library/sys.rst:1104 +#: ../Doc/library/sys.rst:1108 msgid "" "A function (or other code block) is about to return. The profile function " "is called; *arg* is the value that will be returned, or ``None`` if the " @@ -2034,11 +2047,11 @@ msgstr "" "fonction de traçage est appelée, *arg* est la valeur qui sera renvoyée, ou " "``None`` si l'événement est causé par la levée d'une exception." -#: ../Doc/library/sys.rst:1110 +#: ../Doc/library/sys.rst:1114 msgid "``'c_call'``" msgstr "``'c_call'``" -#: ../Doc/library/sys.rst:1109 +#: ../Doc/library/sys.rst:1113 msgid "" "A C function is about to be called. This may be an extension function or a " "built-in. *arg* is the C function object." @@ -2046,23 +2059,23 @@ msgstr "" "Une fonction C est sur le point d'être appelée. C'est soit une fonction " "d'extension ou une fonction native. *arg* représente la fonction C." -#: ../Doc/library/sys.rst:1113 +#: ../Doc/library/sys.rst:1117 msgid "``'c_return'``" msgstr "``'c_return'``" -#: ../Doc/library/sys.rst:1113 +#: ../Doc/library/sys.rst:1117 msgid "A C function has returned. *arg* is the C function object." msgstr "Une fonction C a renvoyé une valeur. *arg* représente la fonction C." -#: ../Doc/library/sys.rst:1115 +#: ../Doc/library/sys.rst:1119 msgid "``'c_exception'``" msgstr "``'c_exception'``" -#: ../Doc/library/sys.rst:1116 +#: ../Doc/library/sys.rst:1120 msgid "A C function has raised an exception. *arg* is the C function object." msgstr "Une fonction C a levé une exception. *arg* représente la fonction C." -#: ../Doc/library/sys.rst:1120 +#: ../Doc/library/sys.rst:1124 msgid "" "Set the maximum depth of the Python interpreter stack to *limit*. This " "limit prevents infinite recursion from causing an overflow of the C stack " @@ -2072,7 +2085,7 @@ msgstr "" "*limit*. Cette limite empêche une récursion infinie de provoquer un " "débordement de la pile C et ainsi un crash de Python." -#: ../Doc/library/sys.rst:1124 +#: ../Doc/library/sys.rst:1128 msgid "" "The highest possible limit is platform-dependent. A user may need to set " "the limit higher when they have a program that requires deep recursion and a " @@ -2084,7 +2097,7 @@ msgstr "" "profonde, si sa plate-forme le permet. Cela doit être fait avec précaution, " "car une limite trop élevée peut conduire à un crash." -#: ../Doc/library/sys.rst:1129 +#: ../Doc/library/sys.rst:1133 msgid "" "If the new limit is too low at the current recursion depth, a :exc:" "`RecursionError` exception is raised." @@ -2092,7 +2105,7 @@ msgstr "" "Si la nouvelle limite est plus basse que la profondeur actuelle, une :exc:" "`RecursionError` est levée." -#: ../Doc/library/sys.rst:1132 +#: ../Doc/library/sys.rst:1136 msgid "" "A :exc:`RecursionError` exception is now raised if the new limit is too low " "at the current recursion depth." @@ -2100,7 +2113,7 @@ msgstr "" "Une :exc:`RecursionError` est maintenant levée si la nouvelle limite est " "plus basse que la profondeur de récursion actuelle." -#: ../Doc/library/sys.rst:1139 +#: ../Doc/library/sys.rst:1143 msgid "" "Set the interpreter's thread switch interval (in seconds). This floating-" "point value determines the ideal duration of the \"timeslices\" allocated to " @@ -2118,7 +2131,7 @@ msgstr "" "d'exécution prenant la main à la fin de l'intervalle revient au système " "d'exploitation. L'interpréteur n'a pas son propre ordonnanceur." -#: ../Doc/library/sys.rst:1156 +#: ../Doc/library/sys.rst:1160 msgid "" "Set the system's trace function, which allows you to implement a Python " "source code debugger in Python. The function is thread-specific; for a " @@ -2131,7 +2144,7 @@ msgstr "" "d'exécution, il doit enregistrer sa fonction en appelant :func:`settrace` " "pour chaque fil d'exécution qu'il souhaite surveiller." -#: ../Doc/library/sys.rst:1161 +#: ../Doc/library/sys.rst:1165 msgid "" "Trace functions should have three arguments: *frame*, *event*, and *arg*. " "*frame* is the current stack frame. *event* is a string: ``'call'``, " @@ -2143,7 +2156,7 @@ msgstr "" "caractères pouvant valoir : ``'call'``, ``'line'``, ``'return'``, " "``'exception'`` ou ``'opcode'``. *arg* dépend du type de l'évènement." -#: ../Doc/library/sys.rst:1166 +#: ../Doc/library/sys.rst:1170 msgid "" "The trace function is invoked (with *event* set to ``'call'``) whenever a " "new local scope is entered; it should return a reference to a local trace " @@ -2154,7 +2167,7 @@ msgstr "" "référence à une fonction de traçage locale à utiliser pour ce *scope*, ou " "``None`` si le *Scope* ne doit pas être tracé." -#: ../Doc/library/sys.rst:1170 +#: ../Doc/library/sys.rst:1174 msgid "" "The local trace function should return a reference to itself (or to another " "function for further tracing in that scope), or ``None`` to turn off tracing " @@ -2164,13 +2177,13 @@ msgstr "" "autre fonction de traçage pour un traçage ultérieur dans cette portée), ou " "``None`` pour désactiver le traçage dans cette portée." -#: ../Doc/library/sys.rst:1174 +#: ../Doc/library/sys.rst:1178 msgid "" "If there is any error occurred in the trace function, it will be unset, just " "like ``settrace(None)`` is called." msgstr "" -#: ../Doc/library/sys.rst:1180 +#: ../Doc/library/sys.rst:1184 msgid "" "A function is called (or some other code block entered). The global trace " "function is called; *arg* is ``None``; the return value specifies the local " @@ -2180,11 +2193,11 @@ msgstr "" "globale est appelée, *arg* est ``None``, la valeur renvoyée donne la " "fonction de traçage locale." -#: ../Doc/library/sys.rst:1191 +#: ../Doc/library/sys.rst:1195 msgid "``'line'``" msgstr "``'line'``" -#: ../Doc/library/sys.rst:1185 +#: ../Doc/library/sys.rst:1189 msgid "" "The interpreter is about to execute a new line of code or re-execute the " "condition of a loop. The local trace function is called; *arg* is ``None``; " @@ -2201,7 +2214,7 @@ msgstr "" "désactivés pour une *frame* en mettant :attr:`f_trace_lines` à :const:" "`False` pour cette *frame*" -#: ../Doc/library/sys.rst:1194 +#: ../Doc/library/sys.rst:1198 msgid "" "A function (or other code block) is about to return. The local trace " "function is called; *arg* is the value that will be returned, or ``None`` if " @@ -2213,11 +2226,11 @@ msgstr "" "renvoyée, ou ``None`` si l'événement est causé par la levée d'une exception. " "La valeur renvoyée par la fonction de traçage est ignorée." -#: ../Doc/library/sys.rst:1202 +#: ../Doc/library/sys.rst:1206 msgid "``'exception'``" msgstr "``'exception'``" -#: ../Doc/library/sys.rst:1200 +#: ../Doc/library/sys.rst:1204 msgid "" "An exception has occurred. The local trace function is called; *arg* is a " "tuple ``(exception, value, traceback)``; the return value specifies the new " @@ -2227,11 +2240,11 @@ msgstr "" "est le *tuple* ``(exception, valeur, traceback)``, la valeur renvoyée " "spécifie la nouvelle fonction de traçage locale." -#: ../Doc/library/sys.rst:1210 +#: ../Doc/library/sys.rst:1214 msgid "``'opcode'``" msgstr "``'opcode'``" -#: ../Doc/library/sys.rst:1205 +#: ../Doc/library/sys.rst:1209 msgid "" "The interpreter is about to execute a new opcode (see :mod:`dis` for opcode " "details). The local trace function is called; *arg* is ``None``; the return " @@ -2246,7 +2259,7 @@ msgstr "" "explicitement requis en mettant :attr:`f_trace_opcodes` à :const:`True` pour " "cette *frame*." -#: ../Doc/library/sys.rst:1212 +#: ../Doc/library/sys.rst:1216 msgid "" "Note that as an exception is propagated down the chain of callers, an " "``'exception'`` event is generated at each level." @@ -2254,13 +2267,13 @@ msgstr "" "Remarquez que, comme une exception se propage au travers de toute chaîne " "d'appelants, un événement ``'exception'`` est généré à chaque niveau." -#: ../Doc/library/sys.rst:1215 +#: ../Doc/library/sys.rst:1219 msgid "For more information on code and frame objects, refer to :ref:`types`." msgstr "" "Pour plus d'informations sur les objets code et objets représentant une " "*frame* de la pile, consultez :ref:`types`." -#: ../Doc/library/sys.rst:1219 +#: ../Doc/library/sys.rst:1223 msgid "" "The :func:`settrace` function is intended only for implementing debuggers, " "profilers, coverage tools and the like. Its behavior is part of the " @@ -2273,13 +2286,13 @@ msgstr "" "que de la définition du langage, et peut donc ne pas être disponible dans " "toutes les implémentations de Python." -#: ../Doc/library/sys.rst:1226 +#: ../Doc/library/sys.rst:1230 msgid "" "``'opcode'`` event type added; :attr:`f_trace_lines` and :attr:" "`f_trace_opcodes` attributes added to frames" msgstr "" -#: ../Doc/library/sys.rst:1231 +#: ../Doc/library/sys.rst:1235 msgid "" "Accepts two optional keyword arguments which are callables that accept an :" "term:`asynchronous generator iterator` as an argument. The *firstiter* " @@ -2293,7 +2306,7 @@ msgstr "" "première fois, et l'appelable *finalizer* sera appelé lorsqu'un générateur " "asynchrone est sur le point d'être détruit." -#: ../Doc/library/sys.rst:1237 +#: ../Doc/library/sys.rst:1241 msgid "" "See :pep:`525` for more details, and for a reference example of a " "*finalizer* method see the implementation of ``asyncio.Loop." @@ -2303,7 +2316,7 @@ msgstr "" "voir l'implémentation de ``asyncio.Loop.shutdown_asyncgens`` dans :source:" "`Lib/asyncio/base_events.py`" -#: ../Doc/library/sys.rst:1249 +#: ../Doc/library/sys.rst:1253 msgid "" "Allows enabling or disabling coroutine origin tracking. When enabled, the " "``cr_origin`` attribute on coroutine objects will contain a tuple of " @@ -2312,18 +2325,18 @@ msgid "" "disabled, ``cr_origin`` will be None." msgstr "" -#: ../Doc/library/sys.rst:1256 +#: ../Doc/library/sys.rst:1260 msgid "" "To enable, pass a *depth* value greater than zero; this sets the number of " "frames whose information will be captured. To disable, pass set *depth* to " "zero." msgstr "" -#: ../Doc/library/sys.rst:1260 +#: ../Doc/library/sys.rst:1264 msgid "This setting is thread-specific." msgstr "" -#: ../Doc/library/sys.rst:1270 +#: ../Doc/library/sys.rst:1274 msgid "" "Allows intercepting creation of :term:`coroutine` objects (only ones that " "are created by an :keyword:`async def` function; generators decorated with :" @@ -2333,36 +2346,36 @@ msgstr "" "créés via :keyword:`async def`, les générateurs décorés par :func:`types." "coroutine` ou :func:`asyncio.coroutine` ne seront pas interceptés)." -#: ../Doc/library/sys.rst:1275 +#: ../Doc/library/sys.rst:1279 msgid "The *wrapper* argument must be either:" msgstr "L'argument *wrapper* doit être soit :" -#: ../Doc/library/sys.rst:1277 +#: ../Doc/library/sys.rst:1281 msgid "a callable that accepts one argument (a coroutine object);" msgstr "un appelable qui accepte un argument (une coroutine);" -#: ../Doc/library/sys.rst:1278 +#: ../Doc/library/sys.rst:1282 msgid "``None``, to reset the wrapper." msgstr "``None``, pour réinitialiser le *wrapper*." -#: ../Doc/library/sys.rst:1280 +#: ../Doc/library/sys.rst:1284 msgid "" "If called twice, the new wrapper replaces the previous one. The function is " "thread-specific." msgstr "S'il est appelé deux fois, le nouveau *wrapper* remplace le précédent." -#: ../Doc/library/sys.rst:1283 +#: ../Doc/library/sys.rst:1287 msgid "" "The *wrapper* callable cannot define new coroutines directly or indirectly::" msgstr "" "L'appelable *wrapper* ne peut pas définir de nouvelles coroutines, ni " "directement, ni indirectement : ::" -#: ../Doc/library/sys.rst:1298 +#: ../Doc/library/sys.rst:1302 msgid "See also :func:`get_coroutine_wrapper`." msgstr "Voir aussi :func:`get_coroutine_wrapper`." -#: ../Doc/library/sys.rst:1313 +#: ../Doc/library/sys.rst:1317 msgid "" "Changes the default filesystem encoding and errors mode to 'mbcs' and " "'replace' respectively, for consistency with versions of Python prior to 3.6." @@ -2371,7 +2384,7 @@ msgstr "" "fichiers à *mbcs* et *replace* respectivement, par cohérence avec les " "versions de Python antérieures à la 3.6." -#: ../Doc/library/sys.rst:1316 +#: ../Doc/library/sys.rst:1320 msgid "" "This is equivalent to defining the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " "environment variable before launching Python." @@ -2379,15 +2392,15 @@ msgstr "" "Équivaut à définir la variable d'environnement :envvar:" "`PYTHONLEGACYWINDOWSFSENCODING` avant de lancer Python." -#: ../Doc/library/sys.rst:1319 +#: ../Doc/library/sys.rst:1323 msgid "Availability: Windows" msgstr "Disponibilité : Windows" -#: ../Doc/library/sys.rst:1321 +#: ../Doc/library/sys.rst:1325 msgid "See :pep:`529` for more details." msgstr "Voir la :pep:`529` pour plus d'informations." -#: ../Doc/library/sys.rst:1328 +#: ../Doc/library/sys.rst:1332 msgid "" ":term:`File objects ` used by the interpreter for standard " "input, output and errors:" @@ -2395,7 +2408,7 @@ msgstr "" ":term:`objects fichier ` utilisé par l'interpréteur pour " "l'entrée standard, la sortie standard, et la sortie d'erreurs." -#: ../Doc/library/sys.rst:1331 +#: ../Doc/library/sys.rst:1335 msgid "" "``stdin`` is used for all interactive input (including calls to :func:" "`input`);" @@ -2403,7 +2416,7 @@ msgstr "" "``stdin`` est utilisé pour toutes les entrées interactives (y compris les " "appels à :func:`input`)" -#: ../Doc/library/sys.rst:1333 +#: ../Doc/library/sys.rst:1337 msgid "" "``stdout`` is used for the output of :func:`print` and :term:`expression` " "statements and for the prompts of :func:`input`;" @@ -2411,13 +2424,13 @@ msgstr "" "``stdout`` est utilisé pour la sortie de :func:`print`, des :term:" "`expression` et pour les invites de :func:`input`." -#: ../Doc/library/sys.rst:1335 +#: ../Doc/library/sys.rst:1339 msgid "The interpreter's own prompts and its error messages go to ``stderr``." msgstr "" "Les invites de l'interpréteur et ses messages d'erreur sont écrits sur " "``stderr``." -#: ../Doc/library/sys.rst:1337 +#: ../Doc/library/sys.rst:1341 msgid "" "These streams are regular :term:`text files ` like those returned " "by the :func:`open` function. Their parameters are chosen as follows:" @@ -2426,7 +2439,7 @@ msgstr "" "renvoyés par la fonction :func:`open`. Leurs paramètres sont choisis comme " "suit :" -#: ../Doc/library/sys.rst:1341 +#: ../Doc/library/sys.rst:1345 msgid "" "The character encoding is platform-dependent. Under Windows, if the stream " "is interactive (that is, if its :meth:`isatty` method returns ``True``), the " @@ -2440,7 +2453,7 @@ msgstr "" "d'autres plateformes, l'encodage local est utilisé (voir :meth:`locale." "getpreferredencoding`)." -#: ../Doc/library/sys.rst:1346 +#: ../Doc/library/sys.rst:1350 msgid "" "Under all platforms though, you can override this value by setting the :" "envvar:`PYTHONIOENCODING` environment variable before starting Python." @@ -2449,7 +2462,7 @@ msgstr "" "en définissant la variable d'environnement :envvar:`PYTHONIOENCODING` avant " "de démarrer Python." -#: ../Doc/library/sys.rst:1349 +#: ../Doc/library/sys.rst:1353 msgid "" "When interactive, ``stdout`` and ``stderr`` streams are line-buffered. " "Otherwise, they are block-buffered like regular text files. You can " @@ -2460,7 +2473,7 @@ msgstr "" "fichiers textes classiques. Vous pouvez remplacer cette valeur avec " "l'option :option:`-u` en ligne de commande." -#: ../Doc/library/sys.rst:1355 +#: ../Doc/library/sys.rst:1359 msgid "" "To write or read binary data from/to the standard streams, use the " "underlying binary :data:`~io.TextIOBase.buffer` object. For example, to " @@ -2471,7 +2484,7 @@ msgstr "" "pour écrire des octets sur :data:`stdout`, utilisez ``sys.stdout.buffer." "write(b'abc')``." -#: ../Doc/library/sys.rst:1359 +#: ../Doc/library/sys.rst:1363 msgid "" "However, if you are writing a library (and do not control in which context " "its code will be executed), be aware that the standard streams may be " @@ -2483,7 +2496,7 @@ msgstr "" "remplacés par des objets de type fichier tel un :class:`io.StringIO` qui " "n'ont pas l'attribut :attr:`~io.BufferedIOBase.buffer`." -#: ../Doc/library/sys.rst:1369 +#: ../Doc/library/sys.rst:1373 msgid "" "These objects contain the original values of ``stdin``, ``stderr`` and " "``stdout`` at the start of the program. They are used during finalization, " @@ -2495,7 +2508,7 @@ msgstr "" "pendant la finalisation, et peuvent être utiles pour écrire dans le vrai " "flux standard, peu importe si l'objet ``sys.std*`` a été redirigé." -#: ../Doc/library/sys.rst:1374 +#: ../Doc/library/sys.rst:1378 msgid "" "It can also be used to restore the actual files to known working file " "objects in case they have been overwritten with a broken object. However, " @@ -2507,7 +2520,7 @@ msgstr "" "cependant la bonne façon de faire serait de sauvegarder explicitement les " "flux avant de les remplacer et ainsi pouvoir les restaurer." -#: ../Doc/library/sys.rst:1380 +#: ../Doc/library/sys.rst:1384 msgid "" "Under some conditions ``stdin``, ``stdout`` and ``stderr`` as well as the " "original values ``__stdin__``, ``__stdout__`` and ``__stderr__`` can be " @@ -2520,7 +2533,7 @@ msgstr "" "Windows qui ne sont pas connectées à une console, ou les applications Python " "démarrées avec :program:`pythonw`." -#: ../Doc/library/sys.rst:1388 +#: ../Doc/library/sys.rst:1392 msgid "" "A :term:`struct sequence` holding information about the thread " "implementation." @@ -2528,52 +2541,52 @@ msgstr "" "Une :term:`struct sequence` contenant des informations sur l'implémentation " "des fils d'exécution." -#: ../Doc/library/sys.rst:1396 +#: ../Doc/library/sys.rst:1400 msgid ":const:`name`" msgstr ":const:`name`" -#: ../Doc/library/sys.rst:1396 +#: ../Doc/library/sys.rst:1400 msgid "Name of the thread implementation:" msgstr "Nom de l'implémentation des fils d'exécution :" -#: ../Doc/library/sys.rst:1398 +#: ../Doc/library/sys.rst:1402 msgid "``'nt'``: Windows threads" msgstr "``'nt'``: Fils d'exécution Windows" -#: ../Doc/library/sys.rst:1399 +#: ../Doc/library/sys.rst:1403 msgid "``'pthread'``: POSIX threads" msgstr "``'pthread'``: Fils d'exécution POSIX" -#: ../Doc/library/sys.rst:1400 +#: ../Doc/library/sys.rst:1404 msgid "``'solaris'``: Solaris threads" msgstr "``'solaris'``: Fils d'exécution Solaris" -#: ../Doc/library/sys.rst:1402 +#: ../Doc/library/sys.rst:1406 msgid ":const:`lock`" msgstr ":const:`lock`" -#: ../Doc/library/sys.rst:1402 +#: ../Doc/library/sys.rst:1406 msgid "Name of the lock implementation:" msgstr "Nom de l'implémentation du système de verrou :" -#: ../Doc/library/sys.rst:1404 +#: ../Doc/library/sys.rst:1408 msgid "``'semaphore'``: a lock uses a semaphore" msgstr "``'semaphore'``: Verrou utilisant une sémaphore" -#: ../Doc/library/sys.rst:1405 +#: ../Doc/library/sys.rst:1409 msgid "``'mutex+cond'``: a lock uses a mutex and a condition variable" msgstr "" "``'mutex+cond'``: Un verrou utilisant un *mutex* et une *condition variable*" -#: ../Doc/library/sys.rst:1407 +#: ../Doc/library/sys.rst:1411 msgid "``None`` if this information is unknown" msgstr "``None`` si cette information n'est pas connue" -#: ../Doc/library/sys.rst:1409 +#: ../Doc/library/sys.rst:1413 msgid ":const:`version`" msgstr ":const:`version`" -#: ../Doc/library/sys.rst:1409 +#: ../Doc/library/sys.rst:1413 msgid "" "Name and version of the thread library. It is a string, or ``None`` if this " "information is unknown." @@ -2581,7 +2594,7 @@ msgstr "" "Nom et version de l'implémentation des fils d'exécution, c'est une chaîne, " "ou ``None`` si ces informations sont inconnues." -#: ../Doc/library/sys.rst:1418 +#: ../Doc/library/sys.rst:1422 msgid "" "When this variable is set to an integer value, it determines the maximum " "number of levels of traceback information printed when an unhandled " @@ -2595,7 +2608,7 @@ msgstr "" "est égale ou inférieure à ``0``, la pile d'appels n'est pas affichée, seul " "seuls le type et la valeur de l'exception sont le sont." -#: ../Doc/library/sys.rst:1426 +#: ../Doc/library/sys.rst:1430 msgid "" "A string containing the version number of the Python interpreter plus " "additional information on the build number and compiler used. This string " @@ -2610,7 +2623,7 @@ msgstr "" "utilisez plutôt :data:`version_info` et les fonctions fournies par le " "module :mod:`platform`." -#: ../Doc/library/sys.rst:1435 +#: ../Doc/library/sys.rst:1439 msgid "" "The C API version for this interpreter. Programmers may find this useful " "when debugging version conflicts between Python and extension modules." @@ -2619,7 +2632,7 @@ msgstr "" "trouver cette information utile en déboguant des conflits de versions entre " "Python et des modules d'extension." -#: ../Doc/library/sys.rst:1441 +#: ../Doc/library/sys.rst:1445 msgid "" "A tuple containing the five components of the version number: *major*, " "*minor*, *micro*, *releaselevel*, and *serial*. All values except " @@ -2637,11 +2650,11 @@ msgstr "" "attributs sont aussi accessibles par leur nom, ainsi ``sys.version_info[0]`` " "est équivalent à ``sys.version_info.major``, et ainsi de suite." -#: ../Doc/library/sys.rst:1449 +#: ../Doc/library/sys.rst:1453 msgid "Added named component attributes." msgstr "Ajout des attributs nommés." -#: ../Doc/library/sys.rst:1454 +#: ../Doc/library/sys.rst:1458 msgid "" "This is an implementation detail of the warnings framework; do not modify " "this value. Refer to the :mod:`warnings` module for more information on the " @@ -2651,7 +2664,7 @@ msgstr "" "Ne modifiez pas cette valeur. Reportez-vous au module :mod:`warnings` pour " "plus d'informations sur le gestionnaire d'avertissements." -#: ../Doc/library/sys.rst:1461 +#: ../Doc/library/sys.rst:1465 msgid "" "The version number used to form registry keys on Windows platforms. This is " "stored as string resource 1000 in the Python DLL. The value is normally the " @@ -2666,7 +2679,7 @@ msgstr "" "d'information, et la modifier n'a aucun effet sur les clés de registre " "utilisées par Python. Disponibilité: Windows." -#: ../Doc/library/sys.rst:1470 +#: ../Doc/library/sys.rst:1474 msgid "" "A dictionary of the various implementation-specific flags passed through " "the :option:`-X` command-line option. Option names are either mapped to " @@ -2677,7 +2690,7 @@ msgstr "" "correspondent soit leur valeur, si elle est donnée explicitement, soit à :" "const:`True`. Exemple:" -#: ../Doc/library/sys.rst:1486 +#: ../Doc/library/sys.rst:1490 msgid "" "This is a CPython-specific way of accessing options passed through :option:`-" "X`. Other implementations may export them through other means, or not at " @@ -2687,11 +2700,11 @@ msgstr "" "l'option :option:`-X`. D'autres implémentations pourraient les exposer par " "d'autres moyens, ou pas du tout." -#: ../Doc/library/sys.rst:1494 +#: ../Doc/library/sys.rst:1498 msgid "Citations" msgstr "Citations" -#: ../Doc/library/sys.rst:1495 +#: ../Doc/library/sys.rst:1499 msgid "" "ISO/IEC 9899:1999. \"Programming languages -- C.\" A public draft of this " "standard is available at http://www.open-std.org/jtc1/sc22/wg14/www/docs/" @@ -2700,9 +2713,3 @@ msgstr "" "ISO/IEC 9899:1999. \"Programming languages -- C.\" A public draft of this " "standard is available at http://www.open-std.org/jtc1/sc22/wg14/www/docs/" "n1256.pdf\\ ." - -#~ msgid "" -#~ "Added ``utf8_mode`` attribute for the new :option:`-X` ``utf8`` flag." -#~ msgstr "" -#~ "Ajout de l'attribut ``utf8_mode`` pour la nouvelle option :option:`-X` " -#~ "``utf8``." diff --git a/library/tabnanny.po b/library/tabnanny.po index 254de662..0c5efc65 100644 --- a/library/tabnanny.po +++ b/library/tabnanny.po @@ -5,16 +5,16 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-08-10 00:49+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-10-04 12:17+0200\n" +"Last-Translator: \n" "Language-Team: FRENCH \n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.1.1\n" -"Last-Translator: \n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"Language: fr\n" #: ../Doc/library/tabnanny.rst:2 msgid ":mod:`tabnanny` --- Detection of ambiguous indentation" diff --git a/library/termios.po b/library/termios.po index f22a6070..992e40de 100644 --- a/library/termios.po +++ b/library/termios.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-01 07:43+0100\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-10-04 16:01+0200\n" +"Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: \n" "X-Generator: Poedit 2.1.1\n" #: ../Doc/library/termios.rst:2 diff --git a/library/tokenize.po b/library/tokenize.po index a2c679c1..ff0169cf 100644 --- a/library/tokenize.po +++ b/library/tokenize.po @@ -5,15 +5,15 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-09-28 10:08+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" "Language: fr\n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" #: ../Doc/library/tokenize.rst:2 msgid ":mod:`tokenize` --- Tokenizer for Python source" diff --git a/library/typing.po b/library/typing.po index 7940386a..c0cc83a4 100644 --- a/library/typing.po +++ b/library/typing.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-08-13 15:13+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -169,81 +169,81 @@ msgid "" "arguments in the type hint: ``Callable[..., ReturnType]``." msgstr "" -#: ../Doc/library/typing.rst:173 +#: ../Doc/library/typing.rst:175 msgid "Generics" msgstr "" -#: ../Doc/library/typing.rst:175 +#: ../Doc/library/typing.rst:177 msgid "" "Since type information about objects kept in containers cannot be statically " "inferred in a generic way, abstract base classes have been extended to " "support subscription to denote expected types for container elements." msgstr "" -#: ../Doc/library/typing.rst:186 +#: ../Doc/library/typing.rst:188 msgid "" -"Generics can be parametrized by using a new factory available in typing " +"Generics can be parameterized by using a new factory available in typing " "called :class:`TypeVar`." msgstr "" -#: ../Doc/library/typing.rst:200 +#: ../Doc/library/typing.rst:202 msgid "User-defined generic types" msgstr "" -#: ../Doc/library/typing.rst:202 +#: ../Doc/library/typing.rst:204 msgid "A user-defined class can be defined as a generic class." msgstr "" -#: ../Doc/library/typing.rst:228 +#: ../Doc/library/typing.rst:230 msgid "" "``Generic[T]`` as a base class defines that the class ``LoggedVar`` takes a " "single type parameter ``T`` . This also makes ``T`` valid as a type within " "the class body." msgstr "" -#: ../Doc/library/typing.rst:232 +#: ../Doc/library/typing.rst:234 msgid "" "The :class:`Generic` base class uses a metaclass that defines :meth:" "`__getitem__` so that ``LoggedVar[t]`` is valid as a type::" msgstr "" -#: ../Doc/library/typing.rst:241 +#: ../Doc/library/typing.rst:243 msgid "" "A generic type can have any number of type variables, and type variables may " "be constrained::" msgstr "" -#: ../Doc/library/typing.rst:253 +#: ../Doc/library/typing.rst:255 msgid "" "Each type variable argument to :class:`Generic` must be distinct. This is " "thus invalid::" msgstr "" -#: ../Doc/library/typing.rst:264 +#: ../Doc/library/typing.rst:266 msgid "You can use multiple inheritance with :class:`Generic`::" msgstr "" -#: ../Doc/library/typing.rst:273 +#: ../Doc/library/typing.rst:275 msgid "" "When inheriting from generic classes, some type variables could be fixed::" msgstr "" -#: ../Doc/library/typing.rst:282 +#: ../Doc/library/typing.rst:284 msgid "In this case ``MyDict`` has a single parameter, ``T``." msgstr "" -#: ../Doc/library/typing.rst:284 +#: ../Doc/library/typing.rst:286 msgid "" "Using a generic class without specifying type parameters assumes :data:`Any` " "for each position. In the following example, ``MyIterable`` is not generic " "but implicitly inherits from ``Iterable[Any]``::" msgstr "" -#: ../Doc/library/typing.rst:292 +#: ../Doc/library/typing.rst:294 msgid "User defined generic type aliases are also supported. Examples::" msgstr "" -#: ../Doc/library/typing.rst:308 +#: ../Doc/library/typing.rst:310 msgid "" "The metaclass used by :class:`Generic` is a subclass of :class:`abc." "ABCMeta`. A generic class can be an ABC by including abstract methods or " @@ -253,24 +253,24 @@ msgid "" "hashable and comparable for equality." msgstr "" -#: ../Doc/library/typing.rst:317 +#: ../Doc/library/typing.rst:319 msgid "The :data:`Any` type" msgstr "" -#: ../Doc/library/typing.rst:319 +#: ../Doc/library/typing.rst:321 msgid "" "A special kind of type is :data:`Any`. A static type checker will treat " "every type as being compatible with :data:`Any` and :data:`Any` as being " "compatible with every type." msgstr "" -#: ../Doc/library/typing.rst:323 +#: ../Doc/library/typing.rst:325 msgid "" "This means that it is possible to perform any operation or method call on a " "value of type on :data:`Any` and assign it to any variable::" msgstr "" -#: ../Doc/library/typing.rst:341 +#: ../Doc/library/typing.rst:343 msgid "" "Notice that no typechecking is performed when assigning a value of type :" "data:`Any` to a more precise type. For example, the static type checker did " @@ -279,19 +279,19 @@ msgid "" "runtime!" msgstr "" -#: ../Doc/library/typing.rst:347 +#: ../Doc/library/typing.rst:349 msgid "" "Furthermore, all functions without a return type or parameter types will " "implicitly default to using :data:`Any`::" msgstr "" -#: ../Doc/library/typing.rst:360 +#: ../Doc/library/typing.rst:362 msgid "" "This behavior allows :data:`Any` to be used as an *escape hatch* when you " "need to mix dynamically and statically typed code." msgstr "" -#: ../Doc/library/typing.rst:363 +#: ../Doc/library/typing.rst:365 msgid "" "Contrast the behavior of :data:`Any` with the behavior of :class:`object`. " "Similar to :data:`Any`, every type is a subtype of :class:`object`. However, " @@ -299,7 +299,7 @@ msgid "" "subtype of every other type." msgstr "" -#: ../Doc/library/typing.rst:368 +#: ../Doc/library/typing.rst:370 msgid "" "That means when the type of a value is :class:`object`, a type checker will " "reject almost all operations on it, and assigning it to a variable (or using " @@ -307,29 +307,29 @@ msgid "" "example::" msgstr "" -#: ../Doc/library/typing.rst:390 +#: ../Doc/library/typing.rst:392 msgid "" "Use :class:`object` to indicate that a value could be any type in a typesafe " "manner. Use :data:`Any` to indicate that a value is dynamically typed." msgstr "" -#: ../Doc/library/typing.rst:394 +#: ../Doc/library/typing.rst:396 msgid "Classes, functions, and decorators" msgstr "" -#: ../Doc/library/typing.rst:396 +#: ../Doc/library/typing.rst:398 msgid "The module defines the following classes, functions and decorators:" msgstr "" -#: ../Doc/library/typing.rst:400 +#: ../Doc/library/typing.rst:402 msgid "Type variable." msgstr "" -#: ../Doc/library/typing.rst:402 ../Doc/library/typing.rst:809 +#: ../Doc/library/typing.rst:404 ../Doc/library/typing.rst:812 msgid "Usage::" msgstr "Utilisation ::" -#: ../Doc/library/typing.rst:407 +#: ../Doc/library/typing.rst:409 msgid "" "Type variables exist primarily for the benefit of static type checkers. " "They serve as the parameters for generic types as well as for generic " @@ -337,7 +337,7 @@ msgid "" "types. Generic functions work as follows::" msgstr "" -#: ../Doc/library/typing.rst:420 +#: ../Doc/library/typing.rst:422 msgid "" "The latter example's signature is essentially the overloading of ``(str, " "str) -> str`` and ``(bytes, bytes) -> bytes``. Also note that if the " @@ -345,13 +345,13 @@ msgid "" "still plain :class:`str`." msgstr "" -#: ../Doc/library/typing.rst:425 +#: ../Doc/library/typing.rst:427 msgid "" "At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`. In general, :" "func:`isinstance` and :func:`issubclass` should not be used with types." msgstr "" -#: ../Doc/library/typing.rst:428 +#: ../Doc/library/typing.rst:430 msgid "" "Type variables may be marked covariant or contravariant by passing " "``covariant=True`` or ``contravariant=True``. See :pep:`484` for more " @@ -361,22 +361,22 @@ msgid "" "must be a subclass of the boundary type, see :pep:`484`." msgstr "" -#: ../Doc/library/typing.rst:438 +#: ../Doc/library/typing.rst:440 msgid "Abstract base class for generic types." msgstr "" -#: ../Doc/library/typing.rst:440 +#: ../Doc/library/typing.rst:442 msgid "" "A generic type is typically declared by inheriting from an instantiation of " "this class with one or more type variables. For example, a generic mapping " "type might be defined as::" msgstr "" -#: ../Doc/library/typing.rst:449 +#: ../Doc/library/typing.rst:451 msgid "This class can then be used as follows::" msgstr "" -#: ../Doc/library/typing.rst:462 +#: ../Doc/library/typing.rst:464 msgid "" "A variable annotated with ``C`` may accept a value of type ``C``. In " "contrast, a variable annotated with ``Type[C]`` may accept values that are " @@ -384,11 +384,11 @@ msgid "" "``C``. For example::" msgstr "" -#: ../Doc/library/typing.rst:471 +#: ../Doc/library/typing.rst:473 msgid "Note that ``Type[C]`` is covariant::" msgstr "" -#: ../Doc/library/typing.rst:483 +#: ../Doc/library/typing.rst:485 msgid "" "The fact that ``Type[C]`` is covariant implies that all subclasses of ``C`` " "should implement the same constructor signature and class method signatures " @@ -398,281 +398,281 @@ msgid "" "particular case may change in future revisions of :pep:`484`." msgstr "" -#: ../Doc/library/typing.rst:491 +#: ../Doc/library/typing.rst:493 msgid "" -"The only legal parameters for :class:`Type` are classes, unions of classes, " -"and :data:`Any`. For example::" +"The only legal parameters for :class:`Type` are classes, :data:`Any`, :ref:" +"`type variables `, and unions of any of these types. For example::" msgstr "" -#: ../Doc/library/typing.rst:496 +#: ../Doc/library/typing.rst:499 msgid "" "``Type[Any]`` is equivalent to ``Type`` which in turn is equivalent to " "``type``, which is the root of Python's metaclass hierarchy." msgstr "" -#: ../Doc/library/typing.rst:503 +#: ../Doc/library/typing.rst:506 msgid "A generic version of :class:`collections.abc.Iterable`." msgstr "" -#: ../Doc/library/typing.rst:507 +#: ../Doc/library/typing.rst:510 msgid "A generic version of :class:`collections.abc.Iterator`." msgstr "" -#: ../Doc/library/typing.rst:511 +#: ../Doc/library/typing.rst:514 msgid "A generic version of :class:`collections.abc.Reversible`." msgstr "" -#: ../Doc/library/typing.rst:515 +#: ../Doc/library/typing.rst:518 msgid "An ABC with one abstract method ``__int__``." msgstr "" -#: ../Doc/library/typing.rst:519 +#: ../Doc/library/typing.rst:522 msgid "An ABC with one abstract method ``__float__``." msgstr "" -#: ../Doc/library/typing.rst:523 +#: ../Doc/library/typing.rst:526 msgid "An ABC with one abstract method ``__complex__``." msgstr "" -#: ../Doc/library/typing.rst:527 +#: ../Doc/library/typing.rst:530 msgid "An ABC with one abstract method ``__bytes__``." msgstr "" -#: ../Doc/library/typing.rst:531 +#: ../Doc/library/typing.rst:534 msgid "" "An ABC with one abstract method ``__abs__`` that is covariant in its return " "type." msgstr "" -#: ../Doc/library/typing.rst:536 +#: ../Doc/library/typing.rst:539 msgid "" "An ABC with one abstract method ``__round__`` that is covariant in its " "return type." msgstr "" -#: ../Doc/library/typing.rst:541 +#: ../Doc/library/typing.rst:544 msgid "A generic version of :class:`collections.abc.Container`." msgstr "" -#: ../Doc/library/typing.rst:545 +#: ../Doc/library/typing.rst:548 msgid "An alias to :class:`collections.abc.Hashable`" msgstr "" -#: ../Doc/library/typing.rst:549 +#: ../Doc/library/typing.rst:552 msgid "An alias to :class:`collections.abc.Sized`" msgstr "" -#: ../Doc/library/typing.rst:553 +#: ../Doc/library/typing.rst:556 msgid "A generic version of :class:`collections.abc.Collection`" msgstr "" -#: ../Doc/library/typing.rst:559 +#: ../Doc/library/typing.rst:562 msgid "A generic version of :class:`collections.abc.Set`." msgstr "" -#: ../Doc/library/typing.rst:563 +#: ../Doc/library/typing.rst:566 msgid "A generic version of :class:`collections.abc.MutableSet`." msgstr "" -#: ../Doc/library/typing.rst:567 +#: ../Doc/library/typing.rst:570 msgid "A generic version of :class:`collections.abc.Mapping`." msgstr "" -#: ../Doc/library/typing.rst:571 +#: ../Doc/library/typing.rst:574 msgid "A generic version of :class:`collections.abc.MutableMapping`." msgstr "" -#: ../Doc/library/typing.rst:575 +#: ../Doc/library/typing.rst:578 msgid "A generic version of :class:`collections.abc.Sequence`." msgstr "" -#: ../Doc/library/typing.rst:579 +#: ../Doc/library/typing.rst:582 msgid "A generic version of :class:`collections.abc.MutableSequence`." msgstr "" -#: ../Doc/library/typing.rst:583 +#: ../Doc/library/typing.rst:586 msgid "A generic version of :class:`collections.abc.ByteString`." msgstr "" -#: ../Doc/library/typing.rst:585 +#: ../Doc/library/typing.rst:588 msgid "" "This type represents the types :class:`bytes`, :class:`bytearray`, and :" "class:`memoryview`." msgstr "" -#: ../Doc/library/typing.rst:588 +#: ../Doc/library/typing.rst:591 msgid "" "As a shorthand for this type, :class:`bytes` can be used to annotate " "arguments of any of the types mentioned above." msgstr "" -#: ../Doc/library/typing.rst:593 +#: ../Doc/library/typing.rst:596 msgid "A generic version of :class:`collections.deque`." msgstr "" -#: ../Doc/library/typing.rst:599 +#: ../Doc/library/typing.rst:602 msgid "" "Generic version of :class:`list`. Useful for annotating return types. To " "annotate arguments it is preferred to use abstract collection types such as :" "class:`Mapping`, :class:`Sequence`, or :class:`AbstractSet`." msgstr "" -#: ../Doc/library/typing.rst:604 +#: ../Doc/library/typing.rst:607 msgid "This type may be used as follows::" msgstr "" -#: ../Doc/library/typing.rst:616 +#: ../Doc/library/typing.rst:619 msgid "A generic version of :class:`builtins.set `." msgstr "" -#: ../Doc/library/typing.rst:620 +#: ../Doc/library/typing.rst:623 msgid "A generic version of :class:`builtins.frozenset `." msgstr "" -#: ../Doc/library/typing.rst:624 +#: ../Doc/library/typing.rst:627 msgid "A generic version of :class:`collections.abc.MappingView`." msgstr "" -#: ../Doc/library/typing.rst:628 +#: ../Doc/library/typing.rst:631 msgid "A generic version of :class:`collections.abc.KeysView`." msgstr "" -#: ../Doc/library/typing.rst:632 +#: ../Doc/library/typing.rst:635 msgid "A generic version of :class:`collections.abc.ItemsView`." msgstr "" -#: ../Doc/library/typing.rst:636 +#: ../Doc/library/typing.rst:639 msgid "A generic version of :class:`collections.abc.ValuesView`." msgstr "" -#: ../Doc/library/typing.rst:640 +#: ../Doc/library/typing.rst:643 msgid "A generic version of :class:`collections.abc.Awaitable`." msgstr "" -#: ../Doc/library/typing.rst:644 +#: ../Doc/library/typing.rst:647 msgid "" "A generic version of :class:`collections.abc.Coroutine`. The variance and " "order of type variables correspond to those of :class:`Generator`, for " "example::" msgstr "" -#: ../Doc/library/typing.rst:657 +#: ../Doc/library/typing.rst:660 msgid "A generic version of :class:`collections.abc.AsyncIterable`." msgstr "" -#: ../Doc/library/typing.rst:661 +#: ../Doc/library/typing.rst:664 msgid "A generic version of :class:`collections.abc.AsyncIterator`." msgstr "" -#: ../Doc/library/typing.rst:665 +#: ../Doc/library/typing.rst:668 msgid "A generic version of :class:`contextlib.AbstractContextManager`." msgstr "" -#: ../Doc/library/typing.rst:671 +#: ../Doc/library/typing.rst:674 msgid "A generic version of :class:`contextlib.AbstractAsyncContextManager`." msgstr "" -#: ../Doc/library/typing.rst:677 +#: ../Doc/library/typing.rst:680 msgid "" "A generic version of :class:`dict`. The usage of this type is as follows::" msgstr "" -#: ../Doc/library/typing.rst:685 +#: ../Doc/library/typing.rst:688 msgid "A generic version of :class:`collections.defaultdict`." msgstr "" -#: ../Doc/library/typing.rst:691 +#: ../Doc/library/typing.rst:694 msgid "A generic version of :class:`collections.Counter`." msgstr "" -#: ../Doc/library/typing.rst:697 +#: ../Doc/library/typing.rst:700 msgid "A generic version of :class:`collections.ChainMap`." msgstr "" -#: ../Doc/library/typing.rst:703 +#: ../Doc/library/typing.rst:706 msgid "" "A generator can be annotated by the generic type ``Generator[YieldType, " "SendType, ReturnType]``. For example::" msgstr "" -#: ../Doc/library/typing.rst:712 +#: ../Doc/library/typing.rst:715 msgid "" "Note that unlike many other generics in the typing module, the ``SendType`` " "of :class:`Generator` behaves contravariantly, not covariantly or " "invariantly." msgstr "" -#: ../Doc/library/typing.rst:716 +#: ../Doc/library/typing.rst:719 msgid "" "If your generator will only yield values, set the ``SendType`` and " "``ReturnType`` to ``None``::" msgstr "" -#: ../Doc/library/typing.rst:724 +#: ../Doc/library/typing.rst:727 msgid "" "Alternatively, annotate your generator as having a return type of either " "``Iterable[YieldType]`` or ``Iterator[YieldType]``::" msgstr "" -#: ../Doc/library/typing.rst:734 +#: ../Doc/library/typing.rst:737 msgid "" "An async generator can be annotated by the generic type " "``AsyncGenerator[YieldType, SendType]``. For example::" msgstr "" -#: ../Doc/library/typing.rst:743 +#: ../Doc/library/typing.rst:746 msgid "" "Unlike normal generators, async generators cannot return a value, so there " "is no ``ReturnType`` type parameter. As with :class:`Generator`, the " "``SendType`` behaves contravariantly." msgstr "" -#: ../Doc/library/typing.rst:747 +#: ../Doc/library/typing.rst:750 msgid "" "If your generator will only yield values, set the ``SendType`` to ``None``::" msgstr "" -#: ../Doc/library/typing.rst:755 +#: ../Doc/library/typing.rst:758 msgid "" "Alternatively, annotate your generator as having a return type of either " "``AsyncIterable[YieldType]`` or ``AsyncIterator[YieldType]``::" msgstr "" -#: ../Doc/library/typing.rst:767 +#: ../Doc/library/typing.rst:770 msgid "" "``Text`` is an alias for ``str``. It is provided to supply a forward " "compatible path for Python 2 code: in Python 2, ``Text`` is an alias for " "``unicode``." msgstr "" -#: ../Doc/library/typing.rst:771 +#: ../Doc/library/typing.rst:774 msgid "" "Use ``Text`` to indicate that a value must contain a unicode string in a " "manner that is compatible with both Python 2 and Python 3::" msgstr "" -#: ../Doc/library/typing.rst:781 +#: ../Doc/library/typing.rst:784 msgid "Wrapper namespace for I/O stream types." msgstr "" -#: ../Doc/library/typing.rst:783 +#: ../Doc/library/typing.rst:786 msgid "" "This defines the generic type ``IO[AnyStr]`` and subclasses ``TextIO`` and " "``BinaryIO``, deriving from ``IO[str]`` and ``IO[bytes]``, respectively. " "These represent the types of I/O streams such as returned by :func:`open`." msgstr "" -#: ../Doc/library/typing.rst:788 +#: ../Doc/library/typing.rst:791 msgid "" "These types are also accessible directly as ``typing.IO``, ``typing." "TextIO``, and ``typing.BinaryIO``." msgstr "" -#: ../Doc/library/typing.rst:793 +#: ../Doc/library/typing.rst:796 msgid "Wrapper namespace for regular expression matching types." msgstr "" -#: ../Doc/library/typing.rst:795 +#: ../Doc/library/typing.rst:798 msgid "" "This defines the type aliases ``Pattern`` and ``Match`` which correspond to " "the return types from :func:`re.compile` and :func:`re.match`. These types " @@ -681,31 +681,31 @@ msgid "" "``Match[bytes]``." msgstr "" -#: ../Doc/library/typing.rst:802 +#: ../Doc/library/typing.rst:805 msgid "" "These types are also accessible directly as ``typing.Pattern`` and ``typing." "Match``." msgstr "" -#: ../Doc/library/typing.rst:807 +#: ../Doc/library/typing.rst:810 msgid "Typed version of namedtuple." msgstr "" -#: ../Doc/library/typing.rst:815 +#: ../Doc/library/typing.rst:818 msgid "This is equivalent to::" msgstr "C’est équivalent à ::" -#: ../Doc/library/typing.rst:819 +#: ../Doc/library/typing.rst:822 msgid "" "To give a field a default value, you can assign to it in the class body::" msgstr "" -#: ../Doc/library/typing.rst:828 +#: ../Doc/library/typing.rst:831 msgid "" "Fields with a default value must come after any fields without a default." msgstr "" -#: ../Doc/library/typing.rst:830 +#: ../Doc/library/typing.rst:833 msgid "" "The resulting class has two extra attributes: ``_field_types``, giving a " "dict mapping field names to types, and ``_field_defaults``, a dict mapping " @@ -713,47 +713,47 @@ msgid "" "attribute, which is part of the namedtuple API.)" msgstr "" -#: ../Doc/library/typing.rst:835 +#: ../Doc/library/typing.rst:838 msgid "``NamedTuple`` subclasses can also have docstrings and methods::" msgstr "" -#: ../Doc/library/typing.rst:845 +#: ../Doc/library/typing.rst:848 msgid "Backward-compatible usage::" msgstr "" -#: ../Doc/library/typing.rst:849 +#: ../Doc/library/typing.rst:852 msgid "Added support for :pep:`526` variable annotation syntax." msgstr "" -#: ../Doc/library/typing.rst:852 +#: ../Doc/library/typing.rst:855 msgid "Added support for default values, methods, and docstrings." msgstr "" -#: ../Doc/library/typing.rst:857 +#: ../Doc/library/typing.rst:860 msgid "" "A helper function to indicate a distinct types to a typechecker, see :ref:" "`distinct`. At runtime it returns a function that returns its argument. " "Usage::" msgstr "" -#: ../Doc/library/typing.rst:868 +#: ../Doc/library/typing.rst:871 msgid "Cast a value to a type." msgstr "" -#: ../Doc/library/typing.rst:870 +#: ../Doc/library/typing.rst:873 msgid "" "This returns the value unchanged. To the type checker this signals that the " "return value has the designated type, but at runtime we intentionally don't " "check anything (we want this to be as fast as possible)." msgstr "" -#: ../Doc/library/typing.rst:877 +#: ../Doc/library/typing.rst:880 msgid "" "Return a dictionary containing type hints for a function, method, module or " "class object." msgstr "" -#: ../Doc/library/typing.rst:880 +#: ../Doc/library/typing.rst:883 msgid "" "This is often the same as ``obj.__annotations__``. In addition, forward " "references encoded as string literals are handled by evaluating them in " @@ -763,7 +763,7 @@ msgid "" "merging all the ``__annotations__`` along ``C.__mro__`` in reverse order." msgstr "" -#: ../Doc/library/typing.rst:890 +#: ../Doc/library/typing.rst:893 msgid "" "The ``@overload`` decorator allows describing functions and methods that " "support multiple different combinations of argument types. A series of " @@ -778,104 +778,104 @@ msgid "" "variable::" msgstr "" -#: ../Doc/library/typing.rst:914 +#: ../Doc/library/typing.rst:917 msgid "See :pep:`484` for details and comparison with other typing semantics." msgstr "" -#: ../Doc/library/typing.rst:918 +#: ../Doc/library/typing.rst:921 msgid "Decorator to indicate that annotations are not type hints." msgstr "" -#: ../Doc/library/typing.rst:920 +#: ../Doc/library/typing.rst:923 msgid "" "This works as class or function :term:`decorator`. With a class, it applies " "recursively to all methods defined in that class (but not to methods defined " "in its superclasses or subclasses)." msgstr "" -#: ../Doc/library/typing.rst:924 +#: ../Doc/library/typing.rst:927 msgid "This mutates the function(s) in place." msgstr "" -#: ../Doc/library/typing.rst:928 +#: ../Doc/library/typing.rst:931 msgid "Decorator to give another decorator the :func:`no_type_check` effect." msgstr "" -#: ../Doc/library/typing.rst:930 +#: ../Doc/library/typing.rst:933 msgid "" "This wraps the decorator with something that wraps the decorated function " "in :func:`no_type_check`." msgstr "" -#: ../Doc/library/typing.rst:935 +#: ../Doc/library/typing.rst:938 msgid "Special type indicating an unconstrained type." msgstr "" -#: ../Doc/library/typing.rst:937 +#: ../Doc/library/typing.rst:940 msgid "Every type is compatible with :data:`Any`." msgstr "" -#: ../Doc/library/typing.rst:938 +#: ../Doc/library/typing.rst:941 msgid ":data:`Any` is compatible with every type." msgstr "" -#: ../Doc/library/typing.rst:942 +#: ../Doc/library/typing.rst:945 msgid "Special type indicating that a function never returns. For example::" msgstr "" -#: ../Doc/library/typing.rst:954 +#: ../Doc/library/typing.rst:957 msgid "Union type; ``Union[X, Y]`` means either X or Y." msgstr "" -#: ../Doc/library/typing.rst:956 +#: ../Doc/library/typing.rst:959 msgid "To define a union, use e.g. ``Union[int, str]``. Details:" msgstr "" -#: ../Doc/library/typing.rst:958 +#: ../Doc/library/typing.rst:961 msgid "The arguments must be types and there must be at least one." msgstr "" -#: ../Doc/library/typing.rst:960 +#: ../Doc/library/typing.rst:963 msgid "Unions of unions are flattened, e.g.::" msgstr "" -#: ../Doc/library/typing.rst:964 +#: ../Doc/library/typing.rst:967 msgid "Unions of a single argument vanish, e.g.::" msgstr "" -#: ../Doc/library/typing.rst:968 +#: ../Doc/library/typing.rst:971 msgid "Redundant arguments are skipped, e.g.::" msgstr "" -#: ../Doc/library/typing.rst:972 +#: ../Doc/library/typing.rst:975 msgid "When comparing unions, the argument order is ignored, e.g.::" msgstr "" -#: ../Doc/library/typing.rst:976 +#: ../Doc/library/typing.rst:979 msgid "You cannot subclass or instantiate a union." msgstr "" -#: ../Doc/library/typing.rst:978 +#: ../Doc/library/typing.rst:981 msgid "You cannot write ``Union[X][Y]``." msgstr "" -#: ../Doc/library/typing.rst:980 +#: ../Doc/library/typing.rst:983 msgid "You can use ``Optional[X]`` as a shorthand for ``Union[X, None]``." msgstr "" -#: ../Doc/library/typing.rst:982 +#: ../Doc/library/typing.rst:985 msgid "Don't remove explicit subclasses from unions at runtime." msgstr "" -#: ../Doc/library/typing.rst:987 +#: ../Doc/library/typing.rst:990 msgid "Optional type." msgstr "" -#: ../Doc/library/typing.rst:989 +#: ../Doc/library/typing.rst:992 msgid "``Optional[X]`` is equivalent to ``Union[X, None]``." msgstr "" -#: ../Doc/library/typing.rst:991 +#: ../Doc/library/typing.rst:994 msgid "" "Note that this is not the same concept as an optional argument, which is one " "that has a default. An optional argument with a default does not require " @@ -883,45 +883,45 @@ msgid "" "optional. For example::" msgstr "" -#: ../Doc/library/typing.rst:999 +#: ../Doc/library/typing.rst:1002 msgid "" "On the other hand, if an explicit value of ``None`` is allowed, the use of " "``Optional`` is appropriate, whether the argument is optional or not. For " "example::" msgstr "" -#: ../Doc/library/typing.rst:1008 +#: ../Doc/library/typing.rst:1011 msgid "" "Tuple type; ``Tuple[X, Y]`` is the type of a tuple of two items with the " "first item of type X and the second of type Y." msgstr "" -#: ../Doc/library/typing.rst:1011 +#: ../Doc/library/typing.rst:1014 msgid "" "Example: ``Tuple[T1, T2]`` is a tuple of two elements corresponding to type " "variables T1 and T2. ``Tuple[int, float, str]`` is a tuple of an int, a " "float and a string." msgstr "" -#: ../Doc/library/typing.rst:1015 +#: ../Doc/library/typing.rst:1018 msgid "" "To specify a variable-length tuple of homogeneous type, use literal " "ellipsis, e.g. ``Tuple[int, ...]``. A plain :data:`Tuple` is equivalent to " "``Tuple[Any, ...]``, and in turn to :class:`tuple`." msgstr "" -#: ../Doc/library/typing.rst:1021 +#: ../Doc/library/typing.rst:1024 msgid "Callable type; ``Callable[[int], str]`` is a function of (int) -> str." msgstr "" -#: ../Doc/library/typing.rst:1023 +#: ../Doc/library/typing.rst:1026 msgid "" "The subscription syntax must always be used with exactly two values: the " "argument list and the return type. The argument list must be a list of " "types or an ellipsis; the return type must be a single type." msgstr "" -#: ../Doc/library/typing.rst:1028 +#: ../Doc/library/typing.rst:1031 msgid "" "There is no syntax to indicate optional or keyword arguments; such function " "types are rarely used as callback types. ``Callable[..., ReturnType]`` " @@ -931,22 +931,22 @@ msgid "" "Callable`." msgstr "" -#: ../Doc/library/typing.rst:1038 +#: ../Doc/library/typing.rst:1041 msgid "Special type construct to mark class variables." msgstr "" -#: ../Doc/library/typing.rst:1040 +#: ../Doc/library/typing.rst:1043 msgid "" "As introduced in :pep:`526`, a variable annotation wrapped in ClassVar " "indicates that a given attribute is intended to be used as a class variable " "and should not be set on instances of that class. Usage::" msgstr "" -#: ../Doc/library/typing.rst:1048 +#: ../Doc/library/typing.rst:1051 msgid ":data:`ClassVar` accepts only types and cannot be further subscribed." msgstr "" -#: ../Doc/library/typing.rst:1050 +#: ../Doc/library/typing.rst:1053 msgid "" ":data:`ClassVar` is not a class itself, and should not be used with :func:" "`isinstance` or :func:`issubclass`. :data:`ClassVar` does not change Python " @@ -954,25 +954,25 @@ msgid "" "example, a type checker might flag the following code as an error::" msgstr "" -#: ../Doc/library/typing.rst:1064 +#: ../Doc/library/typing.rst:1067 msgid "" "``AnyStr`` is a type variable defined as ``AnyStr = TypeVar('AnyStr', str, " "bytes)``." msgstr "" -#: ../Doc/library/typing.rst:1067 +#: ../Doc/library/typing.rst:1070 msgid "" "It is meant to be used for functions that may accept any kind of string " "without allowing different kinds of strings to mix. For example::" msgstr "" -#: ../Doc/library/typing.rst:1079 +#: ../Doc/library/typing.rst:1082 msgid "" "A special constant that is assumed to be ``True`` by 3rd party static type " "checkers. It is ``False`` at runtime. Usage::" msgstr "" -#: ../Doc/library/typing.rst:1088 +#: ../Doc/library/typing.rst:1091 msgid "" "Note that the first type annotation must be enclosed in quotes, making it a " "\"forward reference\", to hide the ``expensive_mod`` reference from the " diff --git a/library/unicodedata.po b/library/unicodedata.po index 95c26e88..591499cb 100644 --- a/library/unicodedata.po +++ b/library/unicodedata.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-10-11 17:16+0200\n" +"Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: \n" "X-Generator: Poedit 1.8.7.1\n" #: ../Doc/library/unicodedata.rst:2 diff --git a/library/xml.dom.pulldom.po b/library/xml.dom.pulldom.po index d1b5d721..b8199b0f 100644 --- a/library/xml.dom.pulldom.po +++ b/library/xml.dom.pulldom.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-05-27 19:40+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -41,53 +41,60 @@ msgid "" "see :ref:`xml-vulnerabilities`." msgstr "" -#: ../Doc/library/xml.dom.pulldom.rst:29 +#: ../Doc/library/xml.dom.pulldom.rst:30 +msgid "" +"The SAX parser no longer processes general external entities by default to " +"increase security by default. To enable processing of external entities, " +"pass a custom parser instance in::" +msgstr "" + +#: ../Doc/library/xml.dom.pulldom.rst:43 msgid "Example::" msgstr "Exemple ::" -#: ../Doc/library/xml.dom.pulldom.rst:40 +#: ../Doc/library/xml.dom.pulldom.rst:54 msgid "``event`` is a constant and can be one of:" msgstr "" -#: ../Doc/library/xml.dom.pulldom.rst:42 +#: ../Doc/library/xml.dom.pulldom.rst:56 msgid ":data:`START_ELEMENT`" msgstr ":data:`START_ELEMENT`" -#: ../Doc/library/xml.dom.pulldom.rst:43 +#: ../Doc/library/xml.dom.pulldom.rst:57 msgid ":data:`END_ELEMENT`" msgstr ":data:`END_ELEMENT`" -#: ../Doc/library/xml.dom.pulldom.rst:44 +#: ../Doc/library/xml.dom.pulldom.rst:58 msgid ":data:`COMMENT`" msgstr ":data:`COMMENT`" -#: ../Doc/library/xml.dom.pulldom.rst:45 +#: ../Doc/library/xml.dom.pulldom.rst:59 msgid ":data:`START_DOCUMENT`" msgstr ":data:`START_DOCUMENT`" -#: ../Doc/library/xml.dom.pulldom.rst:46 +#: ../Doc/library/xml.dom.pulldom.rst:60 msgid ":data:`END_DOCUMENT`" msgstr ":data:`END_DOCUMENT`" -#: ../Doc/library/xml.dom.pulldom.rst:47 +#: ../Doc/library/xml.dom.pulldom.rst:61 msgid ":data:`CHARACTERS`" msgstr ":data:`CHARACTERS`" -#: ../Doc/library/xml.dom.pulldom.rst:48 +#: ../Doc/library/xml.dom.pulldom.rst:62 msgid ":data:`PROCESSING_INSTRUCTION`" msgstr ":data:`PROCESSING_INSTRUCTION`" -#: ../Doc/library/xml.dom.pulldom.rst:49 +#: ../Doc/library/xml.dom.pulldom.rst:63 msgid ":data:`IGNORABLE_WHITESPACE`" msgstr ":data:`IGNORABLE_WHITESPACE`" -#: ../Doc/library/xml.dom.pulldom.rst:51 +#: ../Doc/library/xml.dom.pulldom.rst:65 msgid "" "``node`` is an object of type :class:`xml.dom.minidom.Document`, :class:`xml." "dom.minidom.Element` or :class:`xml.dom.minidom.Text`." msgstr "" -#: ../Doc/library/xml.dom.pulldom.rst:54 +#: ../Doc/library/xml.dom.pulldom.rst:68 msgid "" "Since the document is treated as a \"flat\" stream of events, the document " "\"tree\" is implicitly traversed and the desired elements are found " @@ -99,11 +106,11 @@ msgid "" "`DOMEventStream.expandNode` method and switch to DOM-related processing." msgstr "" -#: ../Doc/library/xml.dom.pulldom.rst:66 ../Doc/library/xml.dom.pulldom.rst:71 +#: ../Doc/library/xml.dom.pulldom.rst:80 ../Doc/library/xml.dom.pulldom.rst:85 msgid "Subclass of :class:`xml.sax.handler.ContentHandler`." msgstr "" -#: ../Doc/library/xml.dom.pulldom.rst:76 +#: ../Doc/library/xml.dom.pulldom.rst:90 msgid "" "Return a :class:`DOMEventStream` from the given input. *stream_or_string* " "may be either a file name, or a file-like object. *parser*, if given, must " @@ -113,32 +120,32 @@ msgid "" "done in advance." msgstr "" -#: ../Doc/library/xml.dom.pulldom.rst:83 +#: ../Doc/library/xml.dom.pulldom.rst:97 msgid "" "If you have XML in a string, you can use the :func:`parseString` function " "instead:" msgstr "" -#: ../Doc/library/xml.dom.pulldom.rst:87 +#: ../Doc/library/xml.dom.pulldom.rst:101 msgid "" "Return a :class:`DOMEventStream` that represents the (Unicode) *string*." msgstr "" -#: ../Doc/library/xml.dom.pulldom.rst:91 +#: ../Doc/library/xml.dom.pulldom.rst:105 msgid "Default value for the *bufsize* parameter to :func:`parse`." msgstr "" -#: ../Doc/library/xml.dom.pulldom.rst:93 +#: ../Doc/library/xml.dom.pulldom.rst:107 msgid "" "The value of this variable can be changed before calling :func:`parse` and " "the new value will take effect." msgstr "" -#: ../Doc/library/xml.dom.pulldom.rst:99 +#: ../Doc/library/xml.dom.pulldom.rst:113 msgid "DOMEventStream Objects" msgstr "" -#: ../Doc/library/xml.dom.pulldom.rst:106 +#: ../Doc/library/xml.dom.pulldom.rst:120 msgid "" "Return a tuple containing *event* and the current *node* as :class:`xml.dom." "minidom.Document` if event equals :data:`START_DOCUMENT`, :class:`xml.dom." @@ -148,6 +155,6 @@ msgid "" "children, unless :func:`expandNode` is called." msgstr "" -#: ../Doc/library/xml.dom.pulldom.rst:116 +#: ../Doc/library/xml.dom.pulldom.rst:130 msgid "Expands all children of *node* into *node*. Example::" msgstr "" diff --git a/library/xml.po b/library/xml.po index cd40a5cf..06df99dc 100644 --- a/library/xml.po +++ b/library/xml.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-21 09:15+0200\n" -"PO-Revision-Date: 2018-09-29 19:36+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 17:50+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -147,7 +147,6 @@ msgid "billion laughs" msgstr "*billion laughs*" #: ../Doc/library/xml.rst:66 ../Doc/library/xml.rst:67 -#: ../Doc/library/xml.rst:68 ../Doc/library/xml.rst:69 #: ../Doc/library/xml.rst:70 msgid "**Vulnerable**" msgstr "**Vulnérable**" @@ -156,10 +155,14 @@ msgstr "**Vulnérable**" msgid "quadratic blowup" msgstr "*quadratic blowup*" -#: ../Doc/library/xml.rst:68 ../Doc/library/xml.rst:97 +#: ../Doc/library/xml.rst:68 ../Doc/library/xml.rst:99 msgid "external entity expansion" msgstr "*external entity expansion*" +#: ../Doc/library/xml.rst:68 ../Doc/library/xml.rst:69 +msgid "Safe (4)" +msgstr "Sûr (4)" + #: ../Doc/library/xml.rst:68 msgid "Safe (1)" msgstr "Sûr (1)" @@ -172,7 +175,7 @@ msgstr "Sûr (2)" msgid "Safe (3)" msgstr "Sûr (3)" -#: ../Doc/library/xml.rst:69 ../Doc/library/xml.rst:102 +#: ../Doc/library/xml.rst:69 ../Doc/library/xml.rst:104 msgid "`DTD`_ retrieval" msgstr "Récupération de `DTD`_" @@ -180,7 +183,7 @@ msgstr "Récupération de `DTD`_" msgid "Safe" msgstr "Sûr" -#: ../Doc/library/xml.rst:70 ../Doc/library/xml.rst:109 +#: ../Doc/library/xml.rst:70 ../Doc/library/xml.rst:111 msgid "decompression bomb" msgstr "*decompression bomb*" @@ -204,11 +207,17 @@ msgstr "" msgid ":mod:`xmlrpclib` doesn't expand external entities and omits them." msgstr ":mod:`xmlrpclib` n'étend pas les entités externes et les omet." -#: ../Doc/library/xml.rst:85 +#: ../Doc/library/xml.rst:78 +msgid "" +"Since Python 3.8.0, external general entities are no longer processed by " +"default since Python." +msgstr "" + +#: ../Doc/library/xml.rst:87 msgid "billion laughs / exponential entity expansion" msgstr "*billion laughs* / *exponential entity expansion*" -#: ../Doc/library/xml.rst:81 +#: ../Doc/library/xml.rst:83 msgid "" "The `Billion Laughs`_ attack -- also known as exponential entity expansion " "-- uses multiple levels of nested entities. Each entity refers to another " @@ -223,11 +232,11 @@ msgstr "" "plusieurs gigaoctet de texte et consomme beaucoup de mémoire et de temps " "processeur." -#: ../Doc/library/xml.rst:92 +#: ../Doc/library/xml.rst:94 msgid "quadratic blowup entity expansion" msgstr "*quadratic blowup entity expansion*" -#: ../Doc/library/xml.rst:88 +#: ../Doc/library/xml.rst:90 msgid "" "A quadratic blowup attack is similar to a `Billion Laughs`_ attack; it " "abuses entity expansion, too. Instead of nested entities it repeats one " @@ -242,7 +251,7 @@ msgstr "" "que la version exponentielle mais contourne les contre-mesure de l'analyseur " "qui interdit les entités imbriquées de multiples fois." -#: ../Doc/library/xml.rst:95 +#: ../Doc/library/xml.rst:97 msgid "" "Entity declarations can contain more than just text for replacement. They " "can also point to external resources or local files. The XML parser accesses " @@ -253,7 +262,7 @@ msgstr "" "des fichiers locaux. L'analyseur XML accède à ces fichiers et inclut les " "contenus dans le document XML." -#: ../Doc/library/xml.rst:100 +#: ../Doc/library/xml.rst:102 msgid "" "Some XML libraries like Python's :mod:`xml.dom.pulldom` retrieve document " "type definitions from remote or local locations. The feature has similar " @@ -264,7 +273,7 @@ msgstr "" "ou locaux. La fonctionnalité a des implications similaires que le problème " "d'extension d'entités externes." -#: ../Doc/library/xml.rst:105 +#: ../Doc/library/xml.rst:107 msgid "" "Decompression bombs (aka `ZIP bomb`_) apply to all XML libraries that can " "parse compressed XML streams such as gzipped HTTP streams or LZMA-compressed " @@ -277,7 +286,7 @@ msgstr "" "permet de réduire d'une magnitude d'ordre 3 ou plus la quantité de données " "transmises." -#: ../Doc/library/xml.rst:111 +#: ../Doc/library/xml.rst:113 msgid "" "The documentation for `defusedxml`_ on PyPI has further information about " "all known attack vectors with examples and references." @@ -285,11 +294,11 @@ msgstr "" "La documentation de `defusedxml`_ sur PyPI contient plus d'informations sur " "tous les vecteurs d'attaques connus ainsi que des exemples et des références." -#: ../Doc/library/xml.rst:117 +#: ../Doc/library/xml.rst:119 msgid "The :mod:`defusedxml` and :mod:`defusedexpat` Packages" msgstr "Les paquets :mod:`defusedxml` et :mod:`defusedexpat`" -#: ../Doc/library/xml.rst:119 +#: ../Doc/library/xml.rst:121 msgid "" "`defusedxml`_ is a pure Python package with modified subclasses of all " "stdlib XML parsers that prevent any potentially malicious operation. Use of " @@ -304,7 +313,7 @@ msgstr "" "fiables. Le paquet inclut également des exemples d'attaques et une " "documentation plus fournie sur plus d'attaques XML comme *XPath injection*." -#: ../Doc/library/xml.rst:125 +#: ../Doc/library/xml.rst:127 msgid "" "`defusedexpat`_ provides a modified libexpat and a patched :mod:`pyexpat` " "module that have countermeasures against entity expansion DoS attacks. The :" diff --git a/library/xml.sax.po b/library/xml.sax.po index f46b1194..9cab4cd3 100644 --- a/library/xml.sax.po +++ b/library/xml.sax.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-08-10 00:49+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-09-29 19:06+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -44,11 +44,21 @@ msgstr "" "de façon malveillante. Si vous avez besoin d'analyser des données non " "sécurisées ou non authentifiées, voir :ref:`xml-vulnerabilities`." -#: ../Doc/library/xml.sax.rst:28 +#: ../Doc/library/xml.sax.rst:29 +msgid "" +"The SAX parser no longer processes general external entities by default to " +"increase security. Before, the parser created network connections to fetch " +"remote files or loaded local files from the file system for DTD and " +"entities. The feature can be enabled again with method :meth:`~xml.sax." +"xmlreader.XMLReader.setFeature` on the parser object and argument :data:" +"`~xml.sax.handler.feature_external_ges`." +msgstr "" + +#: ../Doc/library/xml.sax.rst:36 msgid "The convenience functions are:" msgstr "Les fonctions les plus utiles sont:" -#: ../Doc/library/xml.sax.rst:33 +#: ../Doc/library/xml.sax.rst:41 msgid "" "Create and return a SAX :class:`~xml.sax.xmlreader.XMLReader` object. The " "first parser found will be used. If *parser_list* is provided, it must be a " @@ -62,7 +72,7 @@ msgstr "" "nommée :func:`create_parser`. Les modules listés dans *parser_list* seront " "utilisés avant les modules dans la liste par défaut des analyseurs." -#: ../Doc/library/xml.sax.rst:42 +#: ../Doc/library/xml.sax.rst:50 msgid "" "Create a SAX parser and use it to parse a document. The document, passed in " "as *filename_or_stream*, can be a filename or a file object. The *handler* " @@ -80,7 +90,7 @@ msgstr "" "toutes les erreurs. Il n'y a pas de valeur de retour, tout le travail doit " "être fait par le *handler* transmis." -#: ../Doc/library/xml.sax.rst:53 +#: ../Doc/library/xml.sax.rst:61 msgid "" "Similar to :func:`parse`, but parses from a buffer *string* received as a " "parameter. *string* must be a :class:`str` instance or a :term:`bytes-like " @@ -90,11 +100,11 @@ msgstr "" "*string* reçu en tant que paramètre. *string* doit être une instance :class:" "`str` ou un objet :term:`bytes-like object`." -#: ../Doc/library/xml.sax.rst:57 +#: ../Doc/library/xml.sax.rst:65 msgid "Added support of :class:`str` instances." msgstr "Ajout du support des instances :class:`str`." -#: ../Doc/library/xml.sax.rst:60 +#: ../Doc/library/xml.sax.rst:68 msgid "" "A typical SAX application uses three kinds of objects: readers, handlers and " "input sources. \"Reader\" in this context is another term for parser, i.e. " @@ -120,7 +130,7 @@ msgstr "" "*handler* sont appelées en fonction d'événements structurels et syntaxiques " "à partir des données d'entrée." -#: ../Doc/library/xml.sax.rst:71 +#: ../Doc/library/xml.sax.rst:79 msgid "" "For these objects, only the interfaces are relevant; they are normally not " "instantiated by the application itself. Since Python does not have an " @@ -149,7 +159,7 @@ msgstr "" "également disponibles à partir de :mod:`xml.sax`. Ces interfaces sont " "décrites ci-dessous." -#: ../Doc/library/xml.sax.rst:84 +#: ../Doc/library/xml.sax.rst:92 msgid "" "In addition to these classes, :mod:`xml.sax` provides the following " "exception classes." @@ -157,7 +167,7 @@ msgstr "" "En plus de ces classes, :mod:`xml.sax` fournit les classes d'exceptions " "suivantes." -#: ../Doc/library/xml.sax.rst:90 +#: ../Doc/library/xml.sax.rst:98 msgid "" "Encapsulate an XML error or warning. This class can contain basic error or " "warning information from either the XML parser or the application: it can be " @@ -176,7 +186,7 @@ msgstr "" "nécessaire de lever l'exception --- il est également utile en tant que " "conteneur pour l'information." -#: ../Doc/library/xml.sax.rst:98 +#: ../Doc/library/xml.sax.rst:106 msgid "" "When instantiated, *msg* should be a human-readable description of the " "error. The optional *exception* parameter, if given, should be ``None`` or " @@ -188,11 +198,11 @@ msgstr "" "``None`` ou une exception qui a été interceptée par le code d'analyse et qui " "est transmise comme information." -#: ../Doc/library/xml.sax.rst:102 +#: ../Doc/library/xml.sax.rst:110 msgid "This is the base class for the other SAX exception classes." msgstr "Ceci est la classe de base pour les autres classes d'exception SAX." -#: ../Doc/library/xml.sax.rst:107 +#: ../Doc/library/xml.sax.rst:115 msgid "" "Subclass of :exc:`SAXException` raised on parse errors. Instances of this " "class are passed to the methods of the SAX :class:`~xml.sax.handler." @@ -206,7 +216,7 @@ msgstr "" "l'erreur d'analyse. Cette classe supporte aussi l'interface SAX :class:`~xml." "sax.xmlreader.Locator` comme l'interface :class:`SAXException`." -#: ../Doc/library/xml.sax.rst:117 +#: ../Doc/library/xml.sax.rst:125 msgid "" "Subclass of :exc:`SAXException` raised when a SAX :class:`~xml.sax.xmlreader." "XMLReader` is confronted with an unrecognized feature or property. SAX " @@ -217,7 +227,7 @@ msgstr "" "non reconnue. Les applications et les extensions SAX peuvent utiliser cette " "classe à des fins similaires." -#: ../Doc/library/xml.sax.rst:125 +#: ../Doc/library/xml.sax.rst:133 msgid "" "Subclass of :exc:`SAXException` raised when a SAX :class:`~xml.sax.xmlreader." "XMLReader` is asked to enable a feature that is not supported, or to set a " @@ -230,11 +240,11 @@ msgstr "" "l'implémentation ne prend pas en charge. Les applications et les extensions " "SAX peuvent utiliser cette classe à des fins similaires." -#: ../Doc/library/xml.sax.rst:137 +#: ../Doc/library/xml.sax.rst:145 msgid "`SAX: The Simple API for XML `_" msgstr "`SAX: L'API simple pour XML `_" -#: ../Doc/library/xml.sax.rst:135 +#: ../Doc/library/xml.sax.rst:143 msgid "" "This site is the focal point for the definition of the SAX API. It provides " "a Java implementation and online documentation. Links to implementations " @@ -244,45 +254,45 @@ msgstr "" "implémentation Java et une documentation en ligne. Des liens pour " "l'implémentation et des informations historiques sont également disponibles." -#: ../Doc/library/xml.sax.rst:140 +#: ../Doc/library/xml.sax.rst:148 msgid "Module :mod:`xml.sax.handler`" msgstr "Module :mod:`xml.sax.handler`" -#: ../Doc/library/xml.sax.rst:140 +#: ../Doc/library/xml.sax.rst:148 msgid "Definitions of the interfaces for application-provided objects." msgstr "Définitions des interfaces pour les objets fournis par l'application." -#: ../Doc/library/xml.sax.rst:143 +#: ../Doc/library/xml.sax.rst:151 msgid "Module :mod:`xml.sax.saxutils`" msgstr "Module :mod:`xml.sax.saxutils`" -#: ../Doc/library/xml.sax.rst:143 +#: ../Doc/library/xml.sax.rst:151 msgid "Convenience functions for use in SAX applications." msgstr "Fonctions pratiques pour une utilisation dans les applications SAX." -#: ../Doc/library/xml.sax.rst:145 +#: ../Doc/library/xml.sax.rst:153 msgid "Module :mod:`xml.sax.xmlreader`" msgstr "Module :mod:`xml.sax.xmlreader`" -#: ../Doc/library/xml.sax.rst:146 +#: ../Doc/library/xml.sax.rst:154 msgid "Definitions of the interfaces for parser-provided objects." msgstr "Définitions des interfaces pour les objets fournis par l'analyseur." -#: ../Doc/library/xml.sax.rst:152 +#: ../Doc/library/xml.sax.rst:160 msgid "SAXException Objects" msgstr "Les objets SAXException" -#: ../Doc/library/xml.sax.rst:154 +#: ../Doc/library/xml.sax.rst:162 msgid "" "The :class:`SAXException` exception class supports the following methods:" msgstr "" "La classe d'exception :class:`SAXException` supporte les méthodes suivantes :" -#: ../Doc/library/xml.sax.rst:159 +#: ../Doc/library/xml.sax.rst:167 msgid "Return a human-readable message describing the error condition." msgstr "" "Renvoyer un message lisible par l'homme décrivant la condition d'erreur." -#: ../Doc/library/xml.sax.rst:164 +#: ../Doc/library/xml.sax.rst:172 msgid "Return an encapsulated exception object, or ``None``." msgstr "Renvoie un objet d'exception encapsulé, ou``None``." diff --git a/library/zipapp.po b/library/zipapp.po index 23013c6a..f6ce4e80 100644 --- a/library/zipapp.po +++ b/library/zipapp.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-15 21:52+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -250,7 +250,7 @@ msgid "Pack up a directory into an archive, and run it." msgstr "" #: ../Doc/library/zipapp.rst:198 -msgid "The same can be done using the :func:`create_archive` functon::" +msgid "The same can be done using the :func:`create_archive` function::" msgstr "" #: ../Doc/library/zipapp.rst:203 diff --git a/sphinx.po b/sphinx.po index 7f1650f1..2024fe68 100644 --- a/sphinx.po +++ b/sphinx.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-07-03 20:52+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" @@ -197,7 +197,7 @@ msgid "History and License of Python" msgstr "Histoire et licence de Python" #: ../Doc/tools/templates/indexcontent.html:63 -#: ../Doc/tools/templates/layout.html:108 +#: ../Doc/tools/templates/layout.html:116 msgid "Copyright" msgstr "Copyright" @@ -265,23 +265,23 @@ msgstr "Recherche rapide" msgid "Go" msgstr "Go" -#: ../Doc/tools/templates/layout.html:110 +#: ../Doc/tools/templates/layout.html:118 msgid "The Python Software Foundation is a non-profit corporation." msgstr "La Python Software Foundation est une organisation à but non lucratif." -#: ../Doc/tools/templates/layout.html:111 +#: ../Doc/tools/templates/layout.html:119 msgid "Please donate." msgstr "Les dons sont bienvenus." -#: ../Doc/tools/templates/layout.html:113 +#: ../Doc/tools/templates/layout.html:121 msgid "Last updated on %(last_updated)s." msgstr "Dernière mise-à-jour le %(last_updated)s." -#: ../Doc/tools/templates/layout.html:114 +#: ../Doc/tools/templates/layout.html:122 msgid "Found a bug?" msgstr "Vous avez trouvé un bug ?" -#: ../Doc/tools/templates/layout.html:116 +#: ../Doc/tools/templates/layout.html:124 msgid "" "Created using Sphinx " "%(sphinx_version)s." diff --git a/tutorial/inputoutput.po b/tutorial/inputoutput.po index 3963b8b8..76ccaae9 100644 --- a/tutorial/inputoutput.po +++ b/tutorial/inputoutput.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-08-03 17:52+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-10-04 15:54+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" @@ -70,7 +70,7 @@ msgstr "" "expressions Python entre les caractères ``{`` et ``}`` qui peuvent contenir " "des variables ou des valeurs littérales." -#: ../Doc/tutorial/inputoutput.rst:36 +#: ../Doc/tutorial/inputoutput.rst:37 msgid "" "The :meth:`str.format` method of strings requires more manual effort. " "You'll still use ``{`` and ``}`` to mark where a variable will be " @@ -82,7 +82,7 @@ msgstr "" "pour indiquer où une variable sera substituée et donner des détails sur son " "formatage, mais vous devrez également fournir les informations à formater." -#: ../Doc/tutorial/inputoutput.rst:48 +#: ../Doc/tutorial/inputoutput.rst:50 msgid "" "Finally, you can do all the string handling yourself by using string slicing " "and concatenation operations to create any layout you can imagine. The " @@ -93,7 +93,7 @@ msgstr "" "même, et ainsi créer n'importe quel agencement. Le type des chaînes a des " "méthodes utiles pour aligner des chaînes dans une largeur de taille fixe." -#: ../Doc/tutorial/inputoutput.rst:53 +#: ../Doc/tutorial/inputoutput.rst:55 msgid "" "When you don't need fancy output but just want a quick display of some " "variables for debugging purposes, you can convert any value to a string with " @@ -104,7 +104,7 @@ msgstr "" "quelle valeur en chaîne de caractères en utilisant la fonction :func:`repr` " "ou la fonction :func:`str`." -#: ../Doc/tutorial/inputoutput.rst:57 +#: ../Doc/tutorial/inputoutput.rst:59 msgid "" "The :func:`str` function is meant to return representations of values which " "are fairly human-readable, while :func:`repr` is meant to generate " @@ -126,11 +126,11 @@ msgstr "" "deux fonctions. Les chaînes de caractères, en particulier, ont deux " "représentations distinctes." -#: ../Doc/tutorial/inputoutput.rst:66 +#: ../Doc/tutorial/inputoutput.rst:68 msgid "Some examples::" msgstr "Quelques exemples : ::" -#: ../Doc/tutorial/inputoutput.rst:89 +#: ../Doc/tutorial/inputoutput.rst:91 msgid "" "The :mod:`string` module contains a :class:`~string.Template` class that " "offers yet another way to substitute values into strings, using placeholders " @@ -142,11 +142,11 @@ msgstr "" "utilisant des marqueurs comme ``$x``, et en les remplaçant par les valeurs " "d'un dictionnaire, mais sa capacité à formater les chaînes est plus limitée." -#: ../Doc/tutorial/inputoutput.rst:98 +#: ../Doc/tutorial/inputoutput.rst:100 msgid "Formatted String Literals" msgstr "Les chaines de caractères formatées (*f-strings*)" -#: ../Doc/tutorial/inputoutput.rst:100 +#: ../Doc/tutorial/inputoutput.rst:102 msgid "" ":ref:`Formatted string literals ` (also called f-strings for " "short) let you include the value of Python expressions inside a string by " @@ -158,7 +158,7 @@ msgstr "" "chaines de caractères en les préfixant avec ``f`` ou ``F`` et écrire des " "expressions comme ``{expression}``." -#: ../Doc/tutorial/inputoutput.rst:105 +#: ../Doc/tutorial/inputoutput.rst:107 msgid "" "An optional format specifier can follow the expression. This allows greater " "control over how the value is formatted. The following example rounds pi to " @@ -168,7 +168,7 @@ msgstr "" "plus grand contrôle sur la façon dont la valeur est rendue. L'exemple " "suivant arrondit pi à trois décimales après la virgule ::" -#: ../Doc/tutorial/inputoutput.rst:112 +#: ../Doc/tutorial/inputoutput.rst:115 msgid "" "Passing an integer after the ``':'`` will cause that field to be a minimum " "number of characters wide. This is useful for making columns line up. ::" @@ -176,7 +176,7 @@ msgstr "" "Donner un entier après le ``':'`` indique la largeur minimale de ce champ en " "nombre de caractères. C'est utile pour faire de jolis tableaux ::" -#: ../Doc/tutorial/inputoutput.rst:123 +#: ../Doc/tutorial/inputoutput.rst:126 msgid "" "Other modifiers can be used to convert the value before it is formatted. ``'!" "a'`` applies :func:`ascii`, ``'!s'`` applies :func:`str`, and ``'!r'`` " @@ -186,7 +186,7 @@ msgstr "" "son formatage. ``'!a'`` applique :func:`ascii`, ``'!s'`` applique :func:" "`str`, et ``'!r'`` applique :func:`repr`::" -#: ../Doc/tutorial/inputoutput.rst:133 +#: ../Doc/tutorial/inputoutput.rst:136 msgid "" "For a reference on these format specifications, see the reference guide for " "the :ref:`formatspec`." @@ -194,16 +194,16 @@ msgstr "" "Pour une référence sur ces spécifications de formats, voir le guide de " "référence pour les :ref:`formatspec`." -#: ../Doc/tutorial/inputoutput.rst:139 +#: ../Doc/tutorial/inputoutput.rst:142 msgid "The String format() Method" msgstr "La méthode de chaine de caractères ``format()``" -#: ../Doc/tutorial/inputoutput.rst:141 +#: ../Doc/tutorial/inputoutput.rst:144 msgid "Basic usage of the :meth:`str.format` method looks like this::" msgstr "" "L'utilisation de base de la méthode :meth:`str.format` ressemble à ceci : ::" -#: ../Doc/tutorial/inputoutput.rst:146 +#: ../Doc/tutorial/inputoutput.rst:149 msgid "" "The brackets and characters within them (called format fields) are replaced " "with the objects passed into the :meth:`str.format` method. A number in the " @@ -215,7 +215,7 @@ msgstr "" "meth:`str.format`. Un nombre entre accolades se réfère à la position de " "l'objet passé à la méthode :meth:`str.format`. ::" -#: ../Doc/tutorial/inputoutput.rst:156 +#: ../Doc/tutorial/inputoutput.rst:159 msgid "" "If keyword arguments are used in the :meth:`str.format` method, their values " "are referred to by using the name of the argument. ::" @@ -223,12 +223,12 @@ msgstr "" "Si des arguments nommés sont utilisés dans la méthode :meth:`str.format`, " "leurs valeurs sont utilisées en se basant sur le nom des arguments : ::" -#: ../Doc/tutorial/inputoutput.rst:163 +#: ../Doc/tutorial/inputoutput.rst:166 msgid "Positional and keyword arguments can be arbitrarily combined::" msgstr "" "Les arguments positionnés et nommés peuvent être combinés arbitrairement : ::" -#: ../Doc/tutorial/inputoutput.rst:169 +#: ../Doc/tutorial/inputoutput.rst:172 msgid "" "If you have a really long format string that you don't want to split up, it " "would be nice if you could reference the variables to be formatted by name " @@ -240,7 +240,7 @@ msgstr "" "nom plutôt que par leur position. Utilisez simplement un dictionnaire et la " "notation entre crochets ``'[]'`` pour accéder aux clés : ::" -#: ../Doc/tutorial/inputoutput.rst:179 +#: ../Doc/tutorial/inputoutput.rst:182 msgid "" "This could also be done by passing the table as keyword arguments with the " "'**' notation. ::" @@ -248,7 +248,7 @@ msgstr "" "Vous pouvez obtenir le même résultat en passant le tableau comme des " "arguments nommés en utilisant la notation ``**`` ::" -#: ../Doc/tutorial/inputoutput.rst:186 +#: ../Doc/tutorial/inputoutput.rst:189 msgid "" "This is particularly useful in combination with the built-in function :func:" "`vars`, which returns a dictionary containing all local variables." @@ -256,7 +256,7 @@ msgstr "" "C'est particulièrement utile en combinaison avec la fonction native :func:" "`vars` qui renvoie un dictionnaire contenant toutes les variables locales." -#: ../Doc/tutorial/inputoutput.rst:189 +#: ../Doc/tutorial/inputoutput.rst:192 msgid "" "As an example, the following lines produce a tidily-aligned set of columns " "giving integers and their squares and cubes::" @@ -265,7 +265,7 @@ msgstr "" "alignées de façon ordonnée donnant les entiers, leurs carrés et leurs " "cubes: ::" -#: ../Doc/tutorial/inputoutput.rst:206 +#: ../Doc/tutorial/inputoutput.rst:209 msgid "" "For a complete overview of string formatting with :meth:`str.format`, see :" "ref:`formatstrings`." @@ -273,15 +273,15 @@ msgstr "" "Pour avoir une description complète du formatage des chaînes de caractères " "avec la méthode :meth:`str.format`, lisez : :ref:`formatstrings`." -#: ../Doc/tutorial/inputoutput.rst:211 +#: ../Doc/tutorial/inputoutput.rst:214 msgid "Manual String Formatting" msgstr "Formatage de chaînes à la main" -#: ../Doc/tutorial/inputoutput.rst:213 +#: ../Doc/tutorial/inputoutput.rst:216 msgid "Here's the same table of squares and cubes, formatted manually::" msgstr "Voici le même tableau de carrés et de cubes, formaté à la main ::" -#: ../Doc/tutorial/inputoutput.rst:231 +#: ../Doc/tutorial/inputoutput.rst:234 msgid "" "(Note that the one space between each column was added by the way :func:" "`print` works: it always adds spaces between its arguments.)" @@ -289,7 +289,7 @@ msgstr "" "(Remarquez que l'espace séparant les colonnes vient de la manière donc :func:" "`print` fonctionne : il ajoute toujours des espaces entre ses arguments.)" -#: ../Doc/tutorial/inputoutput.rst:234 +#: ../Doc/tutorial/inputoutput.rst:237 msgid "" "The :meth:`str.rjust` method of string objects right-justifies a string in a " "field of a given width by padding it with spaces on the left. There are " @@ -311,7 +311,7 @@ msgstr "" "valeurs, vous pouvez toujours utiliser une tranche, comme dans ``x.ljust(n)[:" "n]``)." -#: ../Doc/tutorial/inputoutput.rst:243 +#: ../Doc/tutorial/inputoutput.rst:246 msgid "" "There is another method, :meth:`str.zfill`, which pads a numeric string on " "the left with zeros. It understands about plus and minus signs::" @@ -320,11 +320,11 @@ msgstr "" "numérique à gauche avec des zéros. Elle comprend les signes plus et " "moins : ::" -#: ../Doc/tutorial/inputoutput.rst:255 +#: ../Doc/tutorial/inputoutput.rst:258 msgid "Old string formatting" msgstr "Anciennes méthodes de formatage de chaînes" -#: ../Doc/tutorial/inputoutput.rst:257 +#: ../Doc/tutorial/inputoutput.rst:260 msgid "" "The ``%`` operator can also be used for string formatting. It interprets the " "left argument much like a :c:func:`sprintf`\\ -style format string to be " @@ -336,18 +336,18 @@ msgstr "" "de la fonction :c:func:`sprintf` à appliquer à l'argument de droite, et il " "renvoie la chaîne résultant de cette opération de formatage. Par exemple : ::" -#: ../Doc/tutorial/inputoutput.rst:266 +#: ../Doc/tutorial/inputoutput.rst:269 msgid "" "More information can be found in the :ref:`old-string-formatting` section." msgstr "" "Vous trouvez plus d'informations dans la section :ref:`old-string-" "formatting`." -#: ../Doc/tutorial/inputoutput.rst:272 +#: ../Doc/tutorial/inputoutput.rst:275 msgid "Reading and Writing Files" msgstr "Lecture et écriture de fichiers" -#: ../Doc/tutorial/inputoutput.rst:278 +#: ../Doc/tutorial/inputoutput.rst:281 msgid "" ":func:`open` returns a :term:`file object`, and is most commonly used with " "two arguments: ``open(filename, mode)``." @@ -355,7 +355,7 @@ msgstr "" "La fonction :func:`open` renvoie un :term:`objet fichier` et est le plus " "souvent utilisée avec deux arguments : ``open(nomfichier, mode)``." -#: ../Doc/tutorial/inputoutput.rst:290 +#: ../Doc/tutorial/inputoutput.rst:293 msgid "" "The first argument is a string containing the filename. The second argument " "is another string containing a few characters describing the way in which " @@ -375,7 +375,7 @@ msgstr "" "ajoutée à la fin). ``'r+'`` ouvre le fichier en mode lecture/écriture. " "L'argument *mode* est optionnel, sa valeur par défaut est ``'r'``." -#: ../Doc/tutorial/inputoutput.rst:299 +#: ../Doc/tutorial/inputoutput.rst:302 msgid "" "Normally, files are opened in :dfn:`text mode`, that means, you read and " "write strings from and to the file, which are encoded in a specific " @@ -393,7 +393,7 @@ msgstr "" "d'octets (type *bytes*). Ce mode est à utiliser pour les fichiers contenant " "autre chose que du texte." -#: ../Doc/tutorial/inputoutput.rst:306 +#: ../Doc/tutorial/inputoutput.rst:309 msgid "" "In text mode, the default when reading is to convert platform-specific line " "endings (``\\n`` on Unix, ``\\r\\n`` on Windows) to just ``\\n``. When " @@ -413,7 +413,7 @@ msgstr "" "`EXE`. Soyez particulièrement attentifs à ouvrir ces fichiers binaires en " "mode binaire." -#: ../Doc/tutorial/inputoutput.rst:314 +#: ../Doc/tutorial/inputoutput.rst:317 msgid "" "It is good practice to use the :keyword:`with` keyword when dealing with " "file objects. The advantage is that the file is properly closed after its " @@ -427,7 +427,7 @@ msgstr "" "plus court que d'utiliser l'équivalent avec des blocs :keyword:`try`\\ -\\ :" "keyword:`finally` : ::" -#: ../Doc/tutorial/inputoutput.rst:325 +#: ../Doc/tutorial/inputoutput.rst:328 msgid "" "If you're not using the :keyword:`with` keyword, then you should call ``f." "close()`` to close the file and immediately free up any system resources " @@ -444,7 +444,7 @@ msgstr "" "risque est que différentes implémentations de Python risquent faire ce " "nettoyage à des moments différents." -#: ../Doc/tutorial/inputoutput.rst:333 +#: ../Doc/tutorial/inputoutput.rst:336 msgid "" "After a file object is closed, either by a :keyword:`with` statement or by " "calling ``f.close()``, attempts to use the file object will automatically " @@ -454,11 +454,11 @@ msgstr "" "`with` ou en appelant ``f.close()``, toute tentative d'utilisation de " "l'objet fichier échoue systématiquement. ::" -#: ../Doc/tutorial/inputoutput.rst:347 +#: ../Doc/tutorial/inputoutput.rst:350 msgid "Methods of File Objects" msgstr "Méthodes des objets fichiers" -#: ../Doc/tutorial/inputoutput.rst:349 +#: ../Doc/tutorial/inputoutput.rst:352 msgid "" "The rest of the examples in this section will assume that a file object " "called ``f`` has already been created." @@ -466,7 +466,7 @@ msgstr "" "Les derniers exemples de cette section supposent qu'un objet fichier appelé " "``f`` a déjà été créé." -#: ../Doc/tutorial/inputoutput.rst:352 +#: ../Doc/tutorial/inputoutput.rst:355 msgid "" "To read a file's contents, call ``f.read(size)``, which reads some quantity " "of data and returns it as a string (in text mode) or bytes object (in binary " @@ -485,7 +485,7 @@ msgstr "" "*taille* octets sont lus et donnés. Lorsque la fin du fichier est atteinte, " "``f.read()`` renvoie une chaîne vide (``''``). ::" -#: ../Doc/tutorial/inputoutput.rst:366 +#: ../Doc/tutorial/inputoutput.rst:369 msgid "" "``f.readline()`` reads a single line from the file; a newline character (``" "\\n``) is left at the end of the string, and is only omitted on the last " @@ -502,7 +502,7 @@ msgstr "" "atteinte, alors qu'une ligne vide est représentée par ``'\\n'`` (une chaîne " "de caractères ne contenant qu'une fin de ligne). ::" -#: ../Doc/tutorial/inputoutput.rst:380 +#: ../Doc/tutorial/inputoutput.rst:383 msgid "" "For reading lines from a file, you can loop over the file object. This is " "memory efficient, fast, and leads to simple code::" @@ -511,7 +511,7 @@ msgstr "" "C'est plus efficace en terme de gestion mémoire, plus rapide et donne un " "code plus simple : ::" -#: ../Doc/tutorial/inputoutput.rst:389 +#: ../Doc/tutorial/inputoutput.rst:392 msgid "" "If you want to read all the lines of a file in a list you can also use " "``list(f)`` or ``f.readlines()``." @@ -519,7 +519,7 @@ msgstr "" "Pour construire une liste avec toutes les lignes d'un fichier, il est aussi " "possible d'utiliser ``list(f)`` ou ``f.readlines()``." -#: ../Doc/tutorial/inputoutput.rst:392 +#: ../Doc/tutorial/inputoutput.rst:395 msgid "" "``f.write(string)`` writes the contents of *string* to the file, returning " "the number of characters written. ::" @@ -527,7 +527,7 @@ msgstr "" "``f.write(chaine)`` écrit le contenu de *chaine* dans le fichier et renvoie " "le nombre de caractères écrits. ::" -#: ../Doc/tutorial/inputoutput.rst:398 +#: ../Doc/tutorial/inputoutput.rst:401 msgid "" "Other types of objects need to be converted -- either to a string (in text " "mode) or a bytes object (in binary mode) -- before writing them::" @@ -535,7 +535,7 @@ msgstr "" "Les autres types doivent être convertis, soit en une chaîne (en mode texte), " "soit en objet *bytes* (en mode binaire) avant de les écrire : ::" -#: ../Doc/tutorial/inputoutput.rst:406 +#: ../Doc/tutorial/inputoutput.rst:409 msgid "" "``f.tell()`` returns an integer giving the file object's current position in " "the file represented as number of bytes from the beginning of the file when " @@ -545,7 +545,7 @@ msgstr "" "fichier, mesurée en octets à partir du début du fichier lorsque le fichier " "est ouvert en mode binaire, ou un nombre obscur en mode texte." -#: ../Doc/tutorial/inputoutput.rst:410 +#: ../Doc/tutorial/inputoutput.rst:413 msgid "" "To change the file object's position, use ``f.seek(offset, from_what)``. " "The position is computed from adding *offset* to a reference point; the " @@ -562,7 +562,7 @@ msgstr "" "pour la fin du fichier. *a_partir_de* peut être omis et sa valeur par défaut " "est 0 (Python utilise le début du fichier comme point de référence) : ::" -#: ../Doc/tutorial/inputoutput.rst:429 +#: ../Doc/tutorial/inputoutput.rst:432 msgid "" "In text files (those opened without a ``b`` in the mode string), only seeks " "relative to the beginning of the file are allowed (the exception being " @@ -577,7 +577,7 @@ msgstr "" "renvoyées par ``f.tell()``, ou zéro. Toute autre valeur pour le paramètre " "*decalage* produit un comportement indéfini." -#: ../Doc/tutorial/inputoutput.rst:435 +#: ../Doc/tutorial/inputoutput.rst:438 msgid "" "File objects have some additional methods, such as :meth:`~file.isatty` and :" "meth:`~file.truncate` which are less frequently used; consult the Library " @@ -588,11 +588,11 @@ msgstr "" "consultez la Référence de la Bibliothèque Standard pour avoir un guide " "complet des objets fichiers." -#: ../Doc/tutorial/inputoutput.rst:443 +#: ../Doc/tutorial/inputoutput.rst:446 msgid "Saving structured data with :mod:`json`" msgstr "Sauvegarde de données structurées avec le module :mod:`json`" -#: ../Doc/tutorial/inputoutput.rst:447 +#: ../Doc/tutorial/inputoutput.rst:450 msgid "" "Strings can easily be written to and read from a file. Numbers take a bit " "more effort, since the :meth:`read` method only returns strings, which will " @@ -610,7 +610,7 @@ msgstr "" "instances de classes, le traitement lecture/écriture à la main devient vite " "compliqué." -#: ../Doc/tutorial/inputoutput.rst:454 +#: ../Doc/tutorial/inputoutput.rst:457 msgid "" "Rather than having users constantly writing and debugging code to save " "complicated data types to files, Python allows you to use the popular data " @@ -633,7 +633,7 @@ msgstr "" "et sa dé-sérialisation, la chaîne représentant les données peut avoir été " "stockée ou transmise à une autre machine." -#: ../Doc/tutorial/inputoutput.rst:465 +#: ../Doc/tutorial/inputoutput.rst:468 msgid "" "The JSON format is commonly used by modern applications to allow for data " "exchange. Many programmers are already familiar with it, which makes it a " @@ -643,7 +643,7 @@ msgstr "" "échanger des données. Beaucoup de développeurs le maîtrise, ce qui en fait " "un format de prédilection pour l'interopérabilité." -#: ../Doc/tutorial/inputoutput.rst:469 +#: ../Doc/tutorial/inputoutput.rst:472 msgid "" "If you have an object ``x``, you can view its JSON string representation " "with a simple line of code::" @@ -651,7 +651,7 @@ msgstr "" "Si vous avez un objet ``x``, vous pouvez voir sa représentation JSON en " "tapant simplement : ::" -#: ../Doc/tutorial/inputoutput.rst:476 +#: ../Doc/tutorial/inputoutput.rst:479 msgid "" "Another variant of the :func:`~json.dumps` function, called :func:`~json." "dump`, simply serializes the object to a :term:`text file`. So if ``f`` is " @@ -662,7 +662,7 @@ msgstr "" "file>`. Donc si ``f`` est un :term:`fichier texte ` ouvert en " "écriture, il est possible de faire : ::" -#: ../Doc/tutorial/inputoutput.rst:482 +#: ../Doc/tutorial/inputoutput.rst:485 msgid "" "To decode the object again, if ``f`` is a :term:`text file` object which has " "been opened for reading::" @@ -670,7 +670,7 @@ msgstr "" "Pour reconstruire l'objet, si ``f`` est cette fois un :term:`fichier texte` " "ouvert en lecture : ::" -#: ../Doc/tutorial/inputoutput.rst:487 +#: ../Doc/tutorial/inputoutput.rst:490 msgid "" "This simple serialization technique can handle lists and dictionaries, but " "serializing arbitrary class instances in JSON requires a bit of extra " @@ -682,11 +682,11 @@ msgstr "" "plus de travail. La documentation du module :mod:`json` explique comment " "faire." -#: ../Doc/tutorial/inputoutput.rst:493 +#: ../Doc/tutorial/inputoutput.rst:496 msgid ":mod:`pickle` - the pickle module" msgstr "Le module :mod:`pickle`" -#: ../Doc/tutorial/inputoutput.rst:495 +#: ../Doc/tutorial/inputoutput.rst:498 msgid "" "Contrary to :ref:`JSON `, *pickle* is a protocol which allows the " "serialization of arbitrarily complex Python objects. As such, it is " diff --git a/tutorial/interpreter.po b/tutorial/interpreter.po index 02475c77..9641dfc9 100644 --- a/tutorial/interpreter.po +++ b/tutorial/interpreter.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" -"PO-Revision-Date: 2018-07-02 22:52+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 17:50+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -50,12 +50,12 @@ msgstr "" #: ../Doc/tutorial/interpreter.rst:26 msgid "" "On Windows machines, the Python installation is usually placed in :file:`C:\\" -"\\Python36`, though you can change this when you're running the installer. " +"\\Python37`, though you can change this when you're running the installer. " "To add this directory to your path, you can type the following command into " "the command prompt in a DOS box::" msgstr "" "Sur les machines Windows, Python est habituellement installé dans :file:`C:\\" -"\\Python36`, même si vous pouvez changer cela lorsque vous lancez " +"\\Python37`, même si vous pouvez changer cela lorsque vous lancez " "l'installateur. Pour ajouter ce dossier à votre chemin de recherche, vous " "pouvez taper la commande suivante dans un prompt de commande DOS : ::" diff --git a/using/windows.po b/using/windows.po index e4e0373e..e94cd8b2 100644 --- a/using/windows.po +++ b/using/windows.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-08-03 17:52+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-06-10 15:28+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -498,7 +498,7 @@ msgstr "" #: ../Doc/using/windows.rst:238 msgid "" "Execute the following command from Command Prompt to download all possible " -"required files. Remember to substitute ``python-3.6.0.exe`` for the actual " +"required files. Remember to substitute ``python-3.7.0.exe`` for the actual " "name of your installer, and to create layouts in their own directories to " "avoid collisions between files with the same name." msgstr "" diff --git a/whatsnew/3.3.po b/whatsnew/3.3.po index b3a83765..2b0f4c3a 100644 --- a/whatsnew/3.3.po +++ b/whatsnew/3.3.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-07-31 23:09+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -449,7 +449,7 @@ msgid "" "application. Running ``py`` follows the same version selection rules as " "implicitly launching scripts, but a more specific version can be selected by " "passing appropriate arguments (such as ``-3`` to request Python 3 when " -"Python 2 is also installed, or ``-2.6`` to specifclly request an earlier " +"Python 2 is also installed, or ``-2.6`` to specifically request an earlier " "Python version when a more recent version is installed)." msgstr "" @@ -3649,7 +3649,7 @@ msgid "" "finder, you will need to remove keys paired with values of ``None`` **and** :" "class:`imp.NullImporter` to be backwards-compatible. This will lead to extra " "overhead on older versions of Python that re-insert ``None`` into :attr:`sys." -"path_importer_cache` where it repesents the use of implicit finders, but " +"path_importer_cache` where it represents the use of implicit finders, but " "semantically it should not change anything." msgstr "" diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po index f16e0cfe..982ce71b 100644 --- a/whatsnew/3.5.po +++ b/whatsnew/3.5.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-17 10:39+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2017-08-10 00:52+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -280,7 +280,6 @@ msgid "" msgstr "" #: ../Doc/whatsnew/3.5.rst:253 -#, fuzzy msgid "" "Starting with CPython 3.5.2, ``__aiter__`` can directly return :term:" "`asynchronous iterators `. Returning an :term:" @@ -896,9 +895,9 @@ msgstr "" #: ../Doc/whatsnew/3.5.rst:780 msgid "" -"New debugging APIs: :meth:`loop.set_debug() ` and :meth:`loop.get_debug() ` " -"methods. (Contributed by Victor Stinner.)" +"New debugging APIs: :meth:`loop.set_debug() ` and :" +"meth:`loop.get_debug() ` methods. (Contributed by " +"Victor Stinner.)" msgstr "" #: ../Doc/whatsnew/3.5.rst:784 @@ -909,18 +908,17 @@ msgstr "" #: ../Doc/whatsnew/3.5.rst:787 msgid "" -"A new :meth:`loop.is_closed() ` method to " -"check if the event loop is closed. (Contributed by Victor Stinner in :issue:" -"`21326`.)" +"A new :meth:`loop.is_closed() ` method to check if " +"the event loop is closed. (Contributed by Victor Stinner in :issue:`21326`.)" msgstr "" #: ../Doc/whatsnew/3.5.rst:791 msgid "" -"A new :meth:`loop.create_task() ` to " -"conveniently create and schedule a new :class:`~asyncio.Task` for a " -"coroutine. The ``create_task`` method is also used by all asyncio functions " -"that wrap coroutines into tasks, such as :func:`asyncio.wait`, :func:" -"`asyncio.gather`, etc. (Contributed by Victor Stinner.)" +"A new :meth:`loop.create_task() ` to conveniently " +"create and schedule a new :class:`~asyncio.Task` for a coroutine. The " +"``create_task`` method is also used by all asyncio functions that wrap " +"coroutines into tasks, such as :func:`asyncio.wait`, :func:`asyncio.gather`, " +"etc. (Contributed by Victor Stinner.)" msgstr "" #: ../Doc/whatsnew/3.5.rst:798 @@ -938,11 +936,10 @@ msgstr "" #: ../Doc/whatsnew/3.5.rst:807 msgid "" -"New :meth:`loop.set_task_factory() ` and :meth:`loop.get_task_factory() ` methods to customize the task factory " -"that :meth:`loop.create_task() ` method " -"uses. (Contributed by Yury Selivanov.)" +"New :meth:`loop.set_task_factory() ` and :" +"meth:`loop.get_task_factory() ` methods to " +"customize the task factory that :meth:`loop.create_task() ` method uses. (Contributed by Yury Selivanov.)" msgstr "" #: ../Doc/whatsnew/3.5.rst:814 @@ -964,9 +961,9 @@ msgstr "Nouveautés dans la 3.5.1 :" #: ../Doc/whatsnew/3.5.rst:824 msgid "" "The :func:`~asyncio.ensure_future` function and all functions that use it, " -"such as :meth:`loop.run_until_complete() `, now accept all kinds of :term:`awaitable objects " -"`. (Contributed by Yury Selivanov.)" +"such as :meth:`loop.run_until_complete() `, " +"now accept all kinds of :term:`awaitable objects `. (Contributed " +"by Yury Selivanov.)" msgstr "" #: ../Doc/whatsnew/3.5.rst:829 @@ -984,8 +981,8 @@ msgstr "" #: ../Doc/whatsnew/3.5.rst:837 msgid "" -"The :meth:`loop.create_server() ` " -"method can now accept a list of hosts. (Contributed by Yann Sionneau.)" +"The :meth:`loop.create_server() ` method can now " +"accept a list of hosts. (Contributed by Yann Sionneau.)" msgstr "" #: ../Doc/whatsnew/3.5.rst:841 @@ -994,16 +991,16 @@ msgstr "" #: ../Doc/whatsnew/3.5.rst:843 msgid "" -"New :meth:`loop.create_future() ` " -"method to create Future objects. This allows alternative event loop " -"implementations, such as `uvloop `_, " -"to provide a faster :class:`asyncio.Future` implementation. (Contributed by " -"Yury Selivanov.)" +"New :meth:`loop.create_future() ` method to " +"create Future objects. This allows alternative event loop implementations, " +"such as `uvloop `_, to provide a " +"faster :class:`asyncio.Future` implementation. (Contributed by Yury " +"Selivanov.)" msgstr "" #: ../Doc/whatsnew/3.5.rst:850 msgid "" -"New :meth:`loop.get_exception_handler() ` method to get the current exception handler. " "(Contributed by Yury Selivanov.)" msgstr "" @@ -1017,18 +1014,17 @@ msgstr "" #: ../Doc/whatsnew/3.5.rst:859 msgid "" -"The :meth:`loop.create_connection() ` and :meth:`loop.create_server() ` methods are optimized to avoid calling the system " -"``getaddrinfo`` function if the address is already resolved. (Contributed by " -"A. Jesse Jiryu Davis.)" +"The :meth:`loop.create_connection() ` and :" +"meth:`loop.create_server() ` methods are " +"optimized to avoid calling the system ``getaddrinfo`` function if the " +"address is already resolved. (Contributed by A. Jesse Jiryu Davis.)" msgstr "" #: ../Doc/whatsnew/3.5.rst:865 msgid "" -"The :meth:`loop.sock_connect(sock, address) ` no longer requires the *address* to be resolved prior to the " -"call. (Contributed by A. Jesse Jiryu Davis.)" +"The :meth:`loop.sock_connect(sock, address) ` no " +"longer requires the *address* to be resolved prior to the call. (Contributed " +"by A. Jesse Jiryu Davis.)" msgstr "" #: ../Doc/whatsnew/3.5.rst:871 @@ -3207,9 +3203,10 @@ msgid "" "the ``opt-`` tag. Because of this, the *debug_override* parameter of the " "function is now deprecated. `.pyo` files are also no longer supported as a " "file argument to the Python interpreter and thus serve no purpose when " -"distributed on their own (i.e. sourcless code distribution). Due to the fact " -"that the magic number for bytecode has changed in Python 3.5, all old `.pyo` " -"files from previous versions of Python are invalid regardless of this PEP." +"distributed on their own (i.e. sourceless code distribution). Due to the " +"fact that the magic number for bytecode has changed in Python 3.5, all old `." +"pyo` files from previous versions of Python are invalid regardless of this " +"PEP." msgstr "" #: ../Doc/whatsnew/3.5.rst:2479 @@ -3353,7 +3350,3 @@ msgstr "" #: ../Doc/whatsnew/3.5.rst:2569 msgid "It has been replaced by the new ``make regen-all`` target." msgstr "" - -#, fuzzy -#~ msgid "PEP 488 -- Elimination of PYO files" -#~ msgstr "PEP 488 : Élimination des fichiers PYO" diff --git a/whatsnew/3.6.po b/whatsnew/3.6.po index f3bf4d5e..b71c9416 100644 --- a/whatsnew/3.6.po +++ b/whatsnew/3.6.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-28 15:29+0200\n" -"PO-Revision-Date: 2017-05-27 14:24+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" +"PO-Revision-Date: 2018-10-13 17:48+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -171,7 +171,7 @@ msgid "" "such as account authentication, tokens, and similar." msgstr "" -#: ../Doc/whatsnew/3.6.rst:136 ../Doc/whatsnew/3.6.rst:1274 +#: ../Doc/whatsnew/3.6.rst:136 ../Doc/whatsnew/3.6.rst:1283 msgid "" "On Linux, :func:`os.urandom` now blocks until the system urandom entropy " "pool is initialized to increase the security. See the :pep:`524` for the " @@ -763,14 +763,12 @@ msgid "Checking if the GIL is held is also a new feature of Python 3.6." msgstr "" #: ../Doc/whatsnew/3.6.rst:658 -#, fuzzy msgid "" "See the :c:func:`PyMem_SetupDebugHooks` function for debug hooks on Python " "memory allocators." msgstr "" "Reportez-vous à la fonction :c:func:`PyMem_SetupDebugHooks` pour ce qui " -"concerne les fonctions automatiques de débogage de l'allocateur mémoire de " -"Python." +"concerne les fonctions de débogage de l'allocateur mémoire de Python." #: ../Doc/whatsnew/3.6.rst:661 msgid "" @@ -976,9 +974,9 @@ msgstr "" #: ../Doc/whatsnew/3.6.rst:826 msgid "" "The :func:`~asyncio.ensure_future` function and all functions that use it, " -"such as :meth:`loop.run_until_complete() `, now accept all kinds of :term:`awaitable objects " -"`. (Contributed by Yury Selivanov.)" +"such as :meth:`loop.run_until_complete() `, " +"now accept all kinds of :term:`awaitable objects `. (Contributed " +"by Yury Selivanov.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:831 @@ -996,22 +994,22 @@ msgstr "" #: ../Doc/whatsnew/3.6.rst:839 msgid "" -"The :meth:`loop.create_server() ` " -"method can now accept a list of hosts. (Contributed by Yann Sionneau.)" +"The :meth:`loop.create_server() ` method can now " +"accept a list of hosts. (Contributed by Yann Sionneau.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:843 msgid "" -"New :meth:`loop.create_future() ` " -"method to create Future objects. This allows alternative event loop " -"implementations, such as `uvloop `_, " -"to provide a faster :class:`asyncio.Future` implementation. (Contributed by " -"Yury Selivanov in :issue:`27041`.)" +"New :meth:`loop.create_future() ` method to " +"create Future objects. This allows alternative event loop implementations, " +"such as `uvloop `_, to provide a " +"faster :class:`asyncio.Future` implementation. (Contributed by Yury " +"Selivanov in :issue:`27041`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:850 msgid "" -"New :meth:`loop.get_exception_handler() ` method to get the current exception handler. " "(Contributed by Yury Selivanov in :issue:`27040`.)" msgstr "" @@ -1032,15 +1030,15 @@ msgstr "" #: ../Doc/whatsnew/3.6.rst:863 msgid "" -"The :meth:`loop.getaddrinfo() ` method is " +"The :meth:`loop.getaddrinfo() ` method is " "optimized to avoid calling the system ``getaddrinfo`` function if the " "address is already resolved. (Contributed by A. Jesse Jiryu Davis.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:868 msgid "" -"The :meth:`loop.stop() ` method has been changed " -"to stop the loop immediately after the current iteration. Any new callbacks " +"The :meth:`loop.stop() ` method has been changed to stop " +"the loop immediately after the current iteration. Any new callbacks " "scheduled as a result of the last iteration will be discarded. (Contributed " "by Guido van Rossum in :issue:`25593`.)" msgstr "" @@ -1054,7 +1052,7 @@ msgstr "" #: ../Doc/whatsnew/3.6.rst:879 msgid "" -"New :meth:`loop.connect_accepted_socket() ` method to be used by servers that accept " "connections outside of asyncio, but that use asyncio to handle them. " "(Contributed by Jim Fulton in :issue:`27392`.)" @@ -1068,9 +1066,9 @@ msgstr "" #: ../Doc/whatsnew/3.6.rst:887 msgid "" -"New :meth:`loop.shutdown_asyncgens() ` to properly close pending asynchronous generators " -"before closing the loop. (Contributed by Yury Selivanov in :issue:`28003`.)" +"New :meth:`loop.shutdown_asyncgens() ` to " +"properly close pending asynchronous generators before closing the loop. " +"(Contributed by Yury Selivanov in :issue:`28003`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:892 @@ -1143,7 +1141,7 @@ msgid "" "Hettinger in :issue:`17941`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:940 ../Doc/whatsnew/3.6.rst:2269 +#: ../Doc/whatsnew/3.6.rst:940 ../Doc/whatsnew/3.6.rst:2278 msgid "" "The *verbose* and *rename* arguments for :func:`~collections.namedtuple` are " "now keyword-only. (Contributed by Raymond Hettinger in :issue:`25628`.)" @@ -1234,7 +1232,7 @@ msgstr "" msgid "(Contributed by Stefan Krah amd Mark Dickinson in :issue:`25928`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1012 ../Doc/whatsnew/3.6.rst:1977 +#: ../Doc/whatsnew/3.6.rst:1012 ../Doc/whatsnew/3.6.rst:1986 msgid "distutils" msgstr "distutils" @@ -1478,7 +1476,7 @@ msgid "" "maxlines. Clicking on a context line jumps the editor to that line. " "Context colors for custom themes is added to Highlights tab of Settings " "dialog. (Contributed by Cheryl Sabella and Terry Jan Reedy in :issue:" -"`33642`, :issue:`33768`, and :issue:`33679`)" +"`33642`, :issue:`33768`, and :issue:`33679`.)" msgstr "" #: ../Doc/whatsnew/3.6.rst:1182 @@ -1487,14 +1485,28 @@ msgid "" "8.1+ or 10, with DPI compatibility properties of the Python binary " "unchanged, and a monitor resolution greater than 96 DPI, this should make " "text and lines sharper. It should otherwise have no effect. (Contributed by " -"Terry Jan Reedy in :issue:`33656`)." +"Terry Jan Reedy in :issue:`33656`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1190 ../Doc/whatsnew/3.6.rst:1994 +#: ../Doc/whatsnew/3.6.rst:1188 +msgid "New in 3.6.7:" +msgstr "" + +#: ../Doc/whatsnew/3.6.rst:1190 +msgid "" +"Output over N lines (50 by default) is squeezed down to a button. N can be " +"changed in the PyShell section of the General page of the Settings dialog. " +"Fewer, but possibly extra long, lines can be squeezed by right clicking on " +"the output. Squeezed output can be expanded in place by double-clicking the " +"button or into the clipboard or a separate window by right-clicking the " +"button. (Contributed by Tal Einat in :issue:`1529353`.)" +msgstr "" + +#: ../Doc/whatsnew/3.6.rst:1199 ../Doc/whatsnew/3.6.rst:2003 msgid "importlib" msgstr "importlib" -#: ../Doc/whatsnew/3.6.rst:1192 +#: ../Doc/whatsnew/3.6.rst:1201 msgid "" "Import now raises the new exception :exc:`ModuleNotFoundError` (subclass of :" "exc:`ImportError`) when it cannot find a module. Code that current checks " @@ -1502,7 +1514,7 @@ msgid "" "Snow in :issue:`15767`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1197 +#: ../Doc/whatsnew/3.6.rst:1206 msgid "" ":class:`importlib.util.LazyLoader` now calls :meth:`~importlib.abc.Loader." "create_module` on the wrapped loader, removing the restriction that :class:" @@ -1511,18 +1523,18 @@ msgid "" "LazyLoader`." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1203 +#: ../Doc/whatsnew/3.6.rst:1212 msgid "" ":func:`importlib.util.cache_from_source`, :func:`importlib.util." "source_from_cache`, and :func:`importlib.util.spec_from_file_location` now " "accept a :term:`path-like object`." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1210 +#: ../Doc/whatsnew/3.6.rst:1219 msgid "inspect" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1212 +#: ../Doc/whatsnew/3.6.rst:1221 msgid "" "The :func:`inspect.signature() ` function now reports the " "implicit ``.0`` parameters generated by the compiler for comprehension and " @@ -1530,7 +1542,7 @@ msgid "" "called ``implicit0``. (Contributed by Jelle Zijlstra in :issue:`19611`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1217 +#: ../Doc/whatsnew/3.6.rst:1226 msgid "" "To reduce code churn when upgrading from Python 2.7 and the legacy :func:" "`inspect.getargspec` API, the previously documented deprecation of :func:" @@ -1540,22 +1552,22 @@ msgid "" "(Contributed by Nick Coghlan in :issue:`27172`)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1226 +#: ../Doc/whatsnew/3.6.rst:1235 msgid "json" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1228 +#: ../Doc/whatsnew/3.6.rst:1237 msgid "" ":func:`json.load` and :func:`json.loads` now support binary input. Encoded " "JSON should be represented using either UTF-8, UTF-16, or UTF-32. " "(Contributed by Serhiy Storchaka in :issue:`17909`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1234 +#: ../Doc/whatsnew/3.6.rst:1243 msgid "logging" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1236 +#: ../Doc/whatsnew/3.6.rst:1245 msgid "" "The new :meth:`WatchedFileHandler.reopenIfNeeded() ` method has been added to add the ability " @@ -1563,44 +1575,44 @@ msgid "" "in :issue:`24884`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1243 +#: ../Doc/whatsnew/3.6.rst:1252 msgid "math" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1245 +#: ../Doc/whatsnew/3.6.rst:1254 msgid "" "The tau (*τ*) constant has been added to the :mod:`math` and :mod:`cmath` " "modules. (Contributed by Lisa Roach in :issue:`12345`, see :pep:`628` for " "details.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1251 +#: ../Doc/whatsnew/3.6.rst:1260 msgid "multiprocessing" msgstr "multiprocessing" -#: ../Doc/whatsnew/3.6.rst:1253 +#: ../Doc/whatsnew/3.6.rst:1262 msgid "" ":ref:`Proxy Objects ` returned by :func:" "`multiprocessing.Manager` can now be nested. (Contributed by Davin Potts in :" "issue:`6766`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1259 ../Doc/whatsnew/3.6.rst:2008 +#: ../Doc/whatsnew/3.6.rst:1268 ../Doc/whatsnew/3.6.rst:2017 msgid "os" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1261 +#: ../Doc/whatsnew/3.6.rst:1270 msgid "" "See the summary of :ref:`PEP 519 ` for details on how " "the :mod:`os` and :mod:`os.path` modules now support :term:`path-like " "objects `." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1265 +#: ../Doc/whatsnew/3.6.rst:1274 msgid ":func:`~os.scandir` now supports :class:`bytes` paths on Windows." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1267 +#: ../Doc/whatsnew/3.6.rst:1276 msgid "" "A new :meth:`~os.scandir.close` method allows explicitly closing a :func:" "`~os.scandir` iterator. The :func:`~os.scandir` iterator now supports the :" @@ -1609,42 +1621,42 @@ msgid "" "its destructor. (Contributed by Serhiy Storchaka in :issue:`25994`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1277 +#: ../Doc/whatsnew/3.6.rst:1286 msgid "" "The Linux ``getrandom()`` syscall (get random bytes) is now exposed as the " "new :func:`os.getrandom` function. (Contributed by Victor Stinner, part of " "the :pep:`524`)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1283 +#: ../Doc/whatsnew/3.6.rst:1292 msgid "pathlib" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1285 +#: ../Doc/whatsnew/3.6.rst:1294 msgid "" ":mod:`pathlib` now supports :term:`path-like objects `. " "(Contributed by Brett Cannon in :issue:`27186`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1288 +#: ../Doc/whatsnew/3.6.rst:1297 msgid "See the summary of :ref:`PEP 519 ` for details." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1292 +#: ../Doc/whatsnew/3.6.rst:1301 msgid "pdb" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1294 +#: ../Doc/whatsnew/3.6.rst:1303 msgid "" "The :class:`~pdb.Pdb` class constructor has a new optional *readrc* argument " "to control whether ``.pdbrc`` files should be read." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1299 +#: ../Doc/whatsnew/3.6.rst:1308 msgid "pickle" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1301 +#: ../Doc/whatsnew/3.6.rst:1310 msgid "" "Objects that need ``__new__`` called with keyword arguments can now be " "pickled using :ref:`pickle protocols ` older than protocol " @@ -1652,49 +1664,49 @@ msgid "" "Serhiy Storchaka in :issue:`24164`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1308 +#: ../Doc/whatsnew/3.6.rst:1317 msgid "pickletools" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1310 +#: ../Doc/whatsnew/3.6.rst:1319 msgid "" ":func:`pickletools.dis()` now outputs the implicit memo index for the " "``MEMOIZE`` opcode. (Contributed by Serhiy Storchaka in :issue:`25382`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1316 +#: ../Doc/whatsnew/3.6.rst:1325 msgid "pydoc" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1318 +#: ../Doc/whatsnew/3.6.rst:1327 msgid "" "The :mod:`pydoc` module has learned to respect the ``MANPAGER`` environment " "variable. (Contributed by Matthias Klose in :issue:`8637`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1322 +#: ../Doc/whatsnew/3.6.rst:1331 msgid "" ":func:`help` and :mod:`pydoc` can now list named tuple fields in the order " "they were defined rather than alphabetically. (Contributed by Raymond " "Hettinger in :issue:`24879`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1328 +#: ../Doc/whatsnew/3.6.rst:1337 msgid "random" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1330 +#: ../Doc/whatsnew/3.6.rst:1339 msgid "" "The new :func:`~random.choices` function returns a list of elements of " "specified size from the given population with optional weights. (Contributed " "by Raymond Hettinger in :issue:`18844`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1336 ../Doc/whatsnew/3.6.rst:2016 +#: ../Doc/whatsnew/3.6.rst:1345 ../Doc/whatsnew/3.6.rst:2025 msgid "re" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1338 +#: ../Doc/whatsnew/3.6.rst:1347 msgid "" "Added support of modifier spans in regular expressions. Examples: ``'(?i:" "p)ython'`` matches ``'python'`` and ``'Python'``, but not ``'PYTHON'``; ``'(?" @@ -1702,36 +1714,36 @@ msgid "" "(Contributed by Serhiy Storchaka in :issue:`433028`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1343 +#: ../Doc/whatsnew/3.6.rst:1352 msgid "" "Match object groups can be accessed by ``__getitem__``, which is equivalent " "to ``group()``. So ``mo['name']`` is now equivalent to ``mo." "group('name')``. (Contributed by Eric Smith in :issue:`24454`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1347 +#: ../Doc/whatsnew/3.6.rst:1356 msgid "" ":class:`~re.Match` objects now support :meth:`index-like objects ` as group indices. (Contributed by Jeroen Demeyer and Xiang Zhang " "in :issue:`27177`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1354 +#: ../Doc/whatsnew/3.6.rst:1363 msgid "readline" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1356 +#: ../Doc/whatsnew/3.6.rst:1365 msgid "" "Added :func:`~readline.set_auto_history` to enable or disable automatic " "addition of input to the history list. (Contributed by Tyler Crompton in :" "issue:`26870`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1362 +#: ../Doc/whatsnew/3.6.rst:1371 msgid "rlcompleter" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1364 +#: ../Doc/whatsnew/3.6.rst:1373 msgid "" "Private and special attribute names now are omitted unless the prefix starts " "with underscores. A space or a colon is added after some completed " @@ -1739,11 +1751,11 @@ msgid "" "`25209`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1370 +#: ../Doc/whatsnew/3.6.rst:1379 msgid "shlex" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1372 +#: ../Doc/whatsnew/3.6.rst:1381 msgid "" "The :class:`~shlex.shlex` has much :ref:`improved shell compatibility " "` through the new *punctuation_chars* argument " @@ -1751,53 +1763,53 @@ msgid "" "Vinay Sajip in :issue:`1521950`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1380 +#: ../Doc/whatsnew/3.6.rst:1389 msgid "site" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1382 +#: ../Doc/whatsnew/3.6.rst:1391 msgid "" "When specifying paths to add to :attr:`sys.path` in a `.pth` file, you may " "now specify file paths on top of directories (e.g. zip files). (Contributed " "by Wolfgang Langner in :issue:`26587`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1388 +#: ../Doc/whatsnew/3.6.rst:1397 msgid "sqlite3" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1390 +#: ../Doc/whatsnew/3.6.rst:1399 msgid "" ":attr:`sqlite3.Cursor.lastrowid` now supports the ``REPLACE`` statement. " "(Contributed by Alex LordThorsen in :issue:`16864`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1395 +#: ../Doc/whatsnew/3.6.rst:1404 msgid "socket" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1397 +#: ../Doc/whatsnew/3.6.rst:1406 msgid "" "The :func:`~socket.socket.ioctl` function now supports the :data:`~socket." "SIO_LOOPBACK_FAST_PATH` control code. (Contributed by Daniel Stokes in :" "issue:`26536`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1401 +#: ../Doc/whatsnew/3.6.rst:1410 msgid "" "The :meth:`~socket.socket.getsockopt` constants ``SO_DOMAIN``, " "``SO_PROTOCOL``, ``SO_PEERSEC``, and ``SO_PASSSEC`` are now supported. " "(Contributed by Christian Heimes in :issue:`26907`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1405 +#: ../Doc/whatsnew/3.6.rst:1414 msgid "" "The :meth:`~socket.socket.setsockopt` now supports the ``setsockopt(level, " "optname, None, optlen: int)`` form. (Contributed by Christian Heimes in :" "issue:`27744`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1409 +#: ../Doc/whatsnew/3.6.rst:1418 msgid "" "The socket module now supports the address family :data:`~socket.AF_ALG` to " "interface with Linux Kernel crypto API. ``ALG_*``, ``SOL_ALG`` and :meth:" @@ -1805,17 +1817,17 @@ msgid "" "in :issue:`27744` with support from Victor Stinner.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1415 +#: ../Doc/whatsnew/3.6.rst:1424 msgid "" "New Linux constants ``TCP_USER_TIMEOUT`` and ``TCP_CONGESTION`` were added. " "(Contributed by Omar Sandoval, issue:`26273`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1420 +#: ../Doc/whatsnew/3.6.rst:1429 msgid "socketserver" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1422 +#: ../Doc/whatsnew/3.6.rst:1431 msgid "" "Servers based on the :mod:`socketserver` module, including those defined in :" "mod:`http.server`, :mod:`xmlrpc.server` and :mod:`wsgiref.simple_server`, " @@ -1823,7 +1835,7 @@ msgid "" "Palivoda in :issue:`26404`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1428 +#: ../Doc/whatsnew/3.6.rst:1437 msgid "" "The :attr:`~socketserver.StreamRequestHandler.wfile` attribute of :class:" "`~socketserver.StreamRequestHandler` classes now implements the :class:`io." @@ -1832,30 +1844,30 @@ msgid "" "(Contributed by Martin Panter in :issue:`26721`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1436 ../Doc/whatsnew/3.6.rst:2024 +#: ../Doc/whatsnew/3.6.rst:1445 ../Doc/whatsnew/3.6.rst:2033 msgid "ssl" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1438 +#: ../Doc/whatsnew/3.6.rst:1447 msgid "" ":mod:`ssl` supports OpenSSL 1.1.0. The minimum recommend version is 1.0.2. " "(Contributed by Christian Heimes in :issue:`26470`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1441 +#: ../Doc/whatsnew/3.6.rst:1450 msgid "" "3DES has been removed from the default cipher suites and ChaCha20 Poly1305 " "cipher suites have been added. (Contributed by Christian Heimes in :issue:" "`27850` and :issue:`27766`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1445 +#: ../Doc/whatsnew/3.6.rst:1454 msgid "" ":class:`~ssl.SSLContext` has better default configuration for options and " "ciphers. (Contributed by Christian Heimes in :issue:`28043`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1449 +#: ../Doc/whatsnew/3.6.rst:1458 msgid "" "SSL session can be copied from one client-side connection to another with " "the new :class:`~ssl.SSLSession` class. TLS session resumption can speed up " @@ -1863,50 +1875,50 @@ msgid "" "by Christian Heimes in :issue:`19500` based on a draft by Alex Warhawk.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1455 +#: ../Doc/whatsnew/3.6.rst:1464 msgid "" "The new :meth:`~ssl.SSLContext.get_ciphers` method can be used to get a list " "of enabled ciphers in order of cipher priority." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1458 +#: ../Doc/whatsnew/3.6.rst:1467 msgid "" "All constants and flags have been converted to :class:`~enum.IntEnum` and :" "class:`~enum.IntFlags`. (Contributed by Christian Heimes in :issue:`28025`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1462 +#: ../Doc/whatsnew/3.6.rst:1471 msgid "" "Server and client-side specific TLS protocols for :class:`~ssl.SSLContext` " "were added. (Contributed by Christian Heimes in :issue:`28085`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1468 +#: ../Doc/whatsnew/3.6.rst:1477 msgid "statistics" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1470 +#: ../Doc/whatsnew/3.6.rst:1479 msgid "" "A new :func:`~statistics.harmonic_mean` function has been added. " "(Contributed by Steven D'Aprano in :issue:`27181`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1475 +#: ../Doc/whatsnew/3.6.rst:1484 msgid "struct" msgstr "struct" -#: ../Doc/whatsnew/3.6.rst:1477 +#: ../Doc/whatsnew/3.6.rst:1486 msgid "" ":mod:`struct` now supports IEEE 754 half-precision floats via the ``'e'`` " "format specifier. (Contributed by Eli Stevens, Mark Dickinson in :issue:" "`11734`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1483 +#: ../Doc/whatsnew/3.6.rst:1492 msgid "subprocess" msgstr "subprocess" -#: ../Doc/whatsnew/3.6.rst:1485 +#: ../Doc/whatsnew/3.6.rst:1494 msgid "" ":class:`subprocess.Popen` destructor now emits a :exc:`ResourceWarning` " "warning if the child process is still running. Use the context manager " @@ -1915,7 +1927,7 @@ msgid "" "(Contributed by Victor Stinner in :issue:`26741`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1491 +#: ../Doc/whatsnew/3.6.rst:1500 msgid "" "The :class:`subprocess.Popen` constructor and all functions that pass " "arguments through to it now accept *encoding* and *errors* arguments. " @@ -1923,18 +1935,18 @@ msgid "" "and *stderr* streams. (Contributed by Steve Dower in :issue:`6135`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1498 +#: ../Doc/whatsnew/3.6.rst:1507 msgid "sys" msgstr "sys" -#: ../Doc/whatsnew/3.6.rst:1500 +#: ../Doc/whatsnew/3.6.rst:1509 msgid "" "The new :func:`~sys.getfilesystemencodeerrors` function returns the name of " "the error mode used to convert between Unicode filenames and bytes " "filenames. (Contributed by Steve Dower in :issue:`27781`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1504 +#: ../Doc/whatsnew/3.6.rst:1513 msgid "" "On Windows the return value of the :func:`~sys.getwindowsversion` function " "now includes the *platform_version* field which contains the accurate major " @@ -1943,31 +1955,31 @@ msgid "" "by Steve Dower in :issue:`27932`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1512 +#: ../Doc/whatsnew/3.6.rst:1521 msgid "telnetlib" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1514 +#: ../Doc/whatsnew/3.6.rst:1523 msgid "" ":class:`~telnetlib.Telnet` is now a context manager (contributed by Stéphane " "Wirtel in :issue:`25485`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1519 +#: ../Doc/whatsnew/3.6.rst:1528 msgid "time" msgstr "time" -#: ../Doc/whatsnew/3.6.rst:1521 +#: ../Doc/whatsnew/3.6.rst:1530 msgid "" "The :class:`~time.struct_time` attributes :attr:`tm_gmtoff` and :attr:" "`tm_zone` are now available on all platforms." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1526 +#: ../Doc/whatsnew/3.6.rst:1535 msgid "timeit" msgstr "timeit" -#: ../Doc/whatsnew/3.6.rst:1528 +#: ../Doc/whatsnew/3.6.rst:1537 msgid "" "The new :meth:`Timer.autorange() ` convenience " "method has been added to call :meth:`Timer.timeit() ` " @@ -1975,17 +1987,17 @@ msgid "" "milliseconds. (Contributed by Steven D'Aprano in :issue:`6422`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1533 +#: ../Doc/whatsnew/3.6.rst:1542 msgid "" ":mod:`timeit` now warns when there is substantial (4x) variance between best " "and worst times. (Contributed by Serhiy Storchaka in :issue:`23552`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1539 ../Doc/whatsnew/3.6.rst:2041 +#: ../Doc/whatsnew/3.6.rst:1548 ../Doc/whatsnew/3.6.rst:2050 msgid "tkinter" msgstr "tkinter" -#: ../Doc/whatsnew/3.6.rst:1541 +#: ../Doc/whatsnew/3.6.rst:1550 msgid "" "Added methods :meth:`~tkinter.Variable.trace_add`, :meth:`~tkinter.Variable." "trace_remove` and :meth:`~tkinter.Variable.trace_info` in the :class:" @@ -1996,52 +2008,52 @@ msgid "" "Serhiy Storchaka in :issue:`22115`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1554 +#: ../Doc/whatsnew/3.6.rst:1563 msgid "traceback" msgstr "traceback" -#: ../Doc/whatsnew/3.6.rst:1556 +#: ../Doc/whatsnew/3.6.rst:1565 msgid "" "Both the traceback module and the interpreter's builtin exception display " "now abbreviate long sequences of repeated lines in tracebacks as shown in " "the following example::" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1571 +#: ../Doc/whatsnew/3.6.rst:1580 msgid "(Contributed by Emanuel Barry in :issue:`26823`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1575 +#: ../Doc/whatsnew/3.6.rst:1584 msgid "tracemalloc" msgstr "tracemalloc" -#: ../Doc/whatsnew/3.6.rst:1577 +#: ../Doc/whatsnew/3.6.rst:1586 msgid "" "The :mod:`tracemalloc` module now supports tracing memory allocations in " "multiple different address spaces." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1580 +#: ../Doc/whatsnew/3.6.rst:1589 msgid "" "The new :class:`~tracemalloc.DomainFilter` filter class has been added to " "filter block traces by their address space (domain)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1583 +#: ../Doc/whatsnew/3.6.rst:1592 msgid "(Contributed by Victor Stinner in :issue:`26588`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1589 +#: ../Doc/whatsnew/3.6.rst:1598 msgid "typing" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1591 +#: ../Doc/whatsnew/3.6.rst:1600 msgid "" "Since the :mod:`typing` module is :term:`provisional `, all " "changes introduced in Python 3.6 have also been backported to Python 3.5.x." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1595 +#: ../Doc/whatsnew/3.6.rst:1604 msgid "" "The :mod:`typing` module has a much improved support for generic type " "aliases. For example ``Dict[str, Tuple[S, T]]`` is now a valid type " @@ -2049,21 +2061,21 @@ msgid "" "com/python/typing/pull/195>`_.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1601 +#: ../Doc/whatsnew/3.6.rst:1610 msgid "" "The :class:`typing.ContextManager` class has been added for representing :" "class:`contextlib.AbstractContextManager`. (Contributed by Brett Cannon in :" "issue:`25609`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1605 +#: ../Doc/whatsnew/3.6.rst:1614 msgid "" "The :class:`typing.Collection` class has been added for representing :class:" "`collections.abc.Collection`. (Contributed by Ivan Levkivskyi in :issue:" "`27598`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1609 +#: ../Doc/whatsnew/3.6.rst:1618 msgid "" "The :const:`typing.ClassVar` type construct has been added to mark class " "variables. As introduced in :pep:`526`, a variable annotation wrapped in " @@ -2073,46 +2085,46 @@ msgid "" "pull/280>`_.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1616 +#: ../Doc/whatsnew/3.6.rst:1625 msgid "" "A new :const:`~typing.TYPE_CHECKING` constant that is assumed to be ``True`` " -"by the static type chekers, but is ``False`` at runtime. (Contributed by " +"by the static type checkers, but is ``False`` at runtime. (Contributed by " "Guido van Rossum in `Github #230 `_.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1621 +#: ../Doc/whatsnew/3.6.rst:1630 msgid "" "A new :func:`~typing.NewType` helper function has been added to create " "lightweight distinct types for annotations::" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1629 +#: ../Doc/whatsnew/3.6.rst:1638 msgid "" "The static type checker will treat the new type as if it were a subclass of " "the original type. (Contributed by Ivan Levkivskyi in `Github #189 `_.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1635 +#: ../Doc/whatsnew/3.6.rst:1644 msgid "unicodedata" msgstr "unicodedata" -#: ../Doc/whatsnew/3.6.rst:1637 +#: ../Doc/whatsnew/3.6.rst:1646 msgid "" "The :mod:`unicodedata` module now uses data from `Unicode 9.0.0 `_. (Contributed by Benjamin Peterson.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1643 +#: ../Doc/whatsnew/3.6.rst:1652 msgid "unittest.mock" msgstr "unittest.mock" -#: ../Doc/whatsnew/3.6.rst:1645 +#: ../Doc/whatsnew/3.6.rst:1654 msgid "The :class:`~unittest.mock.Mock` class has the following improvements:" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1647 +#: ../Doc/whatsnew/3.6.rst:1656 msgid "" "Two new methods, :meth:`Mock.assert_called() ` and :meth:`Mock.assert_called_once() ` method now has " "two optional keyword only arguments: *return_value* and *side_effect*. " "(Contributed by Kushal Das in :issue:`21271`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1660 +#: ../Doc/whatsnew/3.6.rst:1669 msgid "urllib.request" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1662 +#: ../Doc/whatsnew/3.6.rst:1671 msgid "" "If a HTTP request has a file or iterable body (other than a bytes object) " "but no ``Content-Length`` header, rather than throwing an error, :class:" @@ -2139,33 +2151,33 @@ msgid "" "encoding. (Contributed by Demian Brecht and Rolf Krahl in :issue:`12319`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1670 +#: ../Doc/whatsnew/3.6.rst:1679 msgid "urllib.robotparser" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1672 +#: ../Doc/whatsnew/3.6.rst:1681 msgid "" ":class:`~urllib.robotparser.RobotFileParser` now supports the ``Crawl-" "delay`` and ``Request-rate`` extensions. (Contributed by Nikolay Bogoychev " "in :issue:`16099`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1678 ../Doc/whatsnew/3.6.rst:2047 +#: ../Doc/whatsnew/3.6.rst:1687 ../Doc/whatsnew/3.6.rst:2056 msgid "venv" msgstr "venv" -#: ../Doc/whatsnew/3.6.rst:1680 +#: ../Doc/whatsnew/3.6.rst:1689 msgid "" ":mod:`venv` accepts a new parameter ``--prompt``. This parameter provides an " "alternative prefix for the virtual environment. (Proposed by Łukasz " "Balcerzak and ported to 3.6 by Stéphane Wirtel in :issue:`22829`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1686 +#: ../Doc/whatsnew/3.6.rst:1695 msgid "warnings" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1688 +#: ../Doc/whatsnew/3.6.rst:1697 msgid "" "A new optional *source* parameter has been added to the :func:`warnings." "warn_explicit` function: the destroyed object which emitted a :exc:" @@ -2174,65 +2186,65 @@ msgid "" "and :issue:`26567`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1694 +#: ../Doc/whatsnew/3.6.rst:1703 msgid "" "When a :exc:`ResourceWarning` warning is logged, the :mod:`tracemalloc` " "module is now used to try to retrieve the traceback where the destroyed " "object was allocated." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1697 +#: ../Doc/whatsnew/3.6.rst:1706 msgid "Example with the script ``example.py``::" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1707 +#: ../Doc/whatsnew/3.6.rst:1716 msgid "Output of the command ``python3.6 -Wd -X tracemalloc=5 example.py``::" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1717 +#: ../Doc/whatsnew/3.6.rst:1726 msgid "" "The \"Object allocated at\" traceback is new and is only displayed if :mod:" "`tracemalloc` is tracing Python memory allocations and if the :mod:" "`warnings` module was already imported." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1723 +#: ../Doc/whatsnew/3.6.rst:1732 msgid "winreg" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1725 +#: ../Doc/whatsnew/3.6.rst:1734 msgid "" "Added the 64-bit integer type :data:`REG_QWORD `. " "(Contributed by Clement Rouault in :issue:`23026`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1730 +#: ../Doc/whatsnew/3.6.rst:1739 msgid "winsound" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1732 +#: ../Doc/whatsnew/3.6.rst:1741 msgid "" "Allowed keyword arguments to be passed to :func:`Beep `, :" "func:`MessageBeep `, and :func:`PlaySound ` (:issue:`27982`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1738 +#: ../Doc/whatsnew/3.6.rst:1747 msgid "xmlrpc.client" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1740 +#: ../Doc/whatsnew/3.6.rst:1749 msgid "" "The :mod:`xmlrpc.client` module now supports unmarshalling additional data " "types used by the Apache XML-RPC implementation for numerics and ``None``. " "(Contributed by Serhiy Storchaka in :issue:`26885`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1747 +#: ../Doc/whatsnew/3.6.rst:1756 msgid "zipfile" msgstr "zipfile" -#: ../Doc/whatsnew/3.6.rst:1749 +#: ../Doc/whatsnew/3.6.rst:1758 msgid "" "A new :meth:`ZipInfo.from_file() ` class method " "allows making a :class:`~zipfile.ZipInfo` instance from a filesystem file. A " @@ -2241,29 +2253,29 @@ msgid "" "(Contributed by Thomas Kluyver in :issue:`26039`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1755 +#: ../Doc/whatsnew/3.6.rst:1764 msgid "" "The :meth:`ZipFile.open() ` method can now be used to " "write data into a ZIP file, as well as for extracting data. (Contributed by " "Thomas Kluyver in :issue:`26039`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1761 +#: ../Doc/whatsnew/3.6.rst:1770 msgid "zlib" msgstr "zlib" -#: ../Doc/whatsnew/3.6.rst:1763 +#: ../Doc/whatsnew/3.6.rst:1772 msgid "" "The :func:`~zlib.compress` and :func:`~zlib.decompress` functions now accept " "keyword arguments. (Contributed by Aviv Palivoda in :issue:`26243` and Xiang " "Zhang in :issue:`16764` respectively.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1770 +#: ../Doc/whatsnew/3.6.rst:1779 msgid "Optimizations" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1772 +#: ../Doc/whatsnew/3.6.rst:1781 msgid "" "The Python interpreter now uses a 16-bit wordcode instead of bytecode which " "made a number of opcode optimizations possible. (Contributed by Demur Rumed " @@ -2271,79 +2283,79 @@ msgid "" "`26647` and :issue:`28050`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1777 +#: ../Doc/whatsnew/3.6.rst:1786 msgid "" "The :class:`asyncio.Future` class now has an optimized C implementation. " "(Contributed by Yury Selivanov and INADA Naoki in :issue:`26081`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1780 +#: ../Doc/whatsnew/3.6.rst:1789 msgid "" "The :class:`asyncio.Task` class now has an optimized C implementation. " "(Contributed by Yury Selivanov in :issue:`28544`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1783 +#: ../Doc/whatsnew/3.6.rst:1792 msgid "" "Various implementation improvements in the :mod:`typing` module (such as " "caching of generic types) allow up to 30 times performance improvements and " "reduced memory footprint." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1787 +#: ../Doc/whatsnew/3.6.rst:1796 msgid "" "The ASCII decoder is now up to 60 times as fast for error handlers " "``surrogateescape``, ``ignore`` and ``replace`` (Contributed by Victor " "Stinner in :issue:`24870`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1791 +#: ../Doc/whatsnew/3.6.rst:1800 msgid "" "The ASCII and the Latin1 encoders are now up to 3 times as fast for the " "error handler ``surrogateescape`` (Contributed by Victor Stinner in :issue:" "`25227`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1795 +#: ../Doc/whatsnew/3.6.rst:1804 msgid "" "The UTF-8 encoder is now up to 75 times as fast for error handlers " "``ignore``, ``replace``, ``surrogateescape``, ``surrogatepass`` (Contributed " "by Victor Stinner in :issue:`25267`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1799 +#: ../Doc/whatsnew/3.6.rst:1808 msgid "" "The UTF-8 decoder is now up to 15 times as fast for error handlers " "``ignore``, ``replace`` and ``surrogateescape`` (Contributed by Victor " "Stinner in :issue:`25301`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1803 +#: ../Doc/whatsnew/3.6.rst:1812 msgid "" "``bytes % args`` is now up to 2 times faster. (Contributed by Victor Stinner " "in :issue:`25349`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1806 +#: ../Doc/whatsnew/3.6.rst:1815 msgid "" "``bytearray % args`` is now between 2.5 and 5 times faster. (Contributed by " "Victor Stinner in :issue:`25399`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1809 +#: ../Doc/whatsnew/3.6.rst:1818 msgid "" "Optimize :meth:`bytes.fromhex` and :meth:`bytearray.fromhex`: they are now " "between 2x and 3.5x faster. (Contributed by Victor Stinner in :issue:" "`25401`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1812 +#: ../Doc/whatsnew/3.6.rst:1821 msgid "" "Optimize ``bytes.replace(b'', b'.')`` and ``bytearray.replace(b'', b'.')``: " "up to 80% faster. (Contributed by Josh Snider in :issue:`26574`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1815 +#: ../Doc/whatsnew/3.6.rst:1824 msgid "" "Allocator functions of the :c:func:`PyMem_Malloc` domain (:c:data:" "`PYMEM_DOMAIN_MEM`) now use the :ref:`pymalloc memory allocator ` " @@ -2353,14 +2365,14 @@ msgid "" "(Contributed by Victor Stinner in :issue:`26249`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1822 +#: ../Doc/whatsnew/3.6.rst:1831 msgid "" ":func:`pickle.load` and :func:`pickle.loads` are now up to 10% faster when " "deserializing many small objects (Contributed by Victor Stinner in :issue:" "`27056`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1826 +#: ../Doc/whatsnew/3.6.rst:1835 msgid "" "Passing :term:`keyword arguments ` to a function has an " "overhead in comparison with passing :term:`positional arguments ` must now be held when allocator " "functions of :c:data:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and :" "c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are called." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1871 +#: ../Doc/whatsnew/3.6.rst:1880 msgid "" "New :c:func:`Py_FinalizeEx` API which indicates if flushing buffered data " "failed. (Contributed by Martin Panter in :issue:`5319`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1875 +#: ../Doc/whatsnew/3.6.rst:1884 msgid "" ":c:func:`PyArg_ParseTupleAndKeywords` now supports :ref:`positional-only " "parameters `. Positional-only parameters are " "defined by empty names. (Contributed by Serhiy Storchaka in :issue:`26282`)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1880 +#: ../Doc/whatsnew/3.6.rst:1889 msgid "" "``PyTraceback_Print`` method now abbreviates long sequences of repeated " "lines as ``\"[Previous line repeated {count} more times]\"``. (Contributed " "by Emanuel Barry in :issue:`26823`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1884 +#: ../Doc/whatsnew/3.6.rst:1893 msgid "" "The new :c:func:`PyErr_SetImportErrorSubclass` function allows for " "specifying a subclass of :exc:`ImportError` to raise. (Contributed by Eric " "Snow in :issue:`15767`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1888 +#: ../Doc/whatsnew/3.6.rst:1897 msgid "" "The new :c:func:`PyErr_ResourceWarning` function can be used to generate a :" "exc:`ResourceWarning` providing the source of the resource allocation. " "(Contributed by Victor Stinner in :issue:`26567`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1892 +#: ../Doc/whatsnew/3.6.rst:1901 msgid "" "The new :c:func:`PyOS_FSPath` function returns the file system " "representation of a :term:`path-like object`. (Contributed by Brett Cannon " "in :issue:`27186`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1896 +#: ../Doc/whatsnew/3.6.rst:1905 msgid "" "The :c:func:`PyUnicode_FSConverter` and :c:func:`PyUnicode_FSDecoder` " "functions will now accept :term:`path-like objects `." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1901 +#: ../Doc/whatsnew/3.6.rst:1910 msgid "Other Improvements" msgstr "Autres Améliorations" -#: ../Doc/whatsnew/3.6.rst:1903 +#: ../Doc/whatsnew/3.6.rst:1912 msgid "" "When :option:`--version` (short form: :option:`-V`) is supplied twice, " "Python prints :data:`sys.version` for detailed information." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1914 +#: ../Doc/whatsnew/3.6.rst:1923 msgid "Deprecated" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1917 +#: ../Doc/whatsnew/3.6.rst:1926 msgid "New Keywords" msgstr "Nouveaux mot-clefs" -#: ../Doc/whatsnew/3.6.rst:1919 +#: ../Doc/whatsnew/3.6.rst:1928 msgid "" "``async`` and ``await`` are not recommended to be used as variable, class, " "function or module names. Introduced by :pep:`492` in Python 3.5, they will " @@ -2505,18 +2517,18 @@ msgid "" "``async`` or ``await`` as names will generate a :exc:`DeprecationWarning`." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1926 +#: ../Doc/whatsnew/3.6.rst:1935 msgid "Deprecated Python behavior" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1928 +#: ../Doc/whatsnew/3.6.rst:1937 msgid "" "Raising the :exc:`StopIteration` exception inside a generator will now " "generate a :exc:`DeprecationWarning`, and will trigger a :exc:`RuntimeError` " "in Python 3.7. See :ref:`whatsnew-pep-479` for details." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1932 +#: ../Doc/whatsnew/3.6.rst:1941 msgid "" "The :meth:`__aiter__` method is now expected to return an asynchronous " "iterator directly instead of returning an awaitable as previously. Doing the " @@ -2525,7 +2537,7 @@ msgid "" "`27243`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1938 +#: ../Doc/whatsnew/3.6.rst:1947 msgid "" "A backslash-character pair that is not a valid escape sequence now generates " "a :exc:`DeprecationWarning`. Although this will eventually become a :exc:" @@ -2533,7 +2545,7 @@ msgid "" "Emanuel Barry in :issue:`27364`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1943 +#: ../Doc/whatsnew/3.6.rst:1952 msgid "" "When performing a relative import, falling back on ``__name__`` and " "``__path__`` from the calling module when ``__spec__`` or ``__package__`` " @@ -2541,35 +2553,35 @@ msgid "" "Ames in :issue:`25791`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1950 +#: ../Doc/whatsnew/3.6.rst:1959 msgid "Deprecated Python modules, functions and methods" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1953 +#: ../Doc/whatsnew/3.6.rst:1962 msgid "asynchat" msgstr "asynchat" -#: ../Doc/whatsnew/3.6.rst:1955 +#: ../Doc/whatsnew/3.6.rst:1964 msgid "" "The :mod:`asynchat` has been deprecated in favor of :mod:`asyncio`. " "(Contributed by Mariatta in :issue:`25002`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1960 +#: ../Doc/whatsnew/3.6.rst:1969 msgid "asyncore" msgstr "asyncore" -#: ../Doc/whatsnew/3.6.rst:1962 +#: ../Doc/whatsnew/3.6.rst:1971 msgid "" "The :mod:`asyncore` has been deprecated in favor of :mod:`asyncio`. " "(Contributed by Mariatta in :issue:`25002`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1967 +#: ../Doc/whatsnew/3.6.rst:1976 msgid "dbm" msgstr "dbm" -#: ../Doc/whatsnew/3.6.rst:1969 +#: ../Doc/whatsnew/3.6.rst:1978 msgid "" "Unlike other :mod:`dbm` implementations, the :mod:`dbm.dumb` module creates " "databases with the ``'rw'`` mode and allows modifying the database opened " @@ -2577,7 +2589,7 @@ msgid "" "in 3.8. (Contributed by Serhiy Storchaka in :issue:`21708`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1979 +#: ../Doc/whatsnew/3.6.rst:1988 msgid "" "The undocumented ``extra_path`` argument to the :class:`~distutils." "Distribution` constructor is now considered deprecated and will raise a " @@ -2585,17 +2597,17 @@ msgid "" "Python release. See :issue:`27919` for details." msgstr "" -#: ../Doc/whatsnew/3.6.rst:1986 +#: ../Doc/whatsnew/3.6.rst:1995 msgid "grp" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1988 +#: ../Doc/whatsnew/3.6.rst:1997 msgid "" "The support of non-integer arguments in :func:`~grp.getgrgid` has been " "deprecated. (Contributed by Serhiy Storchaka in :issue:`26129`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:1996 +#: ../Doc/whatsnew/3.6.rst:2005 msgid "" "The :meth:`importlib.machinery.SourceFileLoader.load_module` and :meth:" "`importlib.machinery.SourcelessFileLoader.load_module` methods are now " @@ -2605,14 +2617,14 @@ msgid "" "exec_module`." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2003 +#: ../Doc/whatsnew/3.6.rst:2012 msgid "" "The :class:`importlib.machinery.WindowsRegistryFinder` class is now " "deprecated. As of 3.6.0, it is still added to :attr:`sys.meta_path` by " "default (on Windows), but this may change in future releases." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2010 +#: ../Doc/whatsnew/3.6.rst:2019 msgid "" "Undocumented support of general :term:`bytes-like objects ` as paths in :mod:`os` functions, :func:`compile` and similar " @@ -2620,7 +2632,7 @@ msgid "" "`25791` and :issue:`26754`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2018 +#: ../Doc/whatsnew/3.6.rst:2027 msgid "" "Support for inline flags ``(?letters)`` in the middle of the regular " "expression has been deprecated and will be removed in a future Python " @@ -2628,14 +2640,14 @@ msgid "" "(Contributed by Serhiy Storchaka in :issue:`22493`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2026 +#: ../Doc/whatsnew/3.6.rst:2035 msgid "" "OpenSSL 0.9.8, 1.0.0 and 1.0.1 are deprecated and no longer supported. In " "the future the :mod:`ssl` module will require at least OpenSSL 1.0.2 or " "1.1.0." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2030 +#: ../Doc/whatsnew/3.6.rst:2039 msgid "" "SSL-related arguments like ``certfile``, ``keyfile`` and ``check_hostname`` " "in :mod:`ftplib`, :mod:`http.client`, :mod:`imaplib`, :mod:`poplib`, and :" @@ -2643,7 +2655,7 @@ msgid "" "Christian Heimes in :issue:`28022`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2035 +#: ../Doc/whatsnew/3.6.rst:2044 msgid "" "A couple of protocols and functions of the :mod:`ssl` module are now " "deprecated. Some features will no longer be available in future versions of " @@ -2651,13 +2663,13 @@ msgid "" "(Contributed by Christian Heimes in :issue:`28022` and :issue:`26470`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2043 +#: ../Doc/whatsnew/3.6.rst:2052 msgid "" "The :mod:`tkinter.tix` module is now deprecated. :mod:`tkinter` users " "should use :mod:`tkinter.ttk` instead." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2049 +#: ../Doc/whatsnew/3.6.rst:2058 msgid "" "The ``pyvenv`` script has been deprecated in favour of ``python3 -m venv``. " "This prevents confusion as to what Python interpreter ``pyvenv`` is " @@ -2665,11 +2677,11 @@ msgid "" "environment. (Contributed by Brett Cannon in :issue:`25154`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2056 +#: ../Doc/whatsnew/3.6.rst:2065 msgid "Deprecated functions and types of the C API" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2058 +#: ../Doc/whatsnew/3.6.rst:2067 msgid "" "Undocumented functions :c:func:`PyUnicode_AsEncodedObject`, :c:func:" "`PyUnicode_AsDecodedObject`, :c:func:`PyUnicode_AsEncodedUnicode` and :c:" @@ -2677,11 +2689,11 @@ msgid "" "codec based API ` instead." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2065 +#: ../Doc/whatsnew/3.6.rst:2074 msgid "Deprecated Build Options" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2067 +#: ../Doc/whatsnew/3.6.rst:2076 msgid "" "The ``--with-system-ffi`` configure flag is now on by default on non-macOS " "UNIX platforms. It may be disabled by using ``--without-system-ffi``, but " @@ -2690,15 +2702,15 @@ msgid "" "the ``--with-system-ffi`` flag when building their system Python." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2075 +#: ../Doc/whatsnew/3.6.rst:2084 msgid "Removed" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2078 +#: ../Doc/whatsnew/3.6.rst:2087 msgid "API and Feature Removals" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2080 +#: ../Doc/whatsnew/3.6.rst:2089 msgid "" "Unknown escapes consisting of ``'\\'`` and an ASCII letter in regular " "expressions will now cause an error. In replacement templates for :func:`re." @@ -2706,14 +2718,14 @@ msgid "" "now only be used with binary patterns." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2085 +#: ../Doc/whatsnew/3.6.rst:2094 msgid "" "``inspect.getmoduleinfo()`` was removed (was deprecated since CPython 3.3). :" "func:`inspect.getmodulename` should be used for obtaining the module name " "for a given path. (Contributed by Yury Selivanov in :issue:`13248`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2090 +#: ../Doc/whatsnew/3.6.rst:2099 msgid "" "``traceback.Ignore`` class and ``traceback.usage``, ``traceback.modname``, " "``traceback.fullmodname``, ``traceback.find_lines_from_code``, ``traceback." @@ -2723,14 +2735,14 @@ msgid "" "equivalent functionality is available from private methods." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2097 +#: ../Doc/whatsnew/3.6.rst:2106 msgid "" "The ``tk_menuBar()`` and ``tk_bindForTraversal()`` dummy methods in :mod:" "`tkinter` widget classes were removed (corresponding Tk commands were " "obsolete since Tk 4.0)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2101 +#: ../Doc/whatsnew/3.6.rst:2110 msgid "" "The :meth:`~zipfile.ZipFile.open` method of the :class:`zipfile.ZipFile` " "class no longer supports the ``'U'`` mode (was deprecated since Python 3.4). " @@ -2738,7 +2750,7 @@ msgid "" "`universal newlines` mode." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2106 +#: ../Doc/whatsnew/3.6.rst:2115 msgid "" "The undocumented ``IN``, ``CDROM``, ``DLFCN``, ``TYPES``, ``CDIO``, and " "``STROPTS`` modules have been removed. They had been available in the " @@ -2748,25 +2760,25 @@ msgid "" "distribution at :source:`Tools/scripts/h2py.py`." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2113 +#: ../Doc/whatsnew/3.6.rst:2122 msgid "The deprecated ``asynchat.fifo`` class has been removed." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2117 +#: ../Doc/whatsnew/3.6.rst:2126 msgid "Porting to Python 3.6" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2119 +#: ../Doc/whatsnew/3.6.rst:2128 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2123 +#: ../Doc/whatsnew/3.6.rst:2132 msgid "Changes in 'python' Command Behavior" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2125 +#: ../Doc/whatsnew/3.6.rst:2134 msgid "" "The output of a special Python build with defined ``COUNT_ALLOCS``, " "``SHOW_ALLOC_COUNT`` or ``SHOW_TRACK_COUNT`` macros is now off by default. " @@ -2775,42 +2787,42 @@ msgid "" "issue:`23034`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2133 +#: ../Doc/whatsnew/3.6.rst:2142 msgid "Changes in the Python API" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2135 +#: ../Doc/whatsnew/3.6.rst:2144 msgid "" ":func:`open() ` will no longer allow combining the ``'U'`` mode flag " "with ``'+'``. (Contributed by Jeff Balogh and John O'Connor in :issue:" "`2091`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2139 +#: ../Doc/whatsnew/3.6.rst:2148 msgid "" ":mod:`sqlite3` no longer implicitly commits an open transaction before DDL " "statements." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2142 +#: ../Doc/whatsnew/3.6.rst:2151 msgid "" "On Linux, :func:`os.urandom` now blocks until the system urandom entropy " "pool is initialized to increase the security." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2145 +#: ../Doc/whatsnew/3.6.rst:2154 msgid "" "When :meth:`importlib.abc.Loader.exec_module` is defined, :meth:`importlib." "abc.Loader.create_module` must also be defined." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2148 +#: ../Doc/whatsnew/3.6.rst:2157 msgid "" ":c:func:`PyErr_SetImportError` now sets :exc:`TypeError` when its **msg** " "argument is not set. Previously only ``NULL`` was returned." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2151 +#: ../Doc/whatsnew/3.6.rst:2160 msgid "" "The format of the ``co_lnotab`` attribute of code objects changed to support " "a negative line number delta. By default, Python does not emit bytecode with " @@ -2823,7 +2835,7 @@ msgid "" "see the :pep:`511` for the rationale." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2161 +#: ../Doc/whatsnew/3.6.rst:2170 msgid "" "The functions in the :mod:`compileall` module now return booleans instead of " "``1`` or ``0`` to represent success or failure, respectively. Thanks to " @@ -2831,7 +2843,7 @@ msgid "" "were doing identity checks for ``1`` or ``0``. See :issue:`25768`." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2166 +#: ../Doc/whatsnew/3.6.rst:2175 msgid "" "Reading the :attr:`~urllib.parse.SplitResult.port` attribute of :func:" "`urllib.parse.urlsplit` and :func:`~urllib.parse.urlparse` results now " @@ -2839,13 +2851,13 @@ msgid "" "const:`None`. See :issue:`20059`." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2171 +#: ../Doc/whatsnew/3.6.rst:2180 msgid "" "The :mod:`imp` module now raises a :exc:`DeprecationWarning` instead of :exc:" "`PendingDeprecationWarning`." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2174 +#: ../Doc/whatsnew/3.6.rst:2183 msgid "" "The following modules have had missing APIs added to their :attr:`__all__` " "attributes to match the documented APIs: :mod:`calendar`, :mod:`cgi`, :mod:" @@ -2857,21 +2869,21 @@ msgid "" "Kołodziej in :issue:`23883`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2185 +#: ../Doc/whatsnew/3.6.rst:2194 msgid "" "When performing a relative import, if ``__package__`` does not compare equal " "to ``__spec__.parent`` then :exc:`ImportWarning` is raised. (Contributed by " "Brett Cannon in :issue:`25791`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2189 +#: ../Doc/whatsnew/3.6.rst:2198 msgid "" "When a relative import is performed and no parent package is known, then :" "exc:`ImportError` will be raised. Previously, :exc:`SystemError` could be " "raised. (Contributed by Brett Cannon in :issue:`18018`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2193 +#: ../Doc/whatsnew/3.6.rst:2202 msgid "" "Servers based on the :mod:`socketserver` module, including those defined in :" "mod:`http.server`, :mod:`xmlrpc.server` and :mod:`wsgiref.simple_server`, " @@ -2882,20 +2894,20 @@ msgid "" "(Contributed by Martin Panter in :issue:`23430`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2202 +#: ../Doc/whatsnew/3.6.rst:2211 msgid "" ":func:`spwd.getspnam` now raises a :exc:`PermissionError` instead of :exc:" "`KeyError` if the user doesn't have privileges." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2205 +#: ../Doc/whatsnew/3.6.rst:2214 msgid "" "The :meth:`socket.socket.close` method now raises an exception if an error " "(e.g. ``EBADF``) was reported by the underlying system call. (Contributed by " "Martin Panter in :issue:`26685`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2209 +#: ../Doc/whatsnew/3.6.rst:2218 msgid "" "The *decode_data* argument for the :class:`smtpd.SMTPChannel` and :class:" "`smtpd.SMTPServer` constructors is now ``False`` by default. This means that " @@ -2905,7 +2917,7 @@ msgid "" "deprecation warning generated by 3.5 will not be affected." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2217 +#: ../Doc/whatsnew/3.6.rst:2226 msgid "" "All optional arguments of the :func:`~json.dump`, :func:`~json.dumps`, :func:" "`~json.load` and :func:`~json.loads` functions and :class:`~json." @@ -2914,7 +2926,7 @@ msgid "" "(Contributed by Serhiy Storchaka in :issue:`18726`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2224 +#: ../Doc/whatsnew/3.6.rst:2233 msgid "" "Subclasses of :class:`type` which don't override ``type.__new__`` may no " "longer use the one-argument form to get the type of an object." @@ -2923,7 +2935,7 @@ msgstr "" "ne devraient plus utiliser la forme à un argument pour récupérer le type " "d'un objet." -#: ../Doc/whatsnew/3.6.rst:2227 +#: ../Doc/whatsnew/3.6.rst:2236 msgid "" "As part of :pep:`487`, the handling of keyword arguments passed to :class:" "`type` (other than the metaclass hint, ``metaclass``) is now consistently " @@ -2935,7 +2947,7 @@ msgid "" "__new__` (whether direct or via :class:`super`) accordingly." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2236 +#: ../Doc/whatsnew/3.6.rst:2245 msgid "" "In :class:`distutils.command.sdist.sdist`, the ``default_format`` attribute " "has been removed and is no longer honored. Instead, the gzipped tarfile " @@ -2945,13 +2957,13 @@ msgid "" "containing the following:" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2249 +#: ../Doc/whatsnew/3.6.rst:2258 msgid "" "This behavior has also been backported to earlier Python versions by " "Setuptools 26.0.0." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2252 +#: ../Doc/whatsnew/3.6.rst:2261 msgid "" "In the :mod:`urllib.request` module and the :meth:`http.client." "HTTPConnection.request` method, if no Content-Length header field has been " @@ -2962,47 +2974,47 @@ msgid "" "`12319`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2261 +#: ../Doc/whatsnew/3.6.rst:2270 msgid "" "The :class:`~csv.DictReader` now returns rows of type :class:`~collections." "OrderedDict`. (Contributed by Steve Holden in :issue:`27842`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2265 +#: ../Doc/whatsnew/3.6.rst:2274 msgid "" "The :const:`crypt.METHOD_CRYPT` will no longer be added to ``crypt.methods`` " "if unsupported by the platform. (Contributed by Victor Stinner in :issue:" "`25287`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2273 +#: ../Doc/whatsnew/3.6.rst:2282 msgid "" "On Linux, :func:`ctypes.util.find_library` now looks in ``LD_LIBRARY_PATH`` " "for shared libraries. (Contributed by Vinay Sajip in :issue:`9998`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2277 +#: ../Doc/whatsnew/3.6.rst:2286 msgid "" "The :class:`imaplib.IMAP4` class now handles flags containing the ``']'`` " "character in messages sent from the server to improve real-world " "compatibility. (Contributed by Lita Cho in :issue:`21815`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2282 +#: ../Doc/whatsnew/3.6.rst:2291 msgid "" "The :func:`mmap.write() ` function now returns the number of " "bytes written like other write methods. (Contributed by Jakub Stasiak in :" "issue:`26335`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2286 +#: ../Doc/whatsnew/3.6.rst:2295 msgid "" "The :func:`pkgutil.iter_modules` and :func:`pkgutil.walk_packages` functions " "now return :class:`~pkgutil.ModuleInfo` named tuples. (Contributed by " "Ramchandra Apte in :issue:`17211`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2290 +#: ../Doc/whatsnew/3.6.rst:2299 msgid "" ":func:`re.sub` now raises an error for invalid numerical group references in " "replacement templates even if the pattern is not found in the string. The " @@ -3011,7 +3023,7 @@ msgid "" "in :issue:`25953`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2296 +#: ../Doc/whatsnew/3.6.rst:2305 msgid "" ":class:`zipfile.ZipFile` will now raise :exc:`NotImplementedError` for " "unrecognized compression values. Previously a plain :exc:`RuntimeError` was " @@ -3021,7 +3033,7 @@ msgid "" "`RuntimeError` was raised in those scenarios." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2303 +#: ../Doc/whatsnew/3.6.rst:2312 msgid "" "when custom metaclasses are combined with zero-argument :func:`super` or " "direct references from methods to the implicit ``__class__`` closure " @@ -3031,11 +3043,11 @@ msgid "" "Python 3.8." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2311 +#: ../Doc/whatsnew/3.6.rst:2320 msgid "Changes in the C API" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2313 +#: ../Doc/whatsnew/3.6.rst:2322 msgid "" "The :c:func:`PyMem_Malloc` allocator family now uses the :ref:`pymalloc " "allocator ` rather than the system :c:func:`malloc`. Applications " @@ -3044,29 +3056,29 @@ msgid "" "usage of memory allocators in your application. See :issue:`26249`." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2319 +#: ../Doc/whatsnew/3.6.rst:2328 msgid "" ":c:func:`Py_Exit` (and the main interpreter) now override the exit status " "with 120 if flushing buffered data failed. See :issue:`5319`." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2324 +#: ../Doc/whatsnew/3.6.rst:2333 msgid "CPython bytecode changes" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2326 +#: ../Doc/whatsnew/3.6.rst:2335 msgid "" "There have been several major changes to the :term:`bytecode` in Python 3.6." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2328 +#: ../Doc/whatsnew/3.6.rst:2337 msgid "" "The Python interpreter now uses a 16-bit wordcode instead of bytecode. " "(Contributed by Demur Rumed with input and reviews from Serhiy Storchaka and " "Victor Stinner in :issue:`26647` and :issue:`28050`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2332 +#: ../Doc/whatsnew/3.6.rst:2341 msgid "" "The new :opcode:`FORMAT_VALUE` and :opcode:`BUILD_STRING` opcodes as part of " "the :ref:`formatted string literal ` implementation. " @@ -3074,14 +3086,14 @@ msgid "" "`27078`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2337 +#: ../Doc/whatsnew/3.6.rst:2346 msgid "" "The new :opcode:`BUILD_CONST_KEY_MAP` opcode to optimize the creation of " "dictionaries with constant keys. (Contributed by Serhiy Storchaka in :issue:" "`27140`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2341 +#: ../Doc/whatsnew/3.6.rst:2350 msgid "" "The function call opcodes have been heavily reworked for better performance " "and simpler implementation. The :opcode:`MAKE_FUNCTION`, :opcode:" @@ -3093,22 +3105,22 @@ msgid "" "issue:`27095`, and Serhiy Storchaka in :issue:`27213`, :issue:`28257`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2352 +#: ../Doc/whatsnew/3.6.rst:2361 msgid "" "The new :opcode:`SETUP_ANNOTATIONS` and :opcode:`STORE_ANNOTATION` opcodes " "have been added to support the new :term:`variable annotation` syntax. " "(Contributed by Ivan Levkivskyi in :issue:`27985`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2358 +#: ../Doc/whatsnew/3.6.rst:2367 msgid "Notable changes in Python 3.6.2" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2361 +#: ../Doc/whatsnew/3.6.rst:2370 msgid "New ``make regen-all`` build target" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2363 +#: ../Doc/whatsnew/3.6.rst:2372 msgid "" "To simplify cross-compilation, and to ensure that CPython can reliably be " "compiled without requiring an existing version of Python to already be " @@ -3116,43 +3128,43 @@ msgid "" "recompile generated files based on file modification times." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2368 +#: ../Doc/whatsnew/3.6.rst:2377 msgid "" "Instead, a new ``make regen-all`` command has been added to force " "regeneration of these files when desired (e.g. after an initial version of " "Python has already been built based on the pregenerated versions)." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2372 +#: ../Doc/whatsnew/3.6.rst:2381 msgid "" "More selective regeneration targets are also defined - see :source:`Makefile." "pre.in` for details." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2375 ../Doc/whatsnew/3.6.rst:2388 +#: ../Doc/whatsnew/3.6.rst:2384 ../Doc/whatsnew/3.6.rst:2397 msgid "(Contributed by Victor Stinner in :issue:`23404`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2381 +#: ../Doc/whatsnew/3.6.rst:2390 msgid "Removal of ``make touch`` build target" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2383 +#: ../Doc/whatsnew/3.6.rst:2392 msgid "" "The ``make touch`` build target previously used to request implicit " "regeneration of generated files by updating their modification times has " "been removed." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2386 +#: ../Doc/whatsnew/3.6.rst:2395 msgid "It has been replaced by the new ``make regen-all`` target." msgstr "" -#: ../Doc/whatsnew/3.6.rst:2394 +#: ../Doc/whatsnew/3.6.rst:2403 msgid "Notable changes in Python 3.6.4" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2396 +#: ../Doc/whatsnew/3.6.rst:2405 msgid "" "The ``PyExc_RecursionErrorInst`` singleton that was part of the public API " "has been removed as its members being never cleared may cause a segfault " @@ -3160,11 +3172,11 @@ msgid "" "issue:`22898` and :issue:`30697`.)" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2403 +#: ../Doc/whatsnew/3.6.rst:2412 msgid "Notable changes in Python 3.6.5" msgstr "" -#: ../Doc/whatsnew/3.6.rst:2405 +#: ../Doc/whatsnew/3.6.rst:2414 msgid "" "The :func:`locale.localeconv` function now sets temporarily the ``LC_CTYPE`` " "locale to the ``LC_NUMERIC`` locale in some cases. (Contributed by Victor " diff --git a/whatsnew/3.7.po b/whatsnew/3.7.po index aa5ceda9..2f335017 100644 --- a/whatsnew/3.7.po +++ b/whatsnew/3.7.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.7\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-15 21:52+0200\n" +"POT-Creation-Date: 2018-10-12 18:59+0200\n" "PO-Revision-Date: 2018-08-03 23:47+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -472,27 +472,27 @@ msgid "" "module:" msgstr "" -#: ../Doc/whatsnew/3.7.rst:346 ../Doc/whatsnew/3.7.rst:1417 +#: ../Doc/whatsnew/3.7.rst:346 ../Doc/whatsnew/3.7.rst:1430 msgid ":func:`time.clock_gettime_ns`" msgstr "" -#: ../Doc/whatsnew/3.7.rst:347 ../Doc/whatsnew/3.7.rst:1418 +#: ../Doc/whatsnew/3.7.rst:347 ../Doc/whatsnew/3.7.rst:1431 msgid ":func:`time.clock_settime_ns`" msgstr "" -#: ../Doc/whatsnew/3.7.rst:348 ../Doc/whatsnew/3.7.rst:1419 +#: ../Doc/whatsnew/3.7.rst:348 ../Doc/whatsnew/3.7.rst:1432 msgid ":func:`time.monotonic_ns`" msgstr "" -#: ../Doc/whatsnew/3.7.rst:349 ../Doc/whatsnew/3.7.rst:1420 +#: ../Doc/whatsnew/3.7.rst:349 ../Doc/whatsnew/3.7.rst:1433 msgid ":func:`time.perf_counter_ns`" msgstr "" -#: ../Doc/whatsnew/3.7.rst:350 ../Doc/whatsnew/3.7.rst:1421 +#: ../Doc/whatsnew/3.7.rst:350 ../Doc/whatsnew/3.7.rst:1434 msgid ":func:`time.process_time_ns`" msgstr "" -#: ../Doc/whatsnew/3.7.rst:351 ../Doc/whatsnew/3.7.rst:1422 +#: ../Doc/whatsnew/3.7.rst:351 ../Doc/whatsnew/3.7.rst:1435 msgid ":func:`time.time_ns`" msgstr "" @@ -856,7 +856,7 @@ msgid "" "positional arguments. (Contributed by paul.j3 in :issue:`14191`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:628 ../Doc/whatsnew/3.7.rst:1921 +#: ../Doc/whatsnew/3.7.rst:628 ../Doc/whatsnew/3.7.rst:1943 msgid "asyncio" msgstr "asyncio" @@ -878,14 +878,13 @@ msgstr "" #: ../Doc/whatsnew/3.7.rst:639 msgid "" "asyncio gained support for :mod:`contextvars`. :meth:`loop.call_soon() " -"`, :meth:`loop.call_soon_threadsafe() " -"`, :meth:`loop.call_later() " -"`, :meth:`loop.call_at() `, and :meth:`Future.add_done_callback() ` have a new optional keyword-only *context* " -"parameter. :class:`Tasks ` now track their context " -"automatically. See :pep:`567` for more details. (Contributed by Yury " -"Selivanov in :issue:`32436`.)" +"`, :meth:`loop.call_soon_threadsafe() `, :meth:`loop.call_later() `, :meth:`loop.call_at() `, and :meth:" +"`Future.add_done_callback() ` have a new " +"optional keyword-only *context* parameter. :class:`Tasks ` now " +"track their context automatically. See :pep:`567` for more details. " +"(Contributed by Yury Selivanov in :issue:`32436`.)" msgstr "" #: ../Doc/whatsnew/3.7.rst:650 @@ -897,17 +896,17 @@ msgstr "" #: ../Doc/whatsnew/3.7.rst:654 msgid "" -"The new :meth:`loop.start_tls() ` " -"method can be used to upgrade an existing connection to TLS. (Contributed by " -"Yury Selivanov in :issue:`23749`.)" +"The new :meth:`loop.start_tls() ` method can be used " +"to upgrade an existing connection to TLS. (Contributed by Yury Selivanov in :" +"issue:`23749`.)" msgstr "" #: ../Doc/whatsnew/3.7.rst:658 msgid "" -"The new :meth:`loop.sock_recv_into() ` method allows reading data from a socket directly into a " -"provided buffer making it possible to reduce data copies. (Contributed by " -"Antoine Pitrou in :issue:`31819`.)" +"The new :meth:`loop.sock_recv_into() ` method " +"allows reading data from a socket directly into a provided buffer making it " +"possible to reduce data copies. (Contributed by Antoine Pitrou in :issue:" +"`31819`.)" msgstr "" #: ../Doc/whatsnew/3.7.rst:663 @@ -947,19 +946,19 @@ msgstr "" #: ../Doc/whatsnew/3.7.rst:686 msgid "" -"The new :meth:`loop.sock_sendfile() ` coroutine method allows sending files using :mod:`os." -"sendfile` when possible. (Contributed by Andrew Svetlov in :issue:`32410`.)" +"The new :meth:`loop.sock_sendfile() ` coroutine " +"method allows sending files using :mod:`os.sendfile` when possible. " +"(Contributed by Andrew Svetlov in :issue:`32410`.)" msgstr "" #: ../Doc/whatsnew/3.7.rst:690 msgid "" -"The new :meth:`Task.get_loop() ` and :meth:`Future." -"get_loop() ` methods return the instance of the " -"loop on which a task or a future were created. :meth:`Server.get_loop() " -"` allows doing the same for :class:`asyncio.Server` " -"objects. (Contributed by Yury Selivanov in :issue:`32415` and Srinivas Reddy " -"Thatiparthy in :issue:`32418`.)" +"The new :meth:`Future.get_loop() ` and ``Task." +"get_loop()`` methods return the instance of the loop on which a task or a " +"future were created. :meth:`Server.get_loop() ` " +"allows doing the same for :class:`asyncio.Server` objects. (Contributed by " +"Yury Selivanov in :issue:`32415` and Srinivas Reddy Thatiparthy in :issue:" +"`32418`.)" msgstr "" #: ../Doc/whatsnew/3.7.rst:698 @@ -967,14 +966,14 @@ msgid "" "It is now possible to control how instances of :class:`asyncio.Server` begin " "serving. Previously, the server would start serving immediately when " "created. The new *start_serving* keyword argument to :meth:`loop." -"create_server() ` and :meth:`loop." -"create_unix_server() `, as " -"well as :meth:`Server.start_serving() `, and :" -"meth:`Server.serve_forever() ` can be used to " -"decouple server instantiation and serving. The new :meth:`Server." -"is_serving() ` method returns ``True`` if the " -"server is serving. :class:`~asyncio.Server` objects are now asynchronous " -"context managers::" +"create_server() ` and :meth:`loop." +"create_unix_server() `, as well as :meth:" +"`Server.start_serving() `, and :meth:`Server." +"serve_forever() ` can be used to decouple " +"server instantiation and serving. The new :meth:`Server.is_serving() " +"` method returns ``True`` if the server is " +"serving. :class:`~asyncio.Server` objects are now asynchronous context " +"managers::" msgstr "" #: ../Doc/whatsnew/3.7.rst:717 @@ -983,15 +982,15 @@ msgstr "" #: ../Doc/whatsnew/3.7.rst:719 msgid "" -"Callback objects returned by :func:`loop.call_later() ` gained the new :meth:`when() ` method which returns an absolute scheduled callback " -"timestamp. (Contributed by Andrew Svetlov in :issue:`32741`.)" +"Callback objects returned by :func:`loop.call_later() ` gained the new :meth:`when() ` method " +"which returns an absolute scheduled callback timestamp. (Contributed by " +"Andrew Svetlov in :issue:`32741`.)" msgstr "" #: ../Doc/whatsnew/3.7.rst:725 msgid "" -"The :meth:`loop.create_datagram_endpoint() \\ ` method gained support for Unix sockets. " "(Contributed by Quentin Dawans in :issue:`31245`.)" msgstr "" @@ -999,9 +998,9 @@ msgstr "" #: ../Doc/whatsnew/3.7.rst:730 msgid "" "The :func:`asyncio.open_connection`, :func:`asyncio.start_server` " -"functions, :meth:`loop.create_connection() `, :meth:`loop.create_server() `, :meth:`loop.create_accepted_socket() `, :meth:`loop.create_server() `, :meth:`loop.create_accepted_socket() ` methods and their corresponding UNIX socket " "variants now accept the *ssl_handshake_timeout* keyword argument. " "(Contributed by Neil Aspinall in :issue:`29970`.)" @@ -1085,7 +1084,7 @@ msgid "" "(Contributed by Oz Tiram in :issue:`30095`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:790 ../Doc/whatsnew/3.7.rst:1936 +#: ../Doc/whatsnew/3.7.rst:790 ../Doc/whatsnew/3.7.rst:1957 msgid "collections" msgstr "" @@ -1192,7 +1191,7 @@ msgid "" "(Contributed by Alexander Belopolsky in :issue:`5288`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:866 ../Doc/whatsnew/3.7.rst:1946 +#: ../Doc/whatsnew/3.7.rst:866 ../Doc/whatsnew/3.7.rst:1967 msgid "dbm" msgstr "dbm" @@ -1237,7 +1236,7 @@ msgid "" "in :issue:`11913`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:900 ../Doc/whatsnew/3.7.rst:1956 +#: ../Doc/whatsnew/3.7.rst:900 ../Doc/whatsnew/3.7.rst:1977 msgid "enum" msgstr "enum" @@ -1381,7 +1380,7 @@ msgid "" "maxlines. Clicking on a context line jumps the editor to that line. " "Context colors for custom themes is added to Highlights tab of Settings " "dialog. (Contributed by Cheryl Sabella and Terry Jan Reedy in :issue:" -"`33642`, :issue:`33768`, and :issue:`33679`," +"`33642`, :issue:`33768`, and :issue:`33679`.)" msgstr "" #: ../Doc/whatsnew/3.7.rst:1003 @@ -1390,18 +1389,32 @@ msgid "" "8.1+ or 10, with DPI compatibility properties of the Python binary " "unchanged, and a monitor resolution greater than 96 DPI, this should make " "text and lines sharper. It should otherwise have no effect. (Contributed by " -"Terry Jan Reedy in :issue:`33656`)." +"Terry Jan Reedy in :issue:`33656`.)" msgstr "" #: ../Doc/whatsnew/3.7.rst:1009 +msgid "New in 3.7.1:" +msgstr "" + +#: ../Doc/whatsnew/3.7.rst:1011 +msgid "" +"Output over N lines (50 by default) is squeezed down to a button. N can be " +"changed in the PyShell section of the General page of the Settings dialog. " +"Fewer, but possibly extra long, lines can be squeezed by right clicking on " +"the output. Squeezed output can be expanded in place by double-clicking the " +"button or into the clipboard or a separate window by right-clicking the " +"button. (Contributed by Tal Einat in :issue:`1529353`.)" +msgstr "" + +#: ../Doc/whatsnew/3.7.rst:1018 msgid "The changes above have been backported to 3.6 maintenance releases." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1013 ../Doc/whatsnew/3.7.rst:1975 +#: ../Doc/whatsnew/3.7.rst:1022 ../Doc/whatsnew/3.7.rst:1996 msgid "importlib" msgstr "importlib" -#: ../Doc/whatsnew/3.7.rst:1015 +#: ../Doc/whatsnew/3.7.rst:1024 msgid "" "The :class:`importlib.abc.ResourceReader` ABC was introduced to support the " "loading of resources from packages. See also :ref:" @@ -1409,13 +1422,13 @@ msgid "" "in :issue:`32248`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1020 +#: ../Doc/whatsnew/3.7.rst:1029 msgid "" ":func:`importlib.reload` now raises :exc:`ModuleNotFoundError` if the module " "lacks a spec. (Contributed by Garvit Khatri in :issue:`29851`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1024 +#: ../Doc/whatsnew/3.7.rst:1033 msgid "" ":func:`importlib.find_spec` now raises ``ModuleNotFoundError`` instead of :" "exc:`AttributeError` if the specified parent module is not a package (i.e. " @@ -1423,18 +1436,18 @@ msgid "" "`30436`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1029 +#: ../Doc/whatsnew/3.7.rst:1038 msgid "" "The new :func:`importlib.source_hash` can be used to compute the hash of the " "passed source. A :ref:`hash-based .pyc file ` embeds the " "value returned by this function." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1035 +#: ../Doc/whatsnew/3.7.rst:1044 msgid "io" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1037 +#: ../Doc/whatsnew/3.7.rst:1046 msgid "" "The new :meth:`TextIOWrapper.reconfigure() ` " "method can be used to reconfigure the text stream with the new settings. " @@ -1442,11 +1455,11 @@ msgid "" "`15216`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1044 +#: ../Doc/whatsnew/3.7.rst:1053 msgid "ipaddress" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1046 +#: ../Doc/whatsnew/3.7.rst:1055 msgid "" "The new ``subnet_of()`` and ``supernet_of()`` methods of :class:`ipaddress." "IPv6Network` and :class:`ipaddress.IPv4Network` can be used for network " @@ -1454,95 +1467,95 @@ msgid "" "issue:`20825`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1053 +#: ../Doc/whatsnew/3.7.rst:1062 msgid "itertools" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1055 +#: ../Doc/whatsnew/3.7.rst:1064 msgid "" ":func:`itertools.islice` now accepts :meth:`integer-like objects ` as start, stop, and slice arguments. (Contributed by Will " "Roberts in :issue:`30537`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1062 ../Doc/whatsnew/3.7.rst:1993 +#: ../Doc/whatsnew/3.7.rst:1071 ../Doc/whatsnew/3.7.rst:2014 msgid "locale" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1064 +#: ../Doc/whatsnew/3.7.rst:1073 msgid "" "The new *monetary* argument to :func:`locale.format_string` can be used to " "make the conversion use monetary thousands separators and grouping strings. " "(Contributed by Garvit in :issue:`10379`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1068 +#: ../Doc/whatsnew/3.7.rst:1077 msgid "" "The :func:`locale.getpreferredencoding` function now always returns " "``'UTF-8'`` on Android or when in the :ref:`forced UTF-8 mode `." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1073 +#: ../Doc/whatsnew/3.7.rst:1082 msgid "logging" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1075 +#: ../Doc/whatsnew/3.7.rst:1084 msgid "" ":class:`~logging.Logger` instances can now be pickled. (Contributed by Vinay " "Sajip in :issue:`30520`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1078 +#: ../Doc/whatsnew/3.7.rst:1087 msgid "" "The new :meth:`StreamHandler.setStream() ` " "method can be used to replace the logger stream after handler creation. " "(Contributed by Vinay Sajip in :issue:`30522`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1082 +#: ../Doc/whatsnew/3.7.rst:1091 msgid "" "It is now possible to specify keyword arguments to handler constructors in " "configuration passed to :func:`logging.config.fileConfig`. (Contributed by " "Preston Landers in :issue:`31080`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1088 +#: ../Doc/whatsnew/3.7.rst:1097 msgid "math" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1090 +#: ../Doc/whatsnew/3.7.rst:1099 msgid "" "The new :func:`math.remainder` function implements the IEEE 754-style " "remainder operation. (Contributed by Mark Dickinson in :issue:`29962`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1095 +#: ../Doc/whatsnew/3.7.rst:1104 msgid "mimetypes" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1097 +#: ../Doc/whatsnew/3.7.rst:1106 msgid "" "The MIME type of .bmp has been changed from ``'image/x-ms-bmp'`` to ``'image/" "bmp'``. (Contributed by Nitish Chandra in :issue:`22589`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1103 +#: ../Doc/whatsnew/3.7.rst:1112 msgid "msilib" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1105 +#: ../Doc/whatsnew/3.7.rst:1114 msgid "" "The new :meth:`Database.Close() ` method can be used " "to close the :abbr:`MSI` database. (Contributed by Berker Peksag in :issue:" "`20486`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1111 +#: ../Doc/whatsnew/3.7.rst:1120 msgid "multiprocessing" msgstr "multiprocessing" -#: ../Doc/whatsnew/3.7.rst:1113 +#: ../Doc/whatsnew/3.7.rst:1122 msgid "" "The new :meth:`Process.close() ` method " "explicitly closes the process object and releases all resources associated " @@ -1550,43 +1563,43 @@ msgid "" "running. (Contributed by Antoine Pitrou in :issue:`30596`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1119 +#: ../Doc/whatsnew/3.7.rst:1128 msgid "" "The new :meth:`Process.kill() ` method can be " "used to terminate the process using the :data:`SIGKILL` signal on Unix. " "(Contributed by Vitor Pereira in :issue:`30794`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1123 +#: ../Doc/whatsnew/3.7.rst:1132 msgid "" "Non-daemonic threads created by :class:`~multiprocessing.Process` are now " "joined on process exit. (Contributed by Antoine Pitrou in :issue:`18966`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1129 +#: ../Doc/whatsnew/3.7.rst:1138 msgid "os" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1131 +#: ../Doc/whatsnew/3.7.rst:1140 msgid "" ":func:`os.fwalk` now accepts the *path* argument as :class:`bytes`. " "(Contributed by Serhiy Storchaka in :issue:`28682`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1134 +#: ../Doc/whatsnew/3.7.rst:1143 msgid "" ":func:`os.scandir` gained support for :ref:`file descriptors `. " "(Contributed by Serhiy Storchaka in :issue:`25996`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1137 +#: ../Doc/whatsnew/3.7.rst:1146 msgid "" "The new :func:`~os.register_at_fork` function allows registering Python " "callbacks to be executed at process fork. (Contributed by Antoine Pitrou in :" "issue:`16500`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1141 +#: ../Doc/whatsnew/3.7.rst:1150 msgid "" "Added :func:`os.preadv` (combine the functionality of :func:`os.readv` and :" "func:`os.pread`) and :func:`os.pwritev` functions (combine the functionality " @@ -1594,59 +1607,59 @@ msgid "" "in :issue:`31368`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1146 +#: ../Doc/whatsnew/3.7.rst:1155 msgid "" "The mode argument of :func:`os.makedirs` no longer affects the file " "permission bits of newly-created intermediate-level directories. " "(Contributed by Serhiy Storchaka in :issue:`19930`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1150 +#: ../Doc/whatsnew/3.7.rst:1159 msgid "" ":func:`os.dup2` now returns the new file descriptor. Previously, ``None`` " "was always returned. (Contributed by Benjamin Peterson in :issue:`32441`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1154 +#: ../Doc/whatsnew/3.7.rst:1163 msgid "" "The structure returned by :func:`os.stat` now contains the :attr:`~os." "stat_result.st_fstype` attribute on Solaris and its derivatives. " "(Contributed by Jesús Cea Avión in :issue:`32659`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1160 +#: ../Doc/whatsnew/3.7.rst:1169 msgid "pathlib" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1162 +#: ../Doc/whatsnew/3.7.rst:1171 msgid "" "The new :meth:`Path.is_mount() ` method is now " "available on POSIX systems and can be used to determine whether a path is a " "mount point. (Contributed by Cooper Ry Lees in :issue:`30897`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1168 +#: ../Doc/whatsnew/3.7.rst:1177 msgid "pdb" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1170 +#: ../Doc/whatsnew/3.7.rst:1179 msgid "" ":func:`pdb.set_trace` now takes an optional *header* keyword-only argument. " "If given, it is printed to the console just before debugging begins. " "(Contributed by Barry Warsaw in :issue:`31389`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1174 +#: ../Doc/whatsnew/3.7.rst:1183 msgid "" ":mod:`pdb` command line now accepts ``-m module_name`` as an alternative to " "script file. (Contributed by Mario Corchero in :issue:`32206`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1179 +#: ../Doc/whatsnew/3.7.rst:1188 msgid "py_compile" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1181 +#: ../Doc/whatsnew/3.7.rst:1190 msgid "" ":func:`py_compile.compile` -- and by extension, :mod:`compileall` -- now " "respects the :envvar:`SOURCE_DATE_EPOCH` environment variable by " @@ -1656,46 +1669,46 @@ msgid "" "Bernhard M. Wiedemann in :issue:`29708`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1191 +#: ../Doc/whatsnew/3.7.rst:1200 msgid "pydoc" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1193 +#: ../Doc/whatsnew/3.7.rst:1202 msgid "" "The pydoc server can now bind to an arbitrary hostname specified by the new " "``-n`` command-line argument. (Contributed by Feanil Patel in :issue:" "`31128`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1199 +#: ../Doc/whatsnew/3.7.rst:1208 msgid "queue" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1201 +#: ../Doc/whatsnew/3.7.rst:1210 msgid "" "The new :class:`~queue.SimpleQueue` class is an unbounded :abbr:`FIFO` " "queue. (Contributed by Antoine Pitrou in :issue:`14976`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1206 +#: ../Doc/whatsnew/3.7.rst:1215 msgid "re" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1208 +#: ../Doc/whatsnew/3.7.rst:1217 msgid "" "The flags :const:`re.ASCII`, :const:`re.LOCALE` and :const:`re.UNICODE` can " "be set within the scope of a group. (Contributed by Serhiy Storchaka in :" "issue:`31690`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1212 +#: ../Doc/whatsnew/3.7.rst:1221 msgid "" ":func:`re.split` now supports splitting on a pattern like ``r'\\b'``, ``'^" "$'`` or ``(?=-)`` that matches an empty string. (Contributed by Serhiy " "Storchaka in :issue:`25054`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1216 +#: ../Doc/whatsnew/3.7.rst:1225 msgid "" "Regular expressions compiled with the :const:`re.LOCALE` flag no longer " "depend on the locale at compile time. Locale settings are applied only when " @@ -1703,7 +1716,7 @@ msgid "" "in :issue:`30215`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1221 +#: ../Doc/whatsnew/3.7.rst:1230 msgid "" ":exc:`FutureWarning` is now emitted if a regular expression contains " "character set constructs that will change semantically in the future, such " @@ -1711,18 +1724,18 @@ msgid "" "issue:`30349`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1226 +#: ../Doc/whatsnew/3.7.rst:1235 msgid "" "Compiled regular expression and match objects can now be copied using :func:" "`copy.copy` and :func:`copy.deepcopy`. (Contributed by Serhiy Storchaka in :" "issue:`10076`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1232 +#: ../Doc/whatsnew/3.7.rst:1241 msgid "signal" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1234 +#: ../Doc/whatsnew/3.7.rst:1243 msgid "" "The new *warn_on_full_buffer* argument to the :func:`signal.set_wakeup_fd` " "function makes it possible to specify whether Python prints a warning on " @@ -1730,18 +1743,18 @@ msgid "" "in :issue:`30050`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1241 ../Doc/whatsnew/3.7.rst:2016 +#: ../Doc/whatsnew/3.7.rst:1250 ../Doc/whatsnew/3.7.rst:2037 msgid "socket" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1243 +#: ../Doc/whatsnew/3.7.rst:1252 msgid "" "The new :func:`socket.getblocking() ` method " "returns ``True`` if the socket is in blocking mode and ``False`` otherwise. " "(Contributed by Yury Selivanov in :issue:`32373`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1247 +#: ../Doc/whatsnew/3.7.rst:1256 msgid "" "The new :func:`socket.close` function closes the passed socket file " "descriptor. This function should be used instead of :func:`os.close` for " @@ -1749,7 +1762,7 @@ msgid "" "issue:`32454`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1252 +#: ../Doc/whatsnew/3.7.rst:1261 msgid "" "The :mod:`socket` module now exposes the :data:`socket.TCP_CONGESTION` " "(Linux 2.6.13), :data:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37), and :data:" @@ -1757,31 +1770,31 @@ msgid "" "Sandoval in :issue:`26273` and Nathaniel J. Smith in :issue:`29728`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1258 +#: ../Doc/whatsnew/3.7.rst:1267 msgid "" "Support for :data:`socket.AF_VSOCK` sockets has been added to allow " "communication between virtual machines and their hosts. (Contributed by " "Cathy Avery in :issue:`27584`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1262 +#: ../Doc/whatsnew/3.7.rst:1271 msgid "" "Sockets now auto-detect family, type and protocol from file descriptor by " "default. (Contributed by Christian Heimes in :issue:`28134`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1268 +#: ../Doc/whatsnew/3.7.rst:1277 msgid "socketserver" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1270 +#: ../Doc/whatsnew/3.7.rst:1279 msgid "" ":meth:`socketserver.ThreadingMixIn.server_close` now waits until all non-" "daemon threads complete. :meth:`socketserver.ForkingMixIn.server_close` now " "waits until all child processes complete." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1274 +#: ../Doc/whatsnew/3.7.rst:1283 msgid "" "Add a new :attr:`socketserver.ForkingMixIn.block_on_close` class attribute " "to :class:`socketserver.ForkingMixIn` and :class:`socketserver." @@ -1789,29 +1802,29 @@ msgid "" "pre-3.7 behaviour." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1280 +#: ../Doc/whatsnew/3.7.rst:1289 msgid "sqlite3" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1282 +#: ../Doc/whatsnew/3.7.rst:1291 msgid "" ":class:`sqlite3.Connection` now exposes the :meth:`~sqlite3.Connection." "backup` method when the underlying SQLite library is at version 3.6.11 or " "higher. (Contributed by Lele Gaifax in :issue:`27645`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1286 +#: ../Doc/whatsnew/3.7.rst:1295 msgid "" "The *database* argument of :func:`sqlite3.connect` now accepts any :term:" "`path-like object`, instead of just a string. (Contributed by Anders " "Lorentsen in :issue:`31843`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1292 ../Doc/whatsnew/3.7.rst:2025 +#: ../Doc/whatsnew/3.7.rst:1301 ../Doc/whatsnew/3.7.rst:2046 msgid "ssl" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1294 +#: ../Doc/whatsnew/3.7.rst:1303 msgid "" "The :mod:`ssl` module now uses OpenSSL's builtin API instead of :func:`~ssl." "match_hostname` to check a host name or an IP address. Values are validated " @@ -1823,7 +1836,7 @@ msgid "" "by Christian Heimes in :issue:`31399`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1305 +#: ../Doc/whatsnew/3.7.rst:1314 msgid "" "The improved host name check requires a *libssl* implementation compatible " "with OpenSSL 1.0.2 or 1.1. Consequently, OpenSSL 0.9.8 and 1.0.1 are no " @@ -1831,13 +1844,13 @@ msgid "" "The ssl module is mostly compatible with LibreSSL 2.7.2 and newer." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1310 +#: ../Doc/whatsnew/3.7.rst:1319 msgid "" "The ``ssl`` module no longer sends IP addresses in SNI TLS extension. " "(Contributed by Christian Heimes in :issue:`32185`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1313 +#: ../Doc/whatsnew/3.7.rst:1322 msgid "" ":func:`~ssl.match_hostname` no longer supports partial wildcards like ``www*." "example.org``. :attr:`SSLContext.host_flags ` has " @@ -1845,7 +1858,7 @@ msgid "" "in :issue:`23033` and Christian Heimes in :issue:`31399`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1319 +#: ../Doc/whatsnew/3.7.rst:1328 msgid "" "The default cipher suite selection of the ``ssl`` module now uses a " "blacklist approach rather than a hard-coded whitelist. Python no longer re-" @@ -1854,7 +1867,7 @@ msgid "" "Christian Heimes in :issue:`31429`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1325 +#: ../Doc/whatsnew/3.7.rst:1334 msgid "" "Validation of server certificates containing internationalized domain names " "(IDNs) is now supported. As part of this change, the :attr:`SSLSocket." @@ -1864,7 +1877,7 @@ msgid "" "and Christian Heimes in :issue:`28414`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1332 +#: ../Doc/whatsnew/3.7.rst:1341 msgid "" "The ``ssl`` module has preliminary and experimental support for TLS 1.3 and " "OpenSSL 1.1.1. At the time of Python 3.7.0 release, OpenSSL 1.1.1 is still " @@ -1874,7 +1887,7 @@ msgid "" "`32947`, :issue:`20995`, :issue:`29136`, :issue:`30622` and :issue:`33618`)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1340 +#: ../Doc/whatsnew/3.7.rst:1349 msgid "" ":class:`~ssl.SSLSocket` and :class:`~ssl.SSLObject` no longer have a public " "constructor. Direct instantiation was never a documented and supported " @@ -1883,32 +1896,39 @@ msgid "" "(Contributed by Christian Heimes in :issue:`32951`)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1346 +#: ../Doc/whatsnew/3.7.rst:1355 msgid "" "OpenSSL 1.1 APIs for setting the minimum and maximum TLS protocol version " "are available as :attr:`SSLContext.minimum_version ` and :attr:`SSLContext.maximum_version `. Supported protocols are indicated by serveral new flags, " +"maximum_version>`. Supported protocols are indicated by several new flags, " "such as :data:`~ssl.HAS_TLSv1_1`. (Contributed by Christian Heimes in :issue:" "`32609`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1355 +#: ../Doc/whatsnew/3.7.rst:1362 +msgid "" +"Added :attr:`SSLContext.post_handshake_auth` to enable and :meth:`ssl." +"SSLSocket.verify_client_post_handshake` to initiate TLS 1.3 post-handshake " +"authentication. (Contributed by Christian Heimes in :issue:`34670`.)" +msgstr "" + +#: ../Doc/whatsnew/3.7.rst:1368 msgid "string" msgstr "*string*" -#: ../Doc/whatsnew/3.7.rst:1357 +#: ../Doc/whatsnew/3.7.rst:1370 msgid "" ":class:`string.Template` now lets you to optionally modify the regular " "expression pattern for braced placeholders and non-braced placeholders " "separately. (Contributed by Barry Warsaw in :issue:`1198569`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1363 +#: ../Doc/whatsnew/3.7.rst:1376 msgid "subprocess" msgstr "subprocess" -#: ../Doc/whatsnew/3.7.rst:1365 +#: ../Doc/whatsnew/3.7.rst:1378 msgid "" "The :func:`subprocess.run` function accepts the new *capture_output* keyword " "argument. When true, stdout and stderr will be captured. This is equivalent " @@ -1916,14 +1936,14 @@ msgid "" "(Contributed by Bo Bayles in :issue:`32102`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1371 +#: ../Doc/whatsnew/3.7.rst:1384 msgid "" "The ``subprocess.run`` function and the :class:`subprocess.Popen` " "constructor now accept the *text* keyword argument as an alias to " "*universal_newlines*. (Contributed by Andrew Clegg in :issue:`31756`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1376 +#: ../Doc/whatsnew/3.7.rst:1389 msgid "" "On Windows the default for *close_fds* was changed from ``False`` to " "``True`` when redirecting the standard handles. It's now possible to set " @@ -1932,7 +1952,7 @@ msgid "" "all supported platforms. (Contributed by Segev Finer in :issue:`19764`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1383 +#: ../Doc/whatsnew/3.7.rst:1396 msgid "" "The subprocess module is now more graceful when handling :exc:" "`KeyboardInterrupt` during :func:`subprocess.call`, :func:`subprocess.run`, " @@ -1942,23 +1962,23 @@ msgid "" "`25942`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1393 ../Doc/whatsnew/3.7.rst:2041 +#: ../Doc/whatsnew/3.7.rst:1406 ../Doc/whatsnew/3.7.rst:2062 msgid "sys" msgstr "sys" -#: ../Doc/whatsnew/3.7.rst:1395 +#: ../Doc/whatsnew/3.7.rst:1408 msgid "" "The new :func:`sys.breakpointhook` hook function is called by the built-in :" "func:`breakpoint`. (Contributed by Barry Warsaw in :issue:`31353`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1399 +#: ../Doc/whatsnew/3.7.rst:1412 msgid "" "On Android, the new :func:`sys.getandroidapilevel` returns the build-time " "Android API version. (Contributed by Victor Stinner in :issue:`28740`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1403 +#: ../Doc/whatsnew/3.7.rst:1416 msgid "" "The new :func:`sys.get_coroutine_origin_tracking_depth` function returns the " "current coroutine origin tracking depth, as set by the new :func:`sys." @@ -1968,68 +1988,68 @@ msgid "" "`32591`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1412 +#: ../Doc/whatsnew/3.7.rst:1425 msgid "time" msgstr "time" -#: ../Doc/whatsnew/3.7.rst:1414 +#: ../Doc/whatsnew/3.7.rst:1427 msgid "" ":pep:`564` adds six new functions with nanosecond resolution to the :mod:" "`time` module:" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1424 +#: ../Doc/whatsnew/3.7.rst:1437 msgid "New clock identifiers have been added:" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1426 +#: ../Doc/whatsnew/3.7.rst:1439 msgid "" ":data:`time.CLOCK_BOOTTIME` (Linux): Identical to :data:`time." "CLOCK_MONOTONIC`, except it also includes any time that the system is " "suspended." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1429 +#: ../Doc/whatsnew/3.7.rst:1442 msgid "" ":data:`time.CLOCK_PROF` (FreeBSD, NetBSD and OpenBSD): High-resolution per-" "process CPU timer." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1431 +#: ../Doc/whatsnew/3.7.rst:1444 msgid "" ":data:`time.CLOCK_UPTIME` (FreeBSD, OpenBSD): Time whose absolute value is " "the time the system has been running and not suspended, providing accurate " "uptime measurement." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1435 +#: ../Doc/whatsnew/3.7.rst:1448 msgid "" "The new :func:`time.thread_time` and :func:`time.thread_time_ns` functions " "can be used to get per-thread CPU time measurements. (Contributed by Antoine " "Pitrou in :issue:`32025`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1439 +#: ../Doc/whatsnew/3.7.rst:1452 msgid "" "The new :func:`time.pthread_getcpuclockid` function returns the clock ID of " "the thread-specific CPU-time clock." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1444 +#: ../Doc/whatsnew/3.7.rst:1457 msgid "tkinter" msgstr "tkinter" -#: ../Doc/whatsnew/3.7.rst:1446 +#: ../Doc/whatsnew/3.7.rst:1459 msgid "" "The new :class:`tkinter.ttk.Spinbox` class is now available. (Contributed by " "Alan Moore in :issue:`32585`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1451 +#: ../Doc/whatsnew/3.7.rst:1464 msgid "tracemalloc" msgstr "tracemalloc" -#: ../Doc/whatsnew/3.7.rst:1453 +#: ../Doc/whatsnew/3.7.rst:1466 msgid "" ":class:`tracemalloc.Traceback` behaves more like regular tracebacks, sorting " "the frames from oldest to most recent. :meth:`Traceback.format() " @@ -2039,11 +2059,11 @@ msgid "" "by Jesse Bakker in :issue:`32121`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1463 +#: ../Doc/whatsnew/3.7.rst:1476 msgid "types" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1465 +#: ../Doc/whatsnew/3.7.rst:1478 msgid "" "The new :class:`~types.WrapperDescriptorType`, :class:`~types." "MethodWrapperType`, :class:`~types.MethodDescriptorType`, and :class:`~types." @@ -2052,29 +2072,29 @@ msgid "" "issue:`32265`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1471 +#: ../Doc/whatsnew/3.7.rst:1484 msgid "" "The new :func:`types.resolve_bases` function resolves MRO entries " "dynamically as specified by :pep:`560`. (Contributed by Ivan Levkivskyi in :" "issue:`32717`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1477 +#: ../Doc/whatsnew/3.7.rst:1490 msgid "unicodedata" msgstr "unicodedata" -#: ../Doc/whatsnew/3.7.rst:1479 +#: ../Doc/whatsnew/3.7.rst:1492 msgid "" "The internal :mod:`unicodedata` database has been upgraded to use `Unicode " "11 `_. (Contributed by " "Benjamin Peterson.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1485 +#: ../Doc/whatsnew/3.7.rst:1498 msgid "unittest" msgstr "unittest" -#: ../Doc/whatsnew/3.7.rst:1487 +#: ../Doc/whatsnew/3.7.rst:1500 msgid "" "The new ``-k`` command-line option allows filtering tests by a name " "substring or a Unix shell-like pattern. For example, ``python -m unittest -k " @@ -2083,18 +2103,18 @@ msgid "" "Jonas Haag in :issue:`32071`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1496 +#: ../Doc/whatsnew/3.7.rst:1509 msgid "unittest.mock" msgstr "unittest.mock" -#: ../Doc/whatsnew/3.7.rst:1498 +#: ../Doc/whatsnew/3.7.rst:1511 msgid "" "The :const:`~unittest.mock.sentinel` attributes now preserve their identity " "when they are :mod:`copied ` or :mod:`pickled `. (Contributed " "by Serhiy Storchaka in :issue:`20804`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1502 +#: ../Doc/whatsnew/3.7.rst:1515 msgid "" "The new :func:`~unittest.mock.seal` function allows sealing :class:" "`~unittest.mock.Mock` instances, which will disallow further creation of " @@ -2102,33 +2122,33 @@ msgid "" "themselves mocks. (Contributed by Mario Corchero in :issue:`30541`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1510 +#: ../Doc/whatsnew/3.7.rst:1523 msgid "urllib.parse" msgstr "urllib.parse" -#: ../Doc/whatsnew/3.7.rst:1512 +#: ../Doc/whatsnew/3.7.rst:1525 msgid "" ":func:`urllib.parse.quote` has been updated from :rfc:`2396` to :rfc:`3986`, " "adding ``~`` to the set of characters that are never quoted by default. " "(Contributed by Christian Theune and Ratnadeep Debnath in :issue:`16285`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1518 +#: ../Doc/whatsnew/3.7.rst:1531 msgid "uu" msgstr "uu" -#: ../Doc/whatsnew/3.7.rst:1520 +#: ../Doc/whatsnew/3.7.rst:1533 msgid "" "The :func:`uu.encode` function now accepts an optional *backtick* keyword " "argument. When it's true, zeros are represented by ``'`'`` instead of " "spaces. (Contributed by Xiang Zhang in :issue:`30103`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1526 +#: ../Doc/whatsnew/3.7.rst:1539 msgid "uuid" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1528 +#: ../Doc/whatsnew/3.7.rst:1541 msgid "" "The new :attr:`UUID.is_safe ` attribute relays " "information from the platform about whether generated UUIDs are generated " @@ -2136,7 +2156,7 @@ msgid "" "`22807`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1533 +#: ../Doc/whatsnew/3.7.rst:1546 msgid "" ":func:`uuid.getnode` now prefers universally administered MAC addresses over " "locally administered MAC addresses. This makes a better guarantee for global " @@ -2145,75 +2165,86 @@ msgid "" "returned. (Contributed by Barry Warsaw in :issue:`32107`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1542 +#: ../Doc/whatsnew/3.7.rst:1555 msgid "warnings" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1544 +#: ../Doc/whatsnew/3.7.rst:1557 msgid "" "The initialization of the default warnings filters has changed as follows:" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1546 +#: ../Doc/whatsnew/3.7.rst:1559 msgid "" "warnings enabled via command line options (including those for :option:`-b` " "and the new CPython-specific :option:`-X` ``dev`` option) are always passed " "to the warnings machinery via the :data:`sys.warnoptions` attribute." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1550 +#: ../Doc/whatsnew/3.7.rst:1563 msgid "" "warnings filters enabled via the command line or the environment now have " "the following order of precedence:" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1553 +#: ../Doc/whatsnew/3.7.rst:1566 msgid "the ``BytesWarning`` filter for :option:`-b` (or ``-bb``)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1554 +#: ../Doc/whatsnew/3.7.rst:1567 msgid "any filters specified with the :option:`-W` option" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1555 +#: ../Doc/whatsnew/3.7.rst:1568 msgid "" "any filters specified with the :envvar:`PYTHONWARNINGS` environment variable" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1557 +#: ../Doc/whatsnew/3.7.rst:1570 msgid "" "any other CPython specific filters (e.g. the ``default`` filter added for " "the new ``-X dev`` mode)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1559 +#: ../Doc/whatsnew/3.7.rst:1572 msgid "any implicit filters defined directly by the warnings machinery" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1561 +#: ../Doc/whatsnew/3.7.rst:1574 msgid "" "in CPython debug builds, all warnings are now displayed by default (the " "implicit filter list is empty)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1564 +#: ../Doc/whatsnew/3.7.rst:1577 msgid "" "(Contributed by Nick Coghlan and Victor Stinner in :issue:`20361`, :issue:" "`32043`, and :issue:`32230`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1567 +#: ../Doc/whatsnew/3.7.rst:1580 msgid "" "Deprecation warnings are once again shown by default in single-file scripts " "and at the interactive prompt. See :ref:`whatsnew37-pep565` for details. " "(Contributed by Nick Coghlan in :issue:`31975`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1573 +#: ../Doc/whatsnew/3.7.rst:1586 +msgid "xml" +msgstr "" + +#: ../Doc/whatsnew/3.7.rst:1588 +msgid "" +"As mitigation against DTD and external entity retrieval, the :mod:`xml.dom." +"minidom` and :mod:`xml.sax` modules no longer process external entities by " +"default. (Contributed by Christian Heimes in :issue:`17239`.)" +msgstr "" + +#: ../Doc/whatsnew/3.7.rst:1595 msgid "xml.etree" msgstr "xml.etree" -#: ../Doc/whatsnew/3.7.rst:1575 +#: ../Doc/whatsnew/3.7.rst:1597 msgid "" ":ref:`ElementPath ` predicates in the :meth:`find` " "methods can now compare text of the current node with ``[. = \"text\"]``, " @@ -2221,29 +2252,29 @@ msgid "" "readability. (Contributed by Stefan Behnel in :issue:`31648`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1582 +#: ../Doc/whatsnew/3.7.rst:1604 msgid "xmlrpc.server" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1584 +#: ../Doc/whatsnew/3.7.rst:1606 msgid "" ":meth:`SimpleXMLRPCDispatcher.register_function ` can now be used as a decorator. (Contributed by " "Xiang Zhang in :issue:`7769`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1590 +#: ../Doc/whatsnew/3.7.rst:1612 msgid "zipapp" msgstr "zipapp" -#: ../Doc/whatsnew/3.7.rst:1592 +#: ../Doc/whatsnew/3.7.rst:1614 msgid "" "Function :func:`~zipapp.create_archive` now accepts an optional *filter* " "argument to allow the user to select which files should be included in the " "archive. (Contributed by Irmen de Jong in :issue:`31072`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1596 +#: ../Doc/whatsnew/3.7.rst:1618 msgid "" "Function :func:`~zipapp.create_archive` now accepts an optional *compressed* " "argument to generate a compressed archive. A command line option ``--" @@ -2251,27 +2282,27 @@ msgid "" "Zhiming Wang in :issue:`31638`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1603 +#: ../Doc/whatsnew/3.7.rst:1625 msgid "zipfile" msgstr "zipfile" -#: ../Doc/whatsnew/3.7.rst:1605 +#: ../Doc/whatsnew/3.7.rst:1627 msgid "" ":class:`~zipfile.ZipFile` now accepts the new *compresslevel* parameter to " "control the compression level. (Contributed by Bo Bayles in :issue:`21417`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1609 +#: ../Doc/whatsnew/3.7.rst:1631 msgid "" "Subdirectories in archives created by ``ZipFile`` are now stored in " "alphabetical order. (Contributed by Bernhard M. Wiedemann in :issue:`30693`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1615 +#: ../Doc/whatsnew/3.7.rst:1637 msgid "C API Changes" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1617 +#: ../Doc/whatsnew/3.7.rst:1639 msgid "" "A new API for thread-local storage has been implemented. See :ref:" "`whatsnew37-pep539` for an overview and :ref:`thread-specific-storage-api` " @@ -2279,46 +2310,46 @@ msgid "" "`25658`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1622 +#: ../Doc/whatsnew/3.7.rst:1644 msgid "" "The new :ref:`context variables ` functionality exposes a " "number of :ref:`new C APIs `." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1625 +#: ../Doc/whatsnew/3.7.rst:1647 msgid "" "The new :c:func:`PyImport_GetModule` function returns the previously " "imported module with the given name. (Contributed by Eric Snow in :issue:" "`28411`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1629 +#: ../Doc/whatsnew/3.7.rst:1651 msgid "" "The new :c:macro:`Py_RETURN_RICHCOMPARE` macro eases writing rich comparison " "functions. (Contributed by Petr Victorin in :issue:`23699`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1633 +#: ../Doc/whatsnew/3.7.rst:1655 msgid "" "The new :c:macro:`Py_UNREACHABLE` macro can be used to mark unreachable code " "paths. (Contributed by Barry Warsaw in :issue:`31338`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1637 +#: ../Doc/whatsnew/3.7.rst:1659 msgid "" "The :mod:`tracemalloc` now exposes a C API through the new :c:func:" "`PyTraceMalloc_Track` and :c:func:`PyTraceMalloc_Untrack` functions. " "(Contributed by Victor Stinner in :issue:`30054`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1642 +#: ../Doc/whatsnew/3.7.rst:1664 msgid "" "The new :c:func:`import__find__load__start` and :c:func:" "`import__find__load__done` static markers can be used to trace module " "imports. (Contributed by Christian Heimes in :issue:`31574`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1647 +#: ../Doc/whatsnew/3.7.rst:1669 msgid "" "The fields :c:member:`name` and :c:member:`doc` of structures :c:type:" "`PyMemberDef`, :c:type:`PyGetSetDef`, :c:type:`PyStructSequence_Field`, :c:" @@ -2327,34 +2358,34 @@ msgid "" "issue:`28761`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1653 +#: ../Doc/whatsnew/3.7.rst:1675 msgid "" "The result of :c:func:`PyUnicode_AsUTF8AndSize` and :c:func:" "`PyUnicode_AsUTF8` is now of type ``const char *`` rather of ``char *``. " "(Contributed by Serhiy Storchaka in :issue:`28769`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1657 +#: ../Doc/whatsnew/3.7.rst:1679 msgid "" "The result of :c:func:`PyMapping_Keys`, :c:func:`PyMapping_Values` and :c:" "func:`PyMapping_Items` is now always a list, rather than a list or a tuple. " "(Contributed by Oren Milman in :issue:`28280`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1661 +#: ../Doc/whatsnew/3.7.rst:1683 msgid "" "Added functions :c:func:`PySlice_Unpack` and :c:func:" "`PySlice_AdjustIndices`. (Contributed by Serhiy Storchaka in :issue:`27867`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1664 +#: ../Doc/whatsnew/3.7.rst:1686 msgid "" ":c:func:`PyOS_AfterFork` is deprecated in favour of the new functions :c:" "func:`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` and :c:func:" "`PyOS_AfterFork_Child`. (Contributed by Antoine Pitrou in :issue:`16500`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1669 +#: ../Doc/whatsnew/3.7.rst:1691 msgid "" "The ``PyExc_RecursionErrorInst`` singleton that was part of the public API " "has been removed as its members being never cleared may cause a segfault " @@ -2362,7 +2393,7 @@ msgid "" "issue:`22898` and :issue:`30697`." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1674 +#: ../Doc/whatsnew/3.7.rst:1696 msgid "" "Added C API support for timezones with timezone constructors :c:func:" "`PyTimeZone_FromOffset` and :c:func:`PyTimeZone_FromOffsetAndName`, and " @@ -2370,7 +2401,7 @@ msgid "" "Contributed by Paul Ganssle in :issue:`10381`." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1679 +#: ../Doc/whatsnew/3.7.rst:1701 msgid "" "The type of results of :c:func:`PyThread_start_new_thread` and :c:func:" "`PyThread_get_thread_ident`, and the *id* parameter of :c:func:" @@ -2378,14 +2409,14 @@ msgid "" "long`. (Contributed by Serhiy Storchaka in :issue:`6532`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1685 +#: ../Doc/whatsnew/3.7.rst:1707 msgid "" ":c:func:`PyUnicode_AsWideCharString` now raises a :exc:`ValueError` if the " "second argument is *NULL* and the :c:type:`wchar_t*` string contains null " "characters. (Contributed by Serhiy Storchaka in :issue:`30708`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1689 +#: ../Doc/whatsnew/3.7.rst:1711 msgid "" "Changes to the startup sequence and the management of dynamic memory " "allocators mean that the long documented requirement to call :c:func:" @@ -2396,45 +2427,45 @@ msgid "" "details." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1697 +#: ../Doc/whatsnew/3.7.rst:1719 msgid "" "The new :c:func:`PyInterpreterState_GetID` returns the unique ID for a given " "interpreter. (Contributed by Eric Snow in :issue:`29102`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1701 +#: ../Doc/whatsnew/3.7.rst:1723 msgid "" ":c:func:`Py_DecodeLocale`, :c:func:`Py_EncodeLocale` now use the UTF-8 " "encoding when the :ref:`UTF-8 mode ` is enabled. " "(Contributed by Victor Stinner in :issue:`29240`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1705 +#: ../Doc/whatsnew/3.7.rst:1727 msgid "" ":c:func:`PyUnicode_DecodeLocaleAndSize` and :c:func:`PyUnicode_EncodeLocale` " "now use the current locale encoding for ``surrogateescape`` error handler. " "(Contributed by Victor Stinner in :issue:`29240`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1709 +#: ../Doc/whatsnew/3.7.rst:1731 msgid "" "The *start* and *end* parameters of :c:func:`PyUnicode_FindChar` are now " "adjusted to behave like string slices. (Contributed by Xiang Zhang in :issue:" "`28822`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1715 +#: ../Doc/whatsnew/3.7.rst:1737 msgid "Build Changes" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1717 +#: ../Doc/whatsnew/3.7.rst:1739 msgid "" "Support for building ``--without-threads`` has been removed. The :mod:" "`threading` module is now always available. (Contributed by Antoine Pitrou " "in :issue:`31370`.)." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1721 +#: ../Doc/whatsnew/3.7.rst:1743 msgid "" "A full copy of libffi is no longer bundled for use when building the :mod:" "`_ctypes ` module on non-OSX UNIX platforms. An installed copy of " @@ -2442,7 +2473,7 @@ msgid "" "(Contributed by Zachary Ware in :issue:`27979`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1726 +#: ../Doc/whatsnew/3.7.rst:1748 msgid "" "The Windows build process no longer depends on Subversion to pull in " "external sources, a Python script is used to download zipfiles from GitHub " @@ -2451,7 +2482,7 @@ msgid "" "by Zachary Ware in :issue:`30450`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1732 +#: ../Doc/whatsnew/3.7.rst:1754 msgid "" "The :mod:`ssl` module requires OpenSSL 1.0.2 or 1.1 compatible libssl. " "OpenSSL 1.0.1 has reached end of lifetime on 2016-12-31 and is no longer " @@ -2459,11 +2490,11 @@ msgid "" "up to version 2.6.4 are missing required OpenSSL 1.0.2 APIs." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1741 +#: ../Doc/whatsnew/3.7.rst:1763 msgid "Optimizations" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1743 +#: ../Doc/whatsnew/3.7.rst:1765 msgid "" "The overhead of calling many methods of various standard library classes " "implemented in C has been significantly reduced by porting more code to use " @@ -2471,85 +2502,85 @@ msgid "" "`29300`, :issue:`29507`, :issue:`29452`, and :issue:`29286`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1749 +#: ../Doc/whatsnew/3.7.rst:1771 msgid "" "Various optimizations have reduced Python startup time by 10% on Linux and " "up to 30% on macOS. (Contributed by Victor Stinner, INADA Naoki in :issue:" "`29585`, and Ivan Levkivskyi in :issue:`31333`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1754 +#: ../Doc/whatsnew/3.7.rst:1776 msgid "" "Method calls are now up to 20% faster due to the bytecode changes which " "avoid creating bound method instances. (Contributed by Yury Selivanov and " "INADA Naoki in :issue:`26110`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1760 +#: ../Doc/whatsnew/3.7.rst:1782 msgid "" "The :mod:`asyncio` module received a number of notable optimizations for " "commonly used functions:" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1763 +#: ../Doc/whatsnew/3.7.rst:1785 msgid "" "The :func:`asyncio.get_event_loop` function has been reimplemented in C to " "make it up to 15 times faster. (Contributed by Yury Selivanov in :issue:" "`32296`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1767 +#: ../Doc/whatsnew/3.7.rst:1789 msgid "" ":class:`asyncio.Future` callback management has been optimized. (Contributed " "by Yury Selivanov in :issue:`32348`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1770 +#: ../Doc/whatsnew/3.7.rst:1792 msgid "" ":func:`asyncio.gather` is now up to 15% faster. (Contributed by Yury " "Selivanov in :issue:`32355`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1773 +#: ../Doc/whatsnew/3.7.rst:1795 msgid "" ":func:`asyncio.sleep` is now up to 2 times faster when the *delay* argument " "is zero or negative. (Contributed by Andrew Svetlov in :issue:`32351`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1777 +#: ../Doc/whatsnew/3.7.rst:1799 msgid "" "The performance overhead of asyncio debug mode has been reduced. " "(Contributed by Antoine Pitrou in :issue:`31970`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1780 +#: ../Doc/whatsnew/3.7.rst:1802 msgid "" "As a result of :ref:`PEP 560 work `, the import time of :" "mod:`typing` has been reduced by a factor of 7, and many typing operations " "are now faster. (Contributed by Ivan Levkivskyi in :issue:`32226`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1785 +#: ../Doc/whatsnew/3.7.rst:1807 msgid "" ":func:`sorted` and :meth:`list.sort` have been optimized for common cases to " "be up to 40-75% faster. (Contributed by Elliot Gorokhovsky in :issue:" "`28685`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1789 +#: ../Doc/whatsnew/3.7.rst:1811 msgid "" ":meth:`dict.copy` is now up to 5.5 times faster. (Contributed by Yury " "Selivanov in :issue:`31179`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1792 +#: ../Doc/whatsnew/3.7.rst:1814 msgid "" ":func:`hasattr` and :func:`getattr` are now about 4 times faster when *name* " "is not found and *obj* does not override :meth:`object.__getattr__` or :meth:" "`object.__getattribute__`. (Contributed by INADA Naoki in :issue:`32544`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1797 +#: ../Doc/whatsnew/3.7.rst:1819 msgid "" "Searching for certain Unicode characters (like Ukrainian capital \"Є\") in a " "string was up to 25 times slower than searching for other characters. It is " @@ -2557,7 +2588,7 @@ msgid "" "in :issue:`24821`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1802 +#: ../Doc/whatsnew/3.7.rst:1824 msgid "" "The :func:`collections.namedtuple` factory has been reimplemented to make " "the creation of named tuples 4 to 6 times faster. (Contributed by Jelle " @@ -2565,33 +2596,33 @@ msgid "" "Raymond Hettinger in :issue:`28638`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1807 +#: ../Doc/whatsnew/3.7.rst:1829 msgid "" ":meth:`date.fromordinal` and :meth:`date.fromtimestamp` are now up to 30% " "faster in the common case. (Contributed by Paul Ganssle in :issue:`32403`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1811 +#: ../Doc/whatsnew/3.7.rst:1833 msgid "" "The :func:`os.fwalk` function is now up to 2 times faster thanks to the use " "of :func:`os.scandir`. (Contributed by Serhiy Storchaka in :issue:`25996`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1815 +#: ../Doc/whatsnew/3.7.rst:1837 msgid "" "The speed of the :func:`shutil.rmtree` function has been improved by 20--40% " "thanks to the use of the :func:`os.scandir` function. (Contributed by Serhiy " "Storchaka in :issue:`28564`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1819 +#: ../Doc/whatsnew/3.7.rst:1841 msgid "" "Optimized case-insensitive matching and searching of :mod:`regular " "expressions `. Searching some patterns can now be up to 20 times " "faster. (Contributed by Serhiy Storchaka in :issue:`30285`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1823 +#: ../Doc/whatsnew/3.7.rst:1845 msgid "" ":func:`re.compile` now converts ``flags`` parameter to int object if it is " "``RegexFlag``. It is now as fast as Python 3.5, and faster than Python 3.6 " @@ -2599,7 +2630,7 @@ msgid "" "`31671`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1828 +#: ../Doc/whatsnew/3.7.rst:1850 msgid "" "The :meth:`~selectors.BaseSelector.modify` methods of classes :class:" "`selectors.EpollSelector`, :class:`selectors.PollSelector` and :class:" @@ -2607,7 +2638,7 @@ msgid "" "(Contributed by Giampaolo Rodola' in :issue:`30014`)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1833 +#: ../Doc/whatsnew/3.7.rst:1855 msgid "" "Constant folding has been moved from the peephole optimizer to the new AST " "optimizer, which is able perform optimizations more consistently. " @@ -2615,7 +2646,7 @@ msgid "" "`11549`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1838 +#: ../Doc/whatsnew/3.7.rst:1860 msgid "" "Most functions and methods in :mod:`abc` have been rewritten in C. This " "makes creation of abstract base classes, and calling :func:`isinstance` and :" @@ -2624,7 +2655,7 @@ msgid "" "`31333`)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1844 +#: ../Doc/whatsnew/3.7.rst:1866 msgid "" "Significant speed improvements to alternate constructors for :class:" "`datetime.date` and :class:`datetime.datetime` by using fast-path " @@ -2632,7 +2663,7 @@ msgid "" "in :issue:`32403`)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1849 +#: ../Doc/whatsnew/3.7.rst:1871 msgid "" "The speed of comparison of :class:`array.array` instances has been improved " "considerably in certain cases. It is now from 10x to 70x faster when " @@ -2640,18 +2671,18 @@ msgid "" "Adrian Wielgosik in :issue:`24700`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1854 +#: ../Doc/whatsnew/3.7.rst:1876 msgid "" "The :func:`math.erf` and :func:`math.erfc` functions now use the (faster) C " "library implementation on most platforms. (Contributed by Serhiy Storchaka " "in :issue:`26121`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1860 +#: ../Doc/whatsnew/3.7.rst:1882 msgid "Other CPython Implementation Changes" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1862 +#: ../Doc/whatsnew/3.7.rst:1884 msgid "" "Trace hooks may now opt out of receiving the ``line`` and opt into receiving " "the ``opcode`` events from the interpreter by setting the corresponding new " @@ -2659,7 +2690,7 @@ msgid "" "traced. (Contributed by Nick Coghlan in :issue:`31344`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1867 +#: ../Doc/whatsnew/3.7.rst:1889 msgid "" "Fixed some consistency problems with namespace package module attributes. " "Namespace module objects now have an ``__file__`` that is set to ``None`` " @@ -2670,14 +2701,14 @@ msgid "" "`32303`." msgstr "" -#: ../Doc/whatsnew/3.7.rst:1875 +#: ../Doc/whatsnew/3.7.rst:1897 msgid "" "The :func:`locals` dictionary now displays in the lexical order that " "variables were defined. Previously, the order was undefined. (Contributed " "by Raymond Hettinger in :issue:`32690`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1879 +#: ../Doc/whatsnew/3.7.rst:1901 msgid "" "The :mod:`distutils` ``upload`` command no longer tries to change CR end-of-" "line characters to CRLF. This fixes a corruption issue with sdists that " @@ -2685,11 +2716,11 @@ msgid "" "`32304`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1886 +#: ../Doc/whatsnew/3.7.rst:1908 msgid "Deprecated Python Behavior" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1888 +#: ../Doc/whatsnew/3.7.rst:1910 msgid "" "Yield expressions (both ``yield`` and ``yield from`` clauses) are now " "deprecated in comprehensions and generator expressions (aside from the " @@ -2703,7 +2734,7 @@ msgid "" "Storchaka in :issue:`10544`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1899 +#: ../Doc/whatsnew/3.7.rst:1921 msgid "" "Returning a subclass of :class:`complex` from :meth:`object.__complex__` is " "deprecated and will be an error in future Python versions. This makes " @@ -2711,38 +2742,38 @@ msgid "" "__float__`. (Contributed by Serhiy Storchaka in :issue:`28894`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1908 +#: ../Doc/whatsnew/3.7.rst:1930 msgid "Deprecated Python modules, functions and methods" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1911 +#: ../Doc/whatsnew/3.7.rst:1933 msgid "aifc" msgstr "aifc" -#: ../Doc/whatsnew/3.7.rst:1913 +#: ../Doc/whatsnew/3.7.rst:1935 msgid "" ":func:`aifc.openfp` has been deprecated and will be removed in Python 3.9. " "Use :func:`aifc.open` instead. (Contributed by Brian Curtin in :issue:" "`31985`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1923 +#: ../Doc/whatsnew/3.7.rst:1945 msgid "" "Support for directly ``await``-ing instances of :class:`asyncio.Lock` and " "other asyncio synchronization primitives has been deprecated. An " "asynchronous context manager must be used in order to acquire and release " -"the synchronization resource. See :ref:`async-with-locks` for more " -"information. (Contributed by Andrew Svetlov in :issue:`32253`.)" +"the synchronization resource. (Contributed by Andrew Svetlov in :issue:" +"`32253`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1930 +#: ../Doc/whatsnew/3.7.rst:1951 msgid "" "The :meth:`asyncio.Task.current_task` and :meth:`asyncio.Task.all_tasks` " "methods have been deprecated. (Contributed by Andrew Svetlov in :issue:" "`32250`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1938 +#: ../Doc/whatsnew/3.7.rst:1959 msgid "" "In Python 3.8, the abstract base classes in :mod:`collections.abc` will no " "longer be exposed in the regular :mod:`collections` module. This will help " @@ -2750,7 +2781,7 @@ msgid "" "base classes. (Contributed by Serhiy Storchaka in :issue:`25988`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1948 +#: ../Doc/whatsnew/3.7.rst:1969 msgid "" ":mod:`dbm.dumb` now supports reading read-only files and no longer writes " "the index file when it is not changed. A deprecation warning is now emitted " @@ -2759,7 +2790,7 @@ msgid "" "Storchaka in :issue:`28847`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1958 +#: ../Doc/whatsnew/3.7.rst:1979 msgid "" "In Python 3.8, attempting to check for non-Enum objects in :class:`Enum` " "classes will raise a :exc:`TypeError` (e.g. ``1 in Color``); similarly, " @@ -2769,18 +2800,18 @@ msgid "" "`33217`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1967 +#: ../Doc/whatsnew/3.7.rst:1988 msgid "gettext" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1969 +#: ../Doc/whatsnew/3.7.rst:1990 msgid "" "Using non-integer value for selecting a plural form in :mod:`gettext` is now " "deprecated. It never correctly worked. (Contributed by Serhiy Storchaka in :" "issue:`28692`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:1977 +#: ../Doc/whatsnew/3.7.rst:1998 msgid "" "Methods :meth:`MetaPathFinder.find_module() ` (replaced by :meth:`MetaPathFinder.find_spec() ` provides an " "example of using the SSL :source:`compatibility testing infrastructure " @@ -2941,42 +2972,42 @@ msgid "" "against OpenSSL 1.1.0 rather than an outdated system provided OpenSSL." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2102 +#: ../Doc/whatsnew/3.7.rst:2123 msgid "API and Feature Removals" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2104 +#: ../Doc/whatsnew/3.7.rst:2125 msgid "The following features and APIs have been removed from Python 3.7:" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2106 +#: ../Doc/whatsnew/3.7.rst:2127 msgid "" "The ``os.stat_float_times()`` function has been removed. It was introduced " "in Python 2.3 for backward compatibility with Python 2.2, and was deprecated " "since Python 3.1." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2110 +#: ../Doc/whatsnew/3.7.rst:2131 msgid "" "Unknown escapes consisting of ``'\\'`` and an ASCII letter in replacement " "templates for :func:`re.sub` were deprecated in Python 3.5, and will now " "cause an error." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2114 +#: ../Doc/whatsnew/3.7.rst:2135 msgid "" "Removed support of the *exclude* argument in :meth:`tarfile.TarFile.add`. It " "was deprecated in Python 2.7 and 3.2. Use the *filter* argument instead." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2117 +#: ../Doc/whatsnew/3.7.rst:2138 msgid "" "The ``splitunc()`` function in the :mod:`ntpath` module was deprecated in " "Python 3.1, and has now been removed. Use the :func:`~os.path.splitdrive` " "function instead." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2121 +#: ../Doc/whatsnew/3.7.rst:2142 msgid "" ":func:`collections.namedtuple` no longer supports the *verbose* parameter or " "``_source`` attribute which showed the generated source code for the named " @@ -2985,14 +3016,14 @@ msgid "" "Naoki, Serhiy Storchaka, and Raymond Hettinger in :issue:`28638`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2127 +#: ../Doc/whatsnew/3.7.rst:2148 msgid "" "Functions :func:`bool`, :func:`float`, :func:`list` and :func:`tuple` no " "longer take keyword arguments. The first argument of :func:`int` can now be " "passed only as positional argument." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2131 +#: ../Doc/whatsnew/3.7.rst:2152 msgid "" "Removed previously deprecated in Python 2.4 classes ``Plist``, ``Dict`` and " "``_InternalDict`` in the :mod:`plistlib` module. Dict values in the result " @@ -3001,7 +3032,7 @@ msgid "" "access to access items of these dictionaries." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2137 +#: ../Doc/whatsnew/3.7.rst:2158 msgid "" "The ``asyncio.windows_utils.socketpair()`` function has been removed. Use " "the :func:`socket.socketpair` function instead, it is available on all " @@ -3009,14 +3040,14 @@ msgid "" "alias to ``socket.socketpair`` on Python 3.5 and newer." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2143 +#: ../Doc/whatsnew/3.7.rst:2164 msgid "" ":mod:`asyncio` no longer exports the :mod:`selectors` and :mod:`_overlapped` " "modules as ``asyncio.selectors`` and ``asyncio._overlapped``. Replace ``from " "asyncio import selectors`` with ``import selectors``." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2148 +#: ../Doc/whatsnew/3.7.rst:2169 msgid "" "Direct instantiation of :class:`ssl.SSLSocket` and :class:`ssl.SSLObject` " "objects is now prohibited. The constructors were never documented, tested, " @@ -3025,17 +3056,17 @@ msgid "" "in :issue:`32951`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2154 +#: ../Doc/whatsnew/3.7.rst:2175 msgid "" "The unused :mod:`distutils` ``install_misc`` command has been removed. " "(Contributed by Eric N. Vander Weele in :issue:`29218`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2159 +#: ../Doc/whatsnew/3.7.rst:2180 msgid "Module Removals" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2161 +#: ../Doc/whatsnew/3.7.rst:2182 msgid "" "The ``fpectl`` module has been removed. It was never enabled by default, " "never worked correctly on x86-64, and it changed the Python ABI in ways that " @@ -3043,11 +3074,11 @@ msgid "" "Smith in :issue:`29137`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2168 ../Doc/whatsnew/3.7.rst:2440 +#: ../Doc/whatsnew/3.7.rst:2189 ../Doc/whatsnew/3.7.rst:2461 msgid "Windows-only Changes" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2170 +#: ../Doc/whatsnew/3.7.rst:2191 msgid "" "The python launcher, (py.exe), can accept 32 & 64 bit specifiers **without** " "having to specify a minor version as well. So ``py -3-32`` and ``py -3-64`` " @@ -3057,7 +3088,7 @@ msgid "" "(Contributed by Steve Barnes in :issue:`30291`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2177 +#: ../Doc/whatsnew/3.7.rst:2198 msgid "" "The launcher can be run as ``py -0`` to produce a list of the installed " "pythons, *with default marked with an asterisk*. Running ``py -0p`` will " @@ -3066,28 +3097,28 @@ msgid "" "(Contributed by Steve Barnes in :issue:`30362`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2187 +#: ../Doc/whatsnew/3.7.rst:2208 msgid "Porting to Python 3.7" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2189 +#: ../Doc/whatsnew/3.7.rst:2210 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2194 +#: ../Doc/whatsnew/3.7.rst:2215 msgid "Changes in Python Behavior" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2196 +#: ../Doc/whatsnew/3.7.rst:2217 msgid "" ":keyword:`async` and :keyword:`await` names are now reserved keywords. Code " "using these names as identifiers will now raise a :exc:`SyntaxError`. " "(Contributed by Jelle Zijlstra in :issue:`30406`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2200 +#: ../Doc/whatsnew/3.7.rst:2221 msgid "" ":pep:`479` is enabled for all code in Python 3.7, meaning that :exc:" "`StopIteration` exceptions raised directly or indirectly in coroutines and " @@ -3095,19 +3126,19 @@ msgid "" "by Yury Selivanov in :issue:`32670`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2206 +#: ../Doc/whatsnew/3.7.rst:2227 msgid "" ":meth:`object.__aiter__` methods can no longer be declared as asynchronous. " "(Contributed by Yury Selivanov in :issue:`31709`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2209 +#: ../Doc/whatsnew/3.7.rst:2230 msgid "" "Due to an oversight, earlier Python versions erroneously accepted the " "following syntax::" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2217 +#: ../Doc/whatsnew/3.7.rst:2238 msgid "" "Python 3.7 now correctly raises a :exc:`SyntaxError`, as a generator " "expression always needs to be directly inside a set of parentheses and " @@ -3116,7 +3147,7 @@ msgid "" "`32012` and :issue:`32023`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2223 +#: ../Doc/whatsnew/3.7.rst:2244 msgid "" "When using the :option:`-m` switch, the initial working directory is now " "added to :data:`sys.path`, rather than an empty string (which dynamically " @@ -3128,11 +3159,11 @@ msgid "" "place)." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2233 +#: ../Doc/whatsnew/3.7.rst:2254 msgid "Changes in the Python API" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2235 +#: ../Doc/whatsnew/3.7.rst:2256 msgid "" ":meth:`socketserver.ThreadingMixIn.server_close` now waits until all non-" "daemon threads complete. Set the new :attr:`socketserver.ThreadingMixIn." @@ -3140,7 +3171,7 @@ msgid "" "(Contributed by Victor Stinner in :issue:`31233` and :issue:`33540`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2241 +#: ../Doc/whatsnew/3.7.rst:2262 msgid "" ":meth:`socketserver.ForkingMixIn.server_close` now waits until all child " "processes complete. Set the new :attr:`socketserver.ForkingMixIn." @@ -3148,21 +3179,21 @@ msgid "" "(Contributed by Victor Stinner in :issue:`31151` and :issue:`33540`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2247 +#: ../Doc/whatsnew/3.7.rst:2268 msgid "" "The :func:`locale.localeconv` function now temporarily sets the ``LC_CTYPE`` " "locale to the value of ``LC_NUMERIC`` in some cases. (Contributed by Victor " "Stinner in :issue:`31900`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2251 +#: ../Doc/whatsnew/3.7.rst:2272 msgid "" ":meth:`pkgutil.walk_packages` now raises a :exc:`ValueError` if *path* is a " "string. Previously an empty list was returned. (Contributed by Sanyam " "Khurana in :issue:`24744`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2255 +#: ../Doc/whatsnew/3.7.rst:2276 msgid "" "A format string argument for :meth:`string.Formatter.format` is now :ref:" "`positional-only `. Passing it as a keyword " @@ -3170,7 +3201,7 @@ msgid "" "issue:`29193`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2260 +#: ../Doc/whatsnew/3.7.rst:2281 msgid "" "Attributes :attr:`~http.cookies.Morsel.key`, :attr:`~http.cookies.Morsel." "value` and :attr:`~http.cookies.Morsel.coded_value` of class :class:`http." @@ -3179,7 +3210,7 @@ msgid "" "them. (Contributed by Serhiy Storchaka in :issue:`29192`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2268 +#: ../Doc/whatsnew/3.7.rst:2289 msgid "" "The *mode* argument of :func:`os.makedirs` no longer affects the file " "permission bits of newly-created intermediate-level directories. To set " @@ -3187,13 +3218,13 @@ msgid "" "``makedirs()``. (Contributed by Serhiy Storchaka in :issue:`19930`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2274 +#: ../Doc/whatsnew/3.7.rst:2295 msgid "" "The :attr:`struct.Struct.format` type is now :class:`str` instead of :class:" "`bytes`. (Contributed by Victor Stinner in :issue:`21071`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2277 +#: ../Doc/whatsnew/3.7.rst:2298 msgid "" ":func:`~cgi.parse_multipart` now accepts the *encoding* and *errors* " "arguments and returns the same results as :class:`~FieldStorage`: for non-" @@ -3201,27 +3232,27 @@ msgid "" "(Contributed by Pierre Quentel in :issue:`29979`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2283 +#: ../Doc/whatsnew/3.7.rst:2304 msgid "" "Due to internal changes in :mod:`socket`, calling :func:`socket.fromshare` " "on a socket created by :func:`socket.share ` in older " "Python versions is not supported." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2287 +#: ../Doc/whatsnew/3.7.rst:2308 msgid "" "``repr`` for :exc:`BaseException` has changed to not include the trailing " "comma. Most exceptions are affected by this change. (Contributed by Serhiy " "Storchaka in :issue:`30399`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2291 +#: ../Doc/whatsnew/3.7.rst:2312 msgid "" "``repr`` for :class:`datetime.timedelta` has changed to include the keyword " "arguments in the output. (Contributed by Utkarsh Upadhyay in :issue:`30302`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2294 +#: ../Doc/whatsnew/3.7.rst:2315 msgid "" "Because :func:`shutil.rmtree` is now implemented using the :func:`os." "scandir` function, the user specified handler *onerror* is now called with " @@ -3229,7 +3260,7 @@ msgid "" "directory is failed." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2299 +#: ../Doc/whatsnew/3.7.rst:2320 msgid "" "Support for nested sets and set operations in regular expressions as in " "`Unicode Technical Standard #18`_ might be added in the future. This would " @@ -3240,7 +3271,7 @@ msgid "" "with a backslash. (Contributed by Serhiy Storchaka in :issue:`30349`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2310 +#: ../Doc/whatsnew/3.7.rst:2331 msgid "" "The result of splitting a string on a :mod:`regular expression ` that " "could match an empty string has been changed. For example splitting on " @@ -3251,7 +3282,7 @@ msgid "" "patterns since Python 3.5." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2319 +#: ../Doc/whatsnew/3.7.rst:2340 msgid "" "For patterns that match both empty and non-empty strings, the result of " "searching for all matches may also be changed in other cases. For example " @@ -3261,7 +3292,7 @@ msgid "" "as ``r'(?m)^[^\\S\\n]*$'``." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2326 +#: ../Doc/whatsnew/3.7.rst:2347 msgid "" ":func:`re.sub()` now replaces empty matches adjacent to a previous non-empty " "match. For example ``re.sub('x*', '-', 'abxd')`` returns now ``'-a-b--d-'`` " @@ -3269,25 +3300,25 @@ msgid "" "and the second minus replaces an empty string between 'x' and 'd')." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2332 +#: ../Doc/whatsnew/3.7.rst:2353 msgid "(Contributed by Serhiy Storchaka in :issue:`25054` and :issue:`32308`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2334 +#: ../Doc/whatsnew/3.7.rst:2355 msgid "" "Change :func:`re.escape` to only escape regex special characters instead of " "escaping all characters other than ASCII letters, numbers, and ``'_'``. " "(Contributed by Serhiy Storchaka in :issue:`29995`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2338 +#: ../Doc/whatsnew/3.7.rst:2359 msgid "" ":class:`tracemalloc.Traceback` frames are now sorted from oldest to most " "recent to be more consistent with :mod:`traceback`. (Contributed by Jesse " "Bakker in :issue:`32121`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2342 +#: ../Doc/whatsnew/3.7.rst:2363 msgid "" "On OSes that support :const:`socket.SOCK_NONBLOCK` or :const:`socket." "SOCK_CLOEXEC` bit flags, the :attr:`socket.type ` no " @@ -3296,7 +3327,7 @@ msgid "" "Selivanov in :issue:`32331`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2349 +#: ../Doc/whatsnew/3.7.rst:2370 msgid "" "On Windows the default for the *close_fds* argument of :class:`subprocess." "Popen` was changed from :const:`False` to :const:`True` when redirecting the " @@ -3306,7 +3337,7 @@ msgid "" "`STARTUPINFO.lpAttributeList `." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2357 +#: ../Doc/whatsnew/3.7.rst:2378 msgid "" ":meth:`importlib.machinery.PathFinder.invalidate_caches` -- which implicitly " "affects :func:`importlib.invalidate_caches` -- now deletes entries in :data:" @@ -3314,40 +3345,39 @@ msgid "" "Cannon in :issue:`33169`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2362 +#: ../Doc/whatsnew/3.7.rst:2383 msgid "" -"In :mod:`asyncio`, :meth:`loop.sock_recv() `, :meth:`loop.sock_sendall() `, :meth:`loop.sock_accept() `, :meth:`loop.getaddrinfo() `, :meth:`loop.getnameinfo() ` have been changed to be proper coroutine methods to match " -"their documentation. Previously, these methods returned :class:`asyncio." -"Future` instances. (Contributed by Yury Selivanov in :issue:`32327`.)" +"In :mod:`asyncio`, :meth:`loop.sock_recv() `, :meth:" +"`loop.sock_sendall() `, :meth:`loop.sock_accept() " +"`, :meth:`loop.getaddrinfo() `, :meth:`loop.getnameinfo() ` have " +"been changed to be proper coroutine methods to match their documentation. " +"Previously, these methods returned :class:`asyncio.Future` instances. " +"(Contributed by Yury Selivanov in :issue:`32327`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2373 +#: ../Doc/whatsnew/3.7.rst:2394 msgid "" ":attr:`asyncio.Server.sockets` now returns a copy of the internal list of " "server sockets, instead of returning it directly. (Contributed by Yury " "Selivanov in :issue:`32662`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2377 +#: ../Doc/whatsnew/3.7.rst:2398 msgid "" ":attr:`Struct.format ` is now a :class:`str` instance " "instead of a :class:`bytes` instance. (Contributed by Victor Stinner in :" "issue:`21071`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2381 +#: ../Doc/whatsnew/3.7.rst:2402 msgid "" ":meth:`ast.literal_eval()` is now stricter. Addition and subtraction of " "arbitrary numbers are no longer allowed. (Contributed by Serhiy Storchaka " "in :issue:`31778`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2385 +#: ../Doc/whatsnew/3.7.rst:2406 msgid "" ":meth:`Calendar.itermonthdates ` will now " "consistently raise an exception when a date falls outside of the " @@ -3359,13 +3389,13 @@ msgid "" "date`. (Contributed by Alexander Belopolsky in :issue:`28292`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2395 +#: ../Doc/whatsnew/3.7.rst:2416 msgid "" ":class:`collections.ChainMap` now preserves the order of the underlying " "mappings. (Contributed by Raymond Hettinger in :issue:`32792`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2398 +#: ../Doc/whatsnew/3.7.rst:2419 msgid "" "The ``submit()`` method of :class:`concurrent.futures.ThreadPoolExecutor` " "and :class:`concurrent.futures.ProcessPoolExecutor` now raises a :exc:" @@ -3373,7 +3403,7 @@ msgid "" "Nemec in :issue:`33097`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2403 +#: ../Doc/whatsnew/3.7.rst:2424 msgid "" "The :class:`configparser.ConfigParser` constructor now uses ``read_dict()`` " "to process the default values, making its behavior consistent with the rest " @@ -3382,7 +3412,7 @@ msgid "" "in :issue:`23835`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2409 +#: ../Doc/whatsnew/3.7.rst:2430 msgid "" "Several undocumented internal imports were removed. One example is that ``os." "errno`` is no longer available; use ``import errno`` directly instead. Note " @@ -3390,11 +3420,11 @@ msgid "" "notice, even in micro version releases." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2417 +#: ../Doc/whatsnew/3.7.rst:2438 msgid "Changes in the C API" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2419 +#: ../Doc/whatsnew/3.7.rst:2440 msgid "" "The function :c:func:`PySlice_GetIndicesEx` is considered unsafe for " "resizable sequences. If the slice indices are not instances of :class:" @@ -3406,34 +3436,34 @@ msgid "" "Storchaka in :issue:`27867`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2430 +#: ../Doc/whatsnew/3.7.rst:2451 msgid "CPython bytecode changes" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2432 +#: ../Doc/whatsnew/3.7.rst:2453 msgid "" "There are two new opcodes: :opcode:`LOAD_METHOD` and :opcode:`CALL_METHOD`. " "(Contributed by Yury Selivanov and INADA Naoki in :issue:`26110`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2435 +#: ../Doc/whatsnew/3.7.rst:2456 msgid "" "The :opcode:`STORE_ANNOTATION` opcode has been removed. (Contributed by Mark " "Shannon in :issue:`32550`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2442 +#: ../Doc/whatsnew/3.7.rst:2463 msgid "" "The file used to override :data:`sys.path` is now called ``._pth`` instead of ``'sys.path'``. See :ref:`finding_modules` for " "more information. (Contributed by Steve Dower in :issue:`28137`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2449 +#: ../Doc/whatsnew/3.7.rst:2470 msgid "Other CPython implementation changes" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2451 +#: ../Doc/whatsnew/3.7.rst:2472 msgid "" "In preparation for potential future changes to the public CPython runtime " "initialization API (see :pep:`432` for an initial, but somewhat outdated, " @@ -3448,21 +3478,21 @@ msgid "" "Stinner in a number of other issues). Some known details affected:" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2464 +#: ../Doc/whatsnew/3.7.rst:2485 msgid "" ":c:func:`PySys_AddWarnOptionUnicode` is not currently usable by embedding " "applications due to the requirement to create a Unicode object prior to " "calling `Py_Initialize`. Use :c:func:`PySys_AddWarnOption` instead." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2468 +#: ../Doc/whatsnew/3.7.rst:2489 msgid "" "warnings filters added by an embedding application with :c:func:" "`PySys_AddWarnOption` should now more consistently take precedence over the " "default filters set by the interpreter" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2472 +#: ../Doc/whatsnew/3.7.rst:2493 msgid "" "Due to changes in the way the default warnings filters are configured, " "setting :c:data:`Py_BytesWarningFlag` to a value greater than one is no " @@ -3472,7 +3502,7 @@ msgid "" "BytesWarning`` warnings filter added to convert them to exceptions." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2479 +#: ../Doc/whatsnew/3.7.rst:2500 msgid "" "Due to a change in the way docstrings are handled by the compiler, the " "implicit ``return None`` in a function body consisting solely of a docstring " @@ -3480,7 +3510,7 @@ msgid "" "function's header line." msgstr "" -#: ../Doc/whatsnew/3.7.rst:2484 +#: ../Doc/whatsnew/3.7.rst:2505 msgid "" "The current exception state has been moved from the frame object to the co-" "routine. This simplified the interpreter and fixed a couple of obscure bugs " @@ -3488,11 +3518,11 @@ msgid "" "(Contributed by Mark Shannon in :issue:`25612`.)" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2490 +#: ../Doc/whatsnew/3.7.rst:2511 msgid "Notable changes in Python 3.7.1" msgstr "" -#: ../Doc/whatsnew/3.7.rst:2492 +#: ../Doc/whatsnew/3.7.rst:2513 msgid "" "Starting in 3.7.1, :c:func:`Py_Initialize` now consistently reads and " "respects all of the same environment settings as :c:func:`Py_Main` (in " @@ -3501,3 +3531,16 @@ msgid "" "to :issue:`34247`). If this behavior is unwanted, set :c:data:" "`Py_IgnoreEnvironmentFlag` to 1 before calling :c:func:`Py_Initialize`." msgstr "" + +#: ../Doc/whatsnew/3.7.rst:2520 +msgid "" +"In 3.7.1 the C API for Context Variables :ref:`was updated " +"` to use :c:type:`PyObject` " +"pointers. See also :issue:`34762`." +msgstr "" + +#: ../Doc/whatsnew/3.7.rst:2524 +msgid "" +":mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process external " +"entities by default. See also :issue:`17239`." +msgstr ""