# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-23 14:38+0200\n"
"PO-Revision-Date: 2022-10-18 12:22+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: whatsnew/3.2.rst:3
msgid "What's New In Python 3.2"
msgstr "Nouveautés de Python 3.2"

#: whatsnew/3.2.rst:0
msgid "Author"
msgstr "Auteur"

#: whatsnew/3.2.rst:5
msgid "Raymond Hettinger"
msgstr "Raymond Hettinger"

#: whatsnew/3.2.rst:51
msgid ""
"This article explains the new features in Python 3.2 as compared to 3.1. "
"Python 3.2 was released on February 20, 2011. It focuses on a few highlights "
"and gives a few examples.  For full details, see the `Misc/NEWS <https://"
"github.com/python/cpython/blob/076ca6c3c8df3030307e548d9be792ce3c1c6eea/Misc/"
"NEWS>`__ file."
msgstr ""

#: whatsnew/3.2.rst:60
msgid ":pep:`392` - Python 3.2 Release Schedule"
msgstr ""

#: whatsnew/3.2.rst:64
msgid "PEP 384: Defining a Stable ABI"
msgstr ""

#: whatsnew/3.2.rst:66
msgid ""
"In the past, extension modules built for one Python version were often not "
"usable with other Python versions. Particularly on Windows, every feature "
"release of Python required rebuilding all extension modules that one wanted "
"to use. This requirement was the result of the free access to Python "
"interpreter internals that extension modules could use."
msgstr ""

#: whatsnew/3.2.rst:72
msgid ""
"With Python 3.2, an alternative approach becomes available: extension "
"modules which restrict themselves to a limited API (by defining "
"Py_LIMITED_API) cannot use many of the internals, but are constrained to a "
"set of API functions that are promised to be stable for several releases. As "
"a consequence, extension modules built for 3.2 in that mode will also work "
"with 3.3, 3.4, and so on. Extension modules that make use of details of "
"memory structures can still be built, but will need to be recompiled for "
"every feature release."
msgstr ""

#: whatsnew/3.2.rst:83
msgid ":pep:`384` - Defining a Stable ABI"
msgstr ""

#: whatsnew/3.2.rst:84
msgid "PEP written by Martin von Löwis."
msgstr ""

#: whatsnew/3.2.rst:88
msgid "PEP 389: Argparse Command Line Parsing Module"
msgstr ""

#: whatsnew/3.2.rst:90
msgid ""
"A new module for command line parsing, :mod:`argparse`, was introduced to "
"overcome the limitations of :mod:`optparse` which did not provide support "
"for positional arguments (not just options), subcommands, required options "
"and other common patterns of specifying and validating options."
msgstr ""

#: whatsnew/3.2.rst:95
msgid ""
"This module has already had widespread success in the community as a third-"
"party module.  Being more fully featured than its predecessor, the :mod:"
"`argparse` module is now the preferred module for command-line processing. "
"The older module is still being kept available because of the substantial "
"amount of legacy code that depends on it."
msgstr ""

#: whatsnew/3.2.rst:101
msgid ""
"Here's an annotated example parser showing features like limiting results to "
"a set of choices, specifying a *metavar* in the help screen, validating that "
"one or more positional arguments is present, and making a required option::"
msgstr ""

#: whatsnew/3.2.rst:120
msgid "Example of calling the parser on a command string::"
msgstr ""

#: whatsnew/3.2.rst:131
msgid "Example of the parser's automatically generated help::"
msgstr ""

#: whatsnew/3.2.rst:150
msgid ""
"An especially nice :mod:`argparse` feature is the ability to define "
"subparsers, each with their own argument patterns and help displays::"
msgstr ""

#: whatsnew/3.2.rst:176
msgid ":pep:`389` - New Command Line Parsing Module"
msgstr ""

#: whatsnew/3.2.rst:176
msgid "PEP written by Steven Bethard."
msgstr ""

#: whatsnew/3.2.rst:178
msgid ""
":ref:`upgrading-optparse-code` for details on the differences from :mod:"
"`optparse`."
msgstr ""

#: whatsnew/3.2.rst:182
msgid "PEP 391:  Dictionary Based Configuration for Logging"
msgstr ""

#: whatsnew/3.2.rst:184
msgid ""
"The :mod:`logging` module provided two kinds of configuration, one style "
"with function calls for each option or another style driven by an external "
"file saved in a :mod:`ConfigParser` format.  Those options did not provide "
"the flexibility to create configurations from JSON or YAML files, nor did "
"they support incremental configuration, which is needed for specifying "
"logger options from a command line."
msgstr ""

#: whatsnew/3.2.rst:191
msgid ""
"To support a more flexible style, the module now offers :func:`logging."
"config.dictConfig` for specifying logging configuration with plain Python "
"dictionaries.  The configuration options include formatters, handlers, "
"filters, and loggers.  Here's a working example of a configuration "
"dictionary::"
msgstr ""

#: whatsnew/3.2.rst:215
msgid ""
"If that dictionary is stored in a file called :file:`conf.json`, it can be "
"loaded and called with code like this::"
msgstr ""

#: whatsnew/3.2.rst:230
msgid ":pep:`391` - Dictionary Based Configuration for Logging"
msgstr ""

#: whatsnew/3.2.rst:231
msgid "PEP written by Vinay Sajip."
msgstr ""

#: whatsnew/3.2.rst:235
msgid "PEP 3148:  The ``concurrent.futures`` module"
msgstr ""

#: whatsnew/3.2.rst:237
msgid ""
"Code for creating and managing concurrency is being collected in a new top-"
"level namespace, *concurrent*.  Its first member is a *futures* package "
"which provides a uniform high-level interface for managing threads and "
"processes."
msgstr ""

#: whatsnew/3.2.rst:241
msgid ""
"The design for :mod:`concurrent.futures` was inspired by the *java.util."
"concurrent* package.  In that model, a running call and its result are "
"represented by a :class:`~concurrent.futures.Future` object that abstracts "
"features common to threads, processes, and remote procedure calls.  That "
"object supports status checks (running or done), timeouts, cancellations, "
"adding callbacks, and access to results or exceptions."
msgstr ""

#: whatsnew/3.2.rst:248
msgid ""
"The primary offering of the new module is a pair of executor classes for "
"launching and managing calls.  The goal of the executors is to make it "
"easier to use existing tools for making parallel calls. They save the effort "
"needed to setup a pool of resources, launch the calls, create a results "
"queue, add time-out handling, and limit the total number of threads, "
"processes, or remote procedure calls."
msgstr ""

#: whatsnew/3.2.rst:255
msgid ""
"Ideally, each application should share a single executor across multiple "
"components so that process and thread limits can be centrally managed.  This "
"solves the design challenge that arises when each component has its own "
"competing strategy for resource management."
msgstr ""

#: whatsnew/3.2.rst:260
msgid ""
"Both classes share a common interface with three methods: :meth:`~concurrent."
"futures.Executor.submit` for scheduling a callable and returning a :class:"
"`~concurrent.futures.Future` object; :meth:`~concurrent.futures.Executor."
"map` for scheduling many asynchronous calls at a time, and :meth:"
"`~concurrent.futures.Executor.shutdown` for freeing resources.  The class is "
"a :term:`context manager` and can be used in a :keyword:`with` statement to "
"assure that resources are automatically released when currently pending "
"futures are done executing."
msgstr ""

#: whatsnew/3.2.rst:269
msgid ""
"A simple of example of :class:`~concurrent.futures.ThreadPoolExecutor` is a "
"launch of four parallel threads for copying files::"
msgstr ""

#: whatsnew/3.2.rst:282
msgid ":pep:`3148` - Futures -- Execute Computations Asynchronously"
msgstr ""

#: whatsnew/3.2.rst:282
msgid "PEP written by Brian Quinlan."
msgstr ""

#: whatsnew/3.2.rst:284
msgid ""
":ref:`Code for Threaded Parallel URL reads<threadpoolexecutor-example>`, an "
"example using threads to fetch multiple web pages in parallel."
msgstr ""

#: whatsnew/3.2.rst:287
msgid ""
":ref:`Code for computing prime numbers in parallel<processpoolexecutor-"
"example>`, an example demonstrating :class:`~concurrent.futures."
"ProcessPoolExecutor`."
msgstr ""

#: whatsnew/3.2.rst:293
msgid "PEP 3147:  PYC Repository Directories"
msgstr ""

#: whatsnew/3.2.rst:295
msgid ""
"Python's scheme for caching bytecode in *.pyc* files did not work well in "
"environments with multiple Python interpreters.  If one interpreter "
"encountered a cached file created by another interpreter, it would recompile "
"the source and overwrite the cached file, thus losing the benefits of "
"caching."
msgstr ""

#: whatsnew/3.2.rst:300
msgid ""
"The issue of \"pyc fights\" has become more pronounced as it has become "
"commonplace for Linux distributions to ship with multiple versions of "
"Python. These conflicts also arise with CPython alternatives such as Unladen "
"Swallow."
msgstr ""

#: whatsnew/3.2.rst:304
msgid ""
"To solve this problem, Python's import machinery has been extended to use "
"distinct filenames for each interpreter.  Instead of Python 3.2 and Python "
"3.3 and Unladen Swallow each competing for a file called \"mymodule.pyc\", "
"they will now look for \"mymodule.cpython-32.pyc\", \"mymodule.cpython-33."
"pyc\", and \"mymodule.unladen10.pyc\".  And to prevent all of these new "
"files from cluttering source directories, the *pyc* files are now collected "
"in a \"__pycache__\" directory stored under the package directory."
msgstr ""

#: whatsnew/3.2.rst:312
msgid ""
"Aside from the filenames and target directories, the new scheme has a few "
"aspects that are visible to the programmer:"
msgstr ""

#: whatsnew/3.2.rst:315
msgid ""
"Imported modules now have a :attr:`__cached__` attribute which stores the "
"name of the actual file that was imported:"
msgstr ""

#: whatsnew/3.2.rst:322
msgid ""
"The tag that is unique to each interpreter is accessible from the :mod:`imp` "
"module:"
msgstr ""

#: whatsnew/3.2.rst:329
msgid ""
"Scripts that try to deduce source filename from the imported file now need "
"to be smarter.  It is no longer sufficient to simply strip the \"c\" from a "
"\".pyc\" filename.  Instead, use the new functions in the :mod:`imp` module:"
msgstr ""

#: whatsnew/3.2.rst:338
msgid ""
"The :mod:`py_compile` and :mod:`compileall` modules have been updated to "
"reflect the new naming convention and target directory.  The command-line "
"invocation of *compileall* has new options: ``-i`` for specifying a list of "
"files and directories to compile and ``-b`` which causes bytecode files to "
"be written to their legacy location rather than *__pycache__*."
msgstr ""

#: whatsnew/3.2.rst:345
msgid ""
"The :mod:`importlib.abc` module has been updated with new :term:`abstract "
"base classes <abstract base class>` for loading bytecode files.  The "
"obsolete ABCs, :class:`~importlib.abc.PyLoader` and :class:`~importlib.abc."
"PyPycLoader`, have been deprecated (instructions on how to stay Python 3.1 "
"compatible are included with the documentation)."
msgstr ""

#: whatsnew/3.2.rst:353
msgid ":pep:`3147` - PYC Repository Directories"
msgstr ""

#: whatsnew/3.2.rst:385
msgid "PEP written by Barry Warsaw."
msgstr ""

#: whatsnew/3.2.rst:358
msgid "PEP 3149: ABI Version Tagged .so Files"
msgstr ""

#: whatsnew/3.2.rst:360
msgid ""
"The PYC repository directory allows multiple bytecode cache files to be co-"
"located.  This PEP implements a similar mechanism for shared object files by "
"giving them a common directory and distinct names for each version."
msgstr ""

#: whatsnew/3.2.rst:364
msgid ""
"The common directory is \"pyshared\" and the file names are made distinct by "
"identifying the Python implementation (such as CPython, PyPy, Jython, etc.), "
"the major and minor version numbers, and optional build flags (such as \"d\" "
"for debug, \"m\" for pymalloc, \"u\" for wide-unicode).  For an arbitrary "
"package \"foo\", you may see these files when the distribution package is "
"installed::"
msgstr ""

#: whatsnew/3.2.rst:373
msgid ""
"In Python itself, the tags are accessible from functions in the :mod:"
"`sysconfig` module::"
msgstr ""

#: whatsnew/3.2.rst:384
msgid ":pep:`3149` - ABI Version Tagged .so Files"
msgstr ""

#: whatsnew/3.2.rst:389
msgid "PEP 3333: Python Web Server Gateway Interface v1.0.1"
msgstr ""

#: whatsnew/3.2.rst:391
msgid ""
"This informational PEP clarifies how bytes/text issues are to be handled by "
"the WSGI protocol.  The challenge is that string handling in Python 3 is "
"most conveniently handled with the :class:`str` type even though the HTTP "
"protocol is itself bytes oriented."
msgstr ""

#: whatsnew/3.2.rst:396
msgid ""
"The PEP differentiates so-called *native strings* that are used for request/"
"response headers and metadata versus *byte strings* which are used for the "
"bodies of requests and responses."
msgstr ""

#: whatsnew/3.2.rst:400
msgid ""
"The *native strings* are always of type :class:`str` but are restricted to "
"code points between *U+0000* through *U+00FF* which are translatable to "
"bytes using *Latin-1* encoding.  These strings are used for the keys and "
"values in the environment dictionary and for response headers and statuses "
"in the :func:`start_response` function.  They must follow :rfc:`2616` with "
"respect to encoding. That is, they must either be *ISO-8859-1* characters or "
"use :rfc:`2047` MIME encoding."
msgstr ""

#: whatsnew/3.2.rst:408
msgid ""
"For developers porting WSGI applications from Python 2, here are the salient "
"points:"
msgstr ""

#: whatsnew/3.2.rst:411
msgid ""
"If the app already used strings for headers in Python 2, no change is needed."
msgstr ""

#: whatsnew/3.2.rst:413
msgid ""
"If instead, the app encoded output headers or decoded input headers, then "
"the headers will need to be re-encoded to Latin-1.  For example, an output "
"header encoded in utf-8 was using ``h.encode('utf-8')`` now needs to convert "
"from bytes to native strings using ``h.encode('utf-8').decode('latin-1')``."
msgstr ""

#: whatsnew/3.2.rst:418
msgid ""
"Values yielded by an application or sent using the :meth:`write` method must "
"be byte strings.  The :func:`start_response` function and environ must use "
"native strings.  The two cannot be mixed."
msgstr ""

#: whatsnew/3.2.rst:422
msgid ""
"For server implementers writing CGI-to-WSGI pathways or other CGI-style "
"protocols, the users must to be able access the environment using native "
"strings even though the underlying platform may have a different "
"convention.  To bridge this gap, the :mod:`wsgiref` module has a new "
"function, :func:`wsgiref.handlers.read_environ` for transcoding CGI "
"variables from :data:`os.environ` into native strings and returning a new "
"dictionary."
msgstr ""

#: whatsnew/3.2.rst:431
msgid ":pep:`3333` - Python Web Server Gateway Interface v1.0.1"
msgstr ""

#: whatsnew/3.2.rst:432
msgid "PEP written by Phillip Eby."
msgstr ""

#: whatsnew/3.2.rst:436
msgid "Other Language Changes"
msgstr ""

#: whatsnew/3.2.rst:438
msgid "Some smaller changes made to the core Python language are:"
msgstr ""

#: whatsnew/3.2.rst:440
msgid ""
"String formatting for :func:`format` and :meth:`str.format` gained new "
"capabilities for the format character **#**.  Previously, for integers in "
"binary, octal, or hexadecimal, it caused the output to be prefixed with "
"'0b', '0o', or '0x' respectively.  Now it can also handle floats, complex, "
"and Decimal, causing the output to always have a decimal point even when no "
"digits follow it."
msgstr ""

#: whatsnew/3.2.rst:452
msgid ""
"(Suggested by Mark Dickinson and implemented by Eric Smith in :issue:`7094`.)"
msgstr ""

#: whatsnew/3.2.rst:454
msgid ""
"There is also a new :meth:`str.format_map` method that extends the "
"capabilities of the existing :meth:`str.format` method by accepting "
"arbitrary :term:`mapping` objects.  This new method makes it possible to use "
"string formatting with any of Python's many dictionary-like objects such as :"
"class:`~collections.defaultdict`, :class:`~shelve.Shelf`, :class:"
"`~configparser.ConfigParser`, or :mod:`dbm`.  It is also useful with custom :"
"class:`dict` subclasses that normalize keys before look-up or that supply a :"
"meth:`__missing__` method for unknown keys::"
msgstr ""

#: whatsnew/3.2.rst:481
msgid ""
"(Suggested by Raymond Hettinger and implemented by Eric Smith in :issue:"
"`6081`.)"
msgstr ""

#: whatsnew/3.2.rst:484
msgid ""
"The interpreter can now be started with a quiet option, ``-q``, to prevent "
"the copyright and version information from being displayed in the "
"interactive mode.  The option can be introspected using the :data:`sys."
"flags` attribute:"
msgstr ""

#: whatsnew/3.2.rst:496
msgid "(Contributed by Marcin Wojdyr in :issue:`1772833`)."
msgstr "(Contribution par Marcin Wojdyr; :issue:`1772833`)."

#: whatsnew/3.2.rst:498
msgid ""
"The :func:`hasattr` function works by calling :func:`getattr` and detecting "
"whether an exception is raised.  This technique allows it to detect methods "
"created dynamically by :meth:`__getattr__` or :meth:`__getattribute__` which "
"would otherwise be absent from the class dictionary.  Formerly, *hasattr* "
"would catch any exception, possibly masking genuine errors.  Now, *hasattr* "
"has been tightened to only catch :exc:`AttributeError` and let other "
"exceptions pass through::"
msgstr ""

#: whatsnew/3.2.rst:517
msgid ""
"(Discovered by Yury Selivanov and fixed by Benjamin Peterson; :issue:`9666`.)"
msgstr ""

#: whatsnew/3.2.rst:519
msgid ""
"The :func:`str` of a float or complex number is now the same as its :func:"
"`repr`. Previously, the :func:`str` form was shorter but that just caused "
"confusion and is no longer needed now that the shortest possible :func:"
"`repr` is displayed by default:"
msgstr ""

#: whatsnew/3.2.rst:530
msgid "(Proposed and implemented by Mark Dickinson; :issue:`9337`.)"
msgstr ""

#: whatsnew/3.2.rst:532
msgid ""
":class:`memoryview` objects now have a :meth:`~memoryview.release()` method "
"and they also now support the context management protocol.  This allows "
"timely release of any resources that were acquired when requesting a buffer "
"from the original object."
msgstr ""

#: whatsnew/3.2.rst:541
msgid "(Added by Antoine Pitrou; :issue:`9757`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`9757`.)"

#: whatsnew/3.2.rst:543
#, fuzzy
msgid ""
"Previously it was illegal to delete a name from the local namespace if it "
"occurs as a free variable in a nested block::"
msgstr ""
"Auparavant, il était illégal de supprimer un nom dans l'espace des noms "
"locaux si celui-ci apparaissait comme variable libre dans un bloc imbriqué ::"

#: whatsnew/3.2.rst:552
msgid ""
"This is now allowed.  Remember that the target of an :keyword:`except` "
"clause is cleared, so this code which used to work with Python 2.6, raised "
"a :exc:`SyntaxError` with Python 3.1 and now works again::"
msgstr ""

#: whatsnew/3.2.rst:565
msgid "(See :issue:`4617`.)"
msgstr ""

#: whatsnew/3.2.rst:567
msgid ""
"The internal :c:type:`structsequence` tool now creates subclasses of tuple. "
"This means that C structures like those returned by :func:`os.stat`, :func:"
"`time.gmtime`, and :data:`sys.version_info` now work like a :term:`named "
"tuple` and now work with functions and methods that expect a tuple as an "
"argument.  This is a big step forward in making the C structures as flexible "
"as their pure Python counterparts:"
msgstr ""

#: whatsnew/3.2.rst:580
msgid ""
"(Suggested by Arfrever Frehtes Taifersar Arahesis and implemented by "
"Benjamin Peterson in :issue:`8413`.)"
msgstr ""

#: whatsnew/3.2.rst:583
msgid ""
"Warnings are now easier to control using the :envvar:`PYTHONWARNINGS` "
"environment variable as an alternative to using ``-W`` at the command line:"
msgstr ""

#: whatsnew/3.2.rst:590
msgid ""
"(Suggested by Barry Warsaw and implemented by Philip Jenvey in :issue:"
"`7301`.)"
msgstr ""

#: whatsnew/3.2.rst:592
msgid ""
"A new warning category, :exc:`ResourceWarning`, has been added.  It is "
"emitted when potential issues with resource consumption or cleanup are "
"detected.  It is silenced by default in normal release builds but can be "
"enabled through the means provided by the :mod:`warnings` module, or on the "
"command line."
msgstr ""

#: whatsnew/3.2.rst:598
msgid ""
"A :exc:`ResourceWarning` is issued at interpreter shutdown if the :data:`gc."
"garbage` list isn't empty, and if :const:`gc.DEBUG_UNCOLLECTABLE` is set, "
"all uncollectable objects are printed.  This is meant to make the programmer "
"aware that their code contains object finalization issues."
msgstr ""

#: whatsnew/3.2.rst:603
msgid ""
"A :exc:`ResourceWarning` is also issued when a :term:`file object` is "
"destroyed without having been explicitly closed.  While the deallocator for "
"such object ensures it closes the underlying operating system resource "
"(usually, a file descriptor), the delay in deallocating the object could "
"produce various issues, especially under Windows.  Here is an example of "
"enabling the warning from the command line:"
msgstr ""

#: whatsnew/3.2.rst:617
msgid ""
"(Added by Antoine Pitrou and Georg Brandl in :issue:`10093` and :issue:"
"`477863`.)"
msgstr ""

#: whatsnew/3.2.rst:619
msgid ""
":class:`range` objects now support *index* and *count* methods. This is part "
"of an effort to make more objects fully implement the :class:`collections."
"Sequence` :term:`abstract base class`.  As a result, the language will have "
"a more uniform API.  In addition, :class:`range` objects now support slicing "
"and negative indices, even with values larger than :data:`sys.maxsize`.  "
"This makes *range* more interoperable with lists::"
msgstr ""

#: whatsnew/3.2.rst:635
msgid ""
"(Contributed by Daniel Stutzbach in :issue:`9213`, by Alexander Belopolsky "
"in :issue:`2690`, and by Nick Coghlan in :issue:`10889`.)"
msgstr ""

#: whatsnew/3.2.rst:638
msgid ""
"The :func:`callable` builtin function from Py2.x was resurrected.  It "
"provides a concise, readable alternative to using an :term:`abstract base "
"class` in an expression like ``isinstance(x, collections.Callable)``:"
msgstr ""

#: whatsnew/3.2.rst:647
msgid "(See :issue:`10518`.)"
msgstr ""

#: whatsnew/3.2.rst:649
msgid ""
"Python's import mechanism can now load modules installed in directories with "
"non-ASCII characters in the path name.  This solved an aggravating problem "
"with home directories for users with non-ASCII characters in their usernames."
msgstr ""

#: whatsnew/3.2.rst:653
msgid "(Required extensive work by Victor Stinner in :issue:`9425`.)"
msgstr ""

#: whatsnew/3.2.rst:657
msgid "New, Improved, and Deprecated Modules"
msgstr ""

#: whatsnew/3.2.rst:659
msgid ""
"Python's standard library has undergone significant maintenance efforts and "
"quality improvements."
msgstr ""

#: whatsnew/3.2.rst:662
msgid ""
"The biggest news for Python 3.2 is that the :mod:`email` package, :mod:"
"`mailbox` module, and :mod:`nntplib` modules now work correctly with the "
"bytes/text model in Python 3.  For the first time, there is correct handling "
"of messages with mixed encodings."
msgstr ""

#: whatsnew/3.2.rst:667
msgid ""
"Throughout the standard library, there has been more careful attention to "
"encodings and text versus bytes issues.  In particular, interactions with "
"the operating system are now better able to exchange non-ASCII data using "
"the Windows MBCS encoding, locale-aware encodings, or UTF-8."
msgstr ""

#: whatsnew/3.2.rst:672
msgid ""
"Another significant win is the addition of substantially better support for "
"*SSL* connections and security certificates."
msgstr ""

#: whatsnew/3.2.rst:675
msgid ""
"In addition, more classes now implement a :term:`context manager` to support "
"convenient and reliable resource clean-up using a :keyword:`with` statement."
msgstr ""

#: whatsnew/3.2.rst:679
msgid "email"
msgstr "email"

#: whatsnew/3.2.rst:681
msgid ""
"The usability of the :mod:`email` package in Python 3 has been mostly fixed "
"by the extensive efforts of R. David Murray.  The problem was that emails "
"are typically read and stored in the form of :class:`bytes` rather than :"
"class:`str` text, and they may contain multiple encodings within a single "
"email.  So, the email package had to be extended to parse and generate email "
"messages in bytes format."
msgstr ""

#: whatsnew/3.2.rst:688
msgid ""
"New functions :func:`~email.message_from_bytes` and :func:`~email."
"message_from_binary_file`, and new classes :class:`~email.parser."
"BytesFeedParser` and :class:`~email.parser.BytesParser` allow binary message "
"data to be parsed into model objects."
msgstr ""

#: whatsnew/3.2.rst:693
msgid ""
"Given bytes input to the model, :meth:`~email.message.Message.get_payload` "
"will by default decode a message body that has a :mailheader:`Content-"
"Transfer-Encoding` of *8bit* using the charset specified in the MIME headers "
"and return the resulting string."
msgstr ""

#: whatsnew/3.2.rst:698
msgid ""
"Given bytes input to the model, :class:`~email.generator.Generator` will "
"convert message bodies that have a :mailheader:`Content-Transfer-Encoding` "
"of *8bit* to instead have a *7bit* :mailheader:`Content-Transfer-Encoding`."
msgstr ""

#: whatsnew/3.2.rst:702
msgid ""
"Headers with unencoded non-ASCII bytes are deemed to be :rfc:`2047`\\ -"
"encoded using the *unknown-8bit* character set."
msgstr ""

#: whatsnew/3.2.rst:705
msgid ""
"A new class :class:`~email.generator.BytesGenerator` produces bytes as "
"output, preserving any unchanged non-ASCII data that was present in the "
"input used to build the model, including message bodies with a :mailheader:"
"`Content-Transfer-Encoding` of *8bit*."
msgstr ""

#: whatsnew/3.2.rst:710
msgid ""
"The :mod:`smtplib` :class:`~smtplib.SMTP` class now accepts a byte string "
"for the *msg* argument to the :meth:`~smtplib.SMTP.sendmail` method, and a "
"new method, :meth:`~smtplib.SMTP.send_message` accepts a :class:`~email."
"message.Message` object and can optionally obtain the *from_addr* and "
"*to_addrs* addresses directly from the object."
msgstr ""

#: whatsnew/3.2.rst:716
msgid ""
"(Proposed and implemented by R. David Murray, :issue:`4661` and :issue:"
"`10321`.)"
msgstr ""

#: whatsnew/3.2.rst:719
msgid "elementtree"
msgstr "elementtree"

#: whatsnew/3.2.rst:721
msgid ""
"The :mod:`xml.etree.ElementTree` package and its :mod:`xml.etree."
"cElementTree` counterpart have been updated to version 1.3."
msgstr ""

#: whatsnew/3.2.rst:724
msgid "Several new and useful functions and methods have been added:"
msgstr ""

#: whatsnew/3.2.rst:726
msgid ""
":func:`xml.etree.ElementTree.fromstringlist` which builds an XML document "
"from a sequence of fragments"
msgstr ""

#: whatsnew/3.2.rst:728
msgid ""
":func:`xml.etree.ElementTree.register_namespace` for registering a global "
"namespace prefix"
msgstr ""

#: whatsnew/3.2.rst:730
msgid ""
":func:`xml.etree.ElementTree.tostringlist` for string representation "
"including all sublists"
msgstr ""

#: whatsnew/3.2.rst:732
msgid ""
":meth:`xml.etree.ElementTree.Element.extend` for appending a sequence of "
"zero or more elements"
msgstr ""

#: whatsnew/3.2.rst:734
msgid ""
":meth:`xml.etree.ElementTree.Element.iterfind` searches an element and "
"subelements"
msgstr ""

#: whatsnew/3.2.rst:736
msgid ""
":meth:`xml.etree.ElementTree.Element.itertext` creates a text iterator over "
"an element and its subelements"
msgstr ""

#: whatsnew/3.2.rst:738
msgid ""
":meth:`xml.etree.ElementTree.TreeBuilder.end` closes the current element"
msgstr ""

#: whatsnew/3.2.rst:739
msgid ""
":meth:`xml.etree.ElementTree.TreeBuilder.doctype` handles a doctype "
"declaration"
msgstr ""

#: whatsnew/3.2.rst:742
msgid "Two methods have been deprecated:"
msgstr "Deux méthodes ont été dépréciées :"

#: whatsnew/3.2.rst:744
msgid ":meth:`xml.etree.ElementTree.getchildren` use ``list(elem)`` instead."
msgstr ""

#: whatsnew/3.2.rst:745
msgid ":meth:`xml.etree.ElementTree.getiterator` use ``Element.iter`` instead."
msgstr ""

#: whatsnew/3.2.rst:747
msgid ""
"For details of the update, see `Introducing ElementTree <https://web.archive."
"org/web/20200703234532/http://effbot.org/zone/elementtree-13-intro.htm>`_ on "
"Fredrik Lundh's website."
msgstr ""

#: whatsnew/3.2.rst:751
msgid "(Contributed by Florent Xicluna and Fredrik Lundh, :issue:`6472`.)"
msgstr "(Contribution par Florent Xicluna et Fredrik Lundh; :issue:`6472`)"

#: whatsnew/3.2.rst:754
msgid "functools"
msgstr ""

#: whatsnew/3.2.rst:756
msgid ""
"The :mod:`functools` module includes a new decorator for caching function "
"calls.  :func:`functools.lru_cache` can save repeated queries to an external "
"resource whenever the results are expected to be the same."
msgstr ""

#: whatsnew/3.2.rst:760
msgid ""
"For example, adding a caching decorator to a database query function can "
"save database accesses for popular searches:"
msgstr ""

#: whatsnew/3.2.rst:773
msgid ""
"To help with choosing an effective cache size, the wrapped function is "
"instrumented for tracking cache statistics:"
msgstr ""

#: whatsnew/3.2.rst:779
msgid ""
"If the phonelist table gets updated, the outdated contents of the cache can "
"be cleared with:"
msgstr ""

#: whatsnew/3.2.rst:784
msgid ""
"(Contributed by Raymond Hettinger and incorporating design ideas from Jim "
"Baker, Miki Tebeka, and Nick Coghlan; see `recipe 498245 <https://code."
"activestate.com/recipes/498245/>`_\\, `recipe 577479 <https://code."
"activestate.com/recipes/577479/>`_\\, :issue:`10586`, and :issue:`10593`.)"
msgstr ""

#: whatsnew/3.2.rst:790
msgid ""
"The :func:`functools.wraps` decorator now adds a :attr:`__wrapped__` "
"attribute pointing to the original callable function.  This allows wrapped "
"functions to be introspected.  It also copies :attr:`__annotations__` if "
"defined.  And now it also gracefully skips over missing attributes such as :"
"attr:`__doc__` which might not be defined for the wrapped callable."
msgstr ""

#: whatsnew/3.2.rst:796
msgid ""
"In the above example, the cache can be removed by recovering the original "
"function:"
msgstr ""

#: whatsnew/3.2.rst:801
msgid ""
"(By Nick Coghlan and Terrence Cole; :issue:`9567`, :issue:`3445`, and :issue:"
"`8814`.)"
msgstr ""

#: whatsnew/3.2.rst:804
msgid ""
"To help write classes with rich comparison methods, a new decorator :func:"
"`functools.total_ordering` will use existing equality and inequality methods "
"to fill in the remaining methods."
msgstr ""

#: whatsnew/3.2.rst:808
msgid ""
"For example, supplying *__eq__* and *__lt__* will enable :func:`~functools."
"total_ordering` to fill-in *__le__*, *__gt__* and *__ge__*::"
msgstr ""

#: whatsnew/3.2.rst:821
msgid ""
"With the *total_ordering* decorator, the remaining comparison methods are "
"filled in automatically."
msgstr ""

#: whatsnew/3.2.rst:836 whatsnew/3.2.rst:901 whatsnew/3.2.rst:1785
#: whatsnew/3.2.rst:1830
msgid "(Contributed by Raymond Hettinger.)"
msgstr ""

#: whatsnew/3.2.rst:826
msgid ""
"To aid in porting programs from Python 2, the :func:`functools.cmp_to_key` "
"function converts an old-style comparison function to modern :term:`key "
"function`:"
msgstr ""

#: whatsnew/3.2.rst:833
msgid ""
"For sorting examples and a brief sorting tutorial, see the `Sorting HowTo "
"<https://wiki.python.org/moin/HowTo/Sorting/>`_ tutorial."
msgstr ""

#: whatsnew/3.2.rst:839
msgid "itertools"
msgstr ""

#: whatsnew/3.2.rst:841
msgid ""
"The :mod:`itertools` module has a new :func:`~itertools.accumulate` function "
"modeled on APL's *scan* operator and Numpy's *accumulate* function:"
msgstr ""

#: whatsnew/3.2.rst:852
msgid ""
"For an example using :func:`~itertools.accumulate`, see the :ref:`examples "
"for the random module <random-examples>`."
msgstr ""

#: whatsnew/3.2.rst:855
msgid ""
"(Contributed by Raymond Hettinger and incorporating design suggestions from "
"Mark Dickinson.)"
msgstr ""

#: whatsnew/3.2.rst:859
msgid "collections"
msgstr ""

#: whatsnew/3.2.rst:861
msgid ""
"The :class:`collections.Counter` class now has two forms of in-place "
"subtraction, the existing *-=* operator for `saturating subtraction <https://"
"en.wikipedia.org/wiki/Saturation_arithmetic>`_ and the new :meth:"
"`~collections.Counter.subtract` method for regular subtraction.  The former "
"is suitable for `multisets <https://en.wikipedia.org/wiki/Multiset>`_ which "
"only have positive counts, and the latter is more suitable for use cases "
"that allow negative counts:"
msgstr ""

#: whatsnew/3.2.rst:882
msgid ""
"The :class:`collections.OrderedDict` class has a new method :meth:"
"`~collections.OrderedDict.move_to_end` which takes an existing key and moves "
"it to either the first or last position in the ordered sequence."
msgstr ""

#: whatsnew/3.2.rst:886
msgid ""
"The default is to move an item to the last position.  This is equivalent of "
"renewing an entry with ``od[k] = od.pop(k)``."
msgstr ""

#: whatsnew/3.2.rst:889
msgid ""
"A fast move-to-end operation is useful for resequencing entries.  For "
"example, an ordered dictionary can be used to track order of access by aging "
"entries from the oldest to the most recently accessed."
msgstr ""

#: whatsnew/3.2.rst:903
msgid ""
"The :class:`collections.deque` class grew two new methods :meth:"
"`~collections.deque.count` and :meth:`~collections.deque.reverse` that make "
"them more substitutable for :class:`list` objects:"
msgstr ""

#: whatsnew/3.2.rst:918
msgid "threading"
msgstr "threading"

#: whatsnew/3.2.rst:920
msgid ""
"The :mod:`threading` module has a new :class:`~threading.Barrier` "
"synchronization class for making multiple threads wait until all of them "
"have reached a common barrier point.  Barriers are useful for making sure "
"that a task with multiple preconditions does not run until all of the "
"predecessor tasks are complete."
msgstr ""

#: whatsnew/3.2.rst:926
msgid ""
"Barriers can work with an arbitrary number of threads.  This is a "
"generalization of a `Rendezvous <https://en.wikipedia.org/wiki/"
"Synchronous_rendezvous>`_ which is defined for only two threads."
msgstr ""

#: whatsnew/3.2.rst:930
msgid ""
"Implemented as a two-phase cyclic barrier, :class:`~threading.Barrier` "
"objects are suitable for use in loops.  The separate *filling* and "
"*draining* phases assure that all threads get released (drained) before any "
"one of them can loop back and re-enter the barrier.  The barrier fully "
"resets after each cycle."
msgstr ""

#: whatsnew/3.2.rst:935
msgid "Example of using barriers::"
msgstr ""

#: whatsnew/3.2.rst:949
msgid ""
"In this example, the barrier enforces a rule that votes cannot be counted at "
"any polling site until all polls are closed.  Notice how a solution with a "
"barrier is similar to one with :meth:`threading.Thread.join`, but the "
"threads stay alive and continue to do work (summarizing ballots) after the "
"barrier point is crossed."
msgstr ""

#: whatsnew/3.2.rst:955
msgid ""
"If any of the predecessor tasks can hang or be delayed, a barrier can be "
"created with an optional *timeout* parameter.  Then if the timeout period "
"elapses before all the predecessor tasks reach the barrier point, all "
"waiting threads are released and a :exc:`~threading.BrokenBarrierError` "
"exception is raised::"
msgstr ""

#: whatsnew/3.2.rst:971
msgid ""
"In this example, the barrier enforces a more robust rule.  If some election "
"sites do not finish before midnight, the barrier times-out and the ballots "
"are sealed and deposited in a queue for later handling."
msgstr ""

#: whatsnew/3.2.rst:975
msgid ""
"See `Barrier Synchronization Patterns <https://osl.cs.illinois.edu/media/"
"papers/karmani-2009-barrier_synchronization_pattern.pdf>`_ for more examples "
"of how barriers can be used in parallel computing.  Also, there is a simple "
"but thorough explanation of barriers in `The Little Book of Semaphores "
"<https://greenteapress.com/semaphores/LittleBookOfSemaphores.pdf>`_, "
"*section 3.6*."
msgstr ""

#: whatsnew/3.2.rst:981
msgid ""
"(Contributed by Kristján Valur Jónsson with an API review by Jeffrey Yasskin "
"in :issue:`8777`.)"
msgstr ""

#: whatsnew/3.2.rst:985
msgid "datetime and time"
msgstr ""

#: whatsnew/3.2.rst:987
msgid ""
"The :mod:`datetime` module has a new type :class:`~datetime.timezone` that "
"implements the :class:`~datetime.tzinfo` interface by returning a fixed UTC "
"offset and timezone name. This makes it easier to create timezone-aware "
"datetime objects::"
msgstr ""

#: whatsnew/3.2.rst:1000
msgid ""
"Also, :class:`~datetime.timedelta` objects can now be multiplied by :class:"
"`float` and divided by :class:`float` and :class:`int` objects. And :class:"
"`~datetime.timedelta` objects can now divide one another."
msgstr ""

#: whatsnew/3.2.rst:1004
msgid ""
"The :meth:`datetime.date.strftime` method is no longer restricted to years "
"after 1900.  The new supported year range is from 1000 to 9999 inclusive."
msgstr ""

#: whatsnew/3.2.rst:1007
msgid ""
"Whenever a two-digit year is used in a time tuple, the interpretation has "
"been governed by :data:`time.accept2dyear`.  The default is ``True`` which "
"means that for a two-digit year, the century is guessed according to the "
"POSIX rules governing the ``%y`` strptime format."
msgstr ""

#: whatsnew/3.2.rst:1012
msgid ""
"Starting with Py3.2, use of the century guessing heuristic will emit a :exc:"
"`DeprecationWarning`.  Instead, it is recommended that :data:`time."
"accept2dyear` be set to ``False`` so that large date ranges can be used "
"without guesswork::"
msgstr ""

#: whatsnew/3.2.rst:1031
msgid ""
"Several functions now have significantly expanded date ranges.  When :data:"
"`time.accept2dyear` is false, the :func:`time.asctime` function will accept "
"any year that fits in a C int, while the :func:`time.mktime` and :func:`time."
"strftime` functions will accept the full range supported by the "
"corresponding operating system functions."
msgstr ""

#: whatsnew/3.2.rst:1037
msgid ""
"(Contributed by Alexander Belopolsky and Victor Stinner in :issue:"
"`1289118`, :issue:`5094`, :issue:`6641`, :issue:`2706`, :issue:`1777412`, :"
"issue:`8013`, and :issue:`10827`.)"
msgstr ""

#: whatsnew/3.2.rst:1044
msgid "math"
msgstr ""

#: whatsnew/3.2.rst:1046
msgid ""
"The :mod:`math` module has been updated with six new functions inspired by "
"the C99 standard."
msgstr ""

#: whatsnew/3.2.rst:1049
msgid ""
"The :func:`~math.isfinite` function provides a reliable and fast way to "
"detect special values.  It returns ``True`` for regular numbers and "
"``False`` for *Nan* or *Infinity*:"
msgstr ""

#: whatsnew/3.2.rst:1057
msgid ""
"The :func:`~math.expm1` function computes ``e**x-1`` for small values of *x* "
"without incurring the loss of precision that usually accompanies the "
"subtraction of nearly equal quantities:"
msgstr ""

#: whatsnew/3.2.rst:1065
msgid ""
"The :func:`~math.erf` function computes a probability integral or `Gaussian "
"error function <https://en.wikipedia.org/wiki/Error_function>`_.  The "
"complementary error function, :func:`~math.erfc`, is ``1 - erf(x)``:"
msgstr ""

#: whatsnew/3.2.rst:1080
msgid ""
"The :func:`~math.gamma` function is a continuous extension of the factorial "
"function.  See https://en.wikipedia.org/wiki/Gamma_function for details.  "
"Because the function is related to factorials, it grows large even for small "
"values of *x*, so there is also a :func:`~math.lgamma` function for "
"computing the natural logarithm of the gamma function:"
msgstr ""

#: whatsnew/3.2.rst:1092
msgid "(Contributed by Mark Dickinson.)"
msgstr ""

#: whatsnew/3.2.rst:1095
msgid "abc"
msgstr ""

#: whatsnew/3.2.rst:1097
msgid ""
"The :mod:`abc` module now supports :func:`~abc.abstractclassmethod` and :"
"func:`~abc.abstractstaticmethod`."
msgstr ""

#: whatsnew/3.2.rst:1100
msgid ""
"These tools make it possible to define an :term:`abstract base class` that "
"requires a particular :func:`classmethod` or :func:`staticmethod` to be "
"implemented::"
msgstr ""

#: whatsnew/3.2.rst:1112
msgid "(Patch submitted by Daniel Urban; :issue:`5867`.)"
msgstr ""

#: whatsnew/3.2.rst:1115
msgid "io"
msgstr ""

#: whatsnew/3.2.rst:1117
msgid ""
"The :class:`io.BytesIO` has a new method, :meth:`~io.BytesIO.getbuffer`, "
"which provides functionality similar to :func:`memoryview`.  It creates an "
"editable view of the data without making a copy.  The buffer's random access "
"and support for slice notation are well-suited to in-place editing::"
msgstr ""

#: whatsnew/3.2.rst:1143
msgid "(Contributed by Antoine Pitrou in :issue:`5506`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`5506`.)"

#: whatsnew/3.2.rst:1146
msgid "reprlib"
msgstr ""

#: whatsnew/3.2.rst:1148
msgid ""
"When writing a :meth:`__repr__` method for a custom container, it is easy to "
"forget to handle the case where a member refers back to the container "
"itself. Python's builtin objects such as :class:`list` and :class:`set` "
"handle self-reference by displaying \"...\" in the recursive part of the "
"representation string."
msgstr ""

#: whatsnew/3.2.rst:1154
msgid ""
"To help write such :meth:`__repr__` methods, the :mod:`reprlib` module has a "
"new decorator, :func:`~reprlib.recursive_repr`, for detecting recursive "
"calls to :meth:`__repr__` and substituting a placeholder string instead::"
msgstr ""

#: whatsnew/3.2.rst:1169
msgid "(Contributed by Raymond Hettinger in :issue:`9826` and :issue:`9840`.)"
msgstr "(Contribution par Raymond Hettinger; :issue:`9826` et :issue:`9840`)"

#: whatsnew/3.2.rst:1172
msgid "logging"
msgstr ""

#: whatsnew/3.2.rst:1174
msgid ""
"In addition to dictionary-based configuration described above, the :mod:"
"`logging` package has many other improvements."
msgstr ""

#: whatsnew/3.2.rst:1177
msgid ""
"The logging documentation has been augmented by a :ref:`basic tutorial "
"<logging-basic-tutorial>`\\, an :ref:`advanced tutorial <logging-advanced-"
"tutorial>`\\, and a :ref:`cookbook <logging-cookbook>` of logging recipes.  "
"These documents are the fastest way to learn about logging."
msgstr ""

#: whatsnew/3.2.rst:1182
msgid ""
"The :func:`logging.basicConfig` set-up function gained a *style* argument to "
"support three different types of string formatting.  It defaults to \"%\" "
"for traditional %-formatting, can be set to \"{\" for the new :meth:`str."
"format` style, or can be set to \"$\" for the shell-style formatting "
"provided by :class:`string.Template`.  The following three configurations "
"are equivalent::"
msgstr ""

#: whatsnew/3.2.rst:1193
msgid ""
"If no configuration is set-up before a logging event occurs, there is now a "
"default configuration using a :class:`~logging.StreamHandler` directed to :"
"data:`sys.stderr` for events of ``WARNING`` level or higher.  Formerly, an "
"event occurring before a configuration was set-up would either raise an "
"exception or silently drop the event depending on the value of :data:"
"`logging.raiseExceptions`.  The new default handler is stored in :data:"
"`logging.lastResort`."
msgstr ""

#: whatsnew/3.2.rst:1201
msgid ""
"The use of filters has been simplified.  Instead of creating a :class:"
"`~logging.Filter` object, the predicate can be any Python callable that "
"returns ``True`` or ``False``."
msgstr ""

#: whatsnew/3.2.rst:1205
msgid ""
"There were a number of other improvements that add flexibility and simplify "
"configuration.  See the module documentation for a full listing of changes "
"in Python 3.2."
msgstr ""

#: whatsnew/3.2.rst:1210
msgid "csv"
msgstr "csv"

#: whatsnew/3.2.rst:1212
msgid ""
"The :mod:`csv` module now supports a new dialect, :class:`~csv."
"unix_dialect`, which applies quoting for all fields and a traditional Unix "
"style with ``'\\n'`` as the line terminator.  The registered dialect name is "
"``unix``."
msgstr ""

#: whatsnew/3.2.rst:1216
msgid ""
"The :class:`csv.DictWriter` has a new method, :meth:`~csv.DictWriter."
"writeheader` for writing-out an initial row to document the field names::"
msgstr ""

#: whatsnew/3.2.rst:1230
msgid ""
"(New dialect suggested by Jay Talbot in :issue:`5975`, and the new method "
"suggested by Ed Abraham in :issue:`1537721`.)"
msgstr ""

#: whatsnew/3.2.rst:1234
msgid "contextlib"
msgstr "contextlib"

#: whatsnew/3.2.rst:1236
msgid ""
"There is a new and slightly mind-blowing tool :class:`~contextlib."
"ContextDecorator` that is helpful for creating a :term:`context manager` "
"that does double duty as a function decorator."
msgstr ""

#: whatsnew/3.2.rst:1240
msgid ""
"As a convenience, this new functionality is used by :func:`~contextlib."
"contextmanager` so that no extra effort is needed to support both roles."
msgstr ""

#: whatsnew/3.2.rst:1244
msgid ""
"The basic idea is that both context managers and function decorators can be "
"used for pre-action and post-action wrappers.  Context managers wrap a group "
"of statements using a :keyword:`with` statement, and function decorators "
"wrap a group of statements enclosed in a function.  So, occasionally there "
"is a need to write a pre-action or post-action wrapper that can be used in "
"either role."
msgstr ""

#: whatsnew/3.2.rst:1250
msgid ""
"For example, it is sometimes useful to wrap functions or groups of "
"statements with a logger that can track the time of entry and time of exit.  "
"Rather than writing both a function decorator and a context manager for the "
"task, the :func:`~contextlib.contextmanager` provides both capabilities in a "
"single definition::"
msgstr ""

#: whatsnew/3.2.rst:1267
msgid "Formerly, this would have only been usable as a context manager::"
msgstr ""

#: whatsnew/3.2.rst:1273
msgid "Now, it can be used as a decorator as well::"
msgstr ""

#: whatsnew/3.2.rst:1280
msgid ""
"Trying to fulfill two roles at once places some limitations on the "
"technique. Context managers normally have the flexibility to return an "
"argument usable by a :keyword:`with` statement, but there is no parallel for "
"function decorators."
msgstr ""

#: whatsnew/3.2.rst:1284
msgid ""
"In the above example, there is not a clean way for the "
"*track_entry_and_exit* context manager to return a logging instance for use "
"in the body of enclosed statements."
msgstr ""

#: whatsnew/3.2.rst:1288
msgid "(Contributed by Michael Foord in :issue:`9110`.)"
msgstr "(Contribution par Michael Foord; :issue:`9110`)"

#: whatsnew/3.2.rst:1291
msgid "decimal and fractions"
msgstr ""

#: whatsnew/3.2.rst:1293
msgid ""
"Mark Dickinson crafted an elegant and efficient scheme for assuring that "
"different numeric datatypes will have the same hash value whenever their "
"actual values are equal (:issue:`8188`)::"
msgstr ""

#: whatsnew/3.2.rst:1300
msgid ""
"Some of the hashing details are exposed through a new attribute, :data:`sys."
"hash_info`, which describes the bit width of the hash value, the prime "
"modulus, the hash values for *infinity* and *nan*, and the multiplier used "
"for the imaginary part of a number:"
msgstr ""

#: whatsnew/3.2.rst:1308
msgid ""
"An early decision to limit the inter-operability of various numeric types "
"has been relaxed.  It is still unsupported (and ill-advised) to have "
"implicit mixing in arithmetic expressions such as ``Decimal('1.1') + "
"float('1.1')`` because the latter loses information in the process of "
"constructing the binary float.  However, since existing floating point value "
"can be converted losslessly to either a decimal or rational representation, "
"it makes sense to add them to the constructor and to support mixed-type "
"comparisons."
msgstr ""

#: whatsnew/3.2.rst:1316
msgid ""
"The :class:`decimal.Decimal` constructor now accepts :class:`float` objects "
"directly so there in no longer a need to use the :meth:`~decimal.Decimal."
"from_float` method (:issue:`8257`)."
msgstr ""

#: whatsnew/3.2.rst:1320
msgid ""
"Mixed type comparisons are now fully supported so that :class:`~decimal."
"Decimal` objects can be directly compared with :class:`float` and :class:"
"`fractions.Fraction` (:issue:`2531` and :issue:`8188`)."
msgstr ""

#: whatsnew/3.2.rst:1324
msgid ""
"Similar changes were made to :class:`fractions.Fraction` so that the :meth:"
"`~fractions.Fraction.from_float()` and :meth:`~fractions.Fraction."
"from_decimal` methods are no longer needed (:issue:`8294`):"
msgstr ""

#: whatsnew/3.2.rst:1335
msgid ""
"Another useful change for the :mod:`decimal` module is that the :attr:"
"`Context.clamp` attribute is now public.  This is useful in creating "
"contexts that correspond to the decimal interchange formats specified in "
"IEEE 754 (see :issue:`8540`)."
msgstr ""

#: whatsnew/3.2.rst:1340
msgid "(Contributed by Mark Dickinson and Raymond Hettinger.)"
msgstr ""

#: whatsnew/3.2.rst:1343
msgid "ftp"
msgstr ""

#: whatsnew/3.2.rst:1345
msgid ""
"The :class:`ftplib.FTP` class now supports the context management protocol "
"to unconditionally consume :exc:`socket.error` exceptions and to close the "
"FTP connection when done::"
msgstr ""

#: whatsnew/3.2.rst:1360
msgid ""
"Other file-like objects such as :class:`mmap.mmap` and :func:`fileinput."
"input` also grew auto-closing context managers::"
msgstr ""

#: whatsnew/3.2.rst:1367
msgid ""
"(Contributed by Tarek Ziadé and Giampaolo Rodolà in :issue:`4972`, and by "
"Georg Brandl in :issue:`8046` and :issue:`1286`.)"
msgstr ""

#: whatsnew/3.2.rst:1370
msgid ""
"The :class:`~ftplib.FTP_TLS` class now accepts a *context* parameter, which "
"is a :class:`ssl.SSLContext` object allowing bundling SSL configuration "
"options, certificates and private keys into a single (potentially long-"
"lived) structure."
msgstr ""

#: whatsnew/3.2.rst:1374
msgid "(Contributed by Giampaolo Rodolà; :issue:`8806`.)"
msgstr "(Contribution par Giampaolo Rodolà; :issue:`8806`)"

#: whatsnew/3.2.rst:1377
msgid "popen"
msgstr ""

#: whatsnew/3.2.rst:1379
msgid ""
"The :func:`os.popen` and :func:`subprocess.Popen` functions now support :"
"keyword:`with` statements for auto-closing of the file descriptors."
msgstr ""

#: whatsnew/3.2.rst:1382
msgid ""
"(Contributed by Antoine Pitrou and Brian Curtin in :issue:`7461` and :issue:"
"`10554`.)"
msgstr ""
"(Contribution par Antoine Pitrou et Brian Curtin; :issue:`7461` et :issue:"
"`10554`)"

#: whatsnew/3.2.rst:1386
msgid "select"
msgstr ""

#: whatsnew/3.2.rst:1388
msgid ""
"The :mod:`select` module now exposes a new, constant attribute, :const:"
"`~select.PIPE_BUF`, which gives the minimum number of bytes which are "
"guaranteed not to block when :func:`select.select` says a pipe is ready for "
"writing."
msgstr ""

#: whatsnew/3.2.rst:1397
msgid "(Available on Unix systems. Patch by Sébastien Sablé in :issue:`9862`)"
msgstr ""

#: whatsnew/3.2.rst:1400
msgid "gzip and zipfile"
msgstr ""

#: whatsnew/3.2.rst:1402
msgid ""
":class:`gzip.GzipFile` now implements the :class:`io.BufferedIOBase` :term:"
"`abstract base class` (except for ``truncate()``).  It also has a :meth:"
"`~gzip.GzipFile.peek` method and supports unseekable as well as zero-padded "
"file objects."
msgstr ""

#: whatsnew/3.2.rst:1407
msgid ""
"The :mod:`gzip` module also gains the :func:`~gzip.compress` and :func:"
"`~gzip.decompress` functions for easier in-memory compression and "
"decompression.  Keep in mind that text needs to be encoded as :class:`bytes` "
"before compressing and decompressing:"
msgstr ""

#: whatsnew/3.2.rst:1424
msgid ""
"(Contributed by Anand B. Pillai in :issue:`3488`; and by Antoine Pitrou, Nir "
"Aides and Brian Curtin in :issue:`9962`, :issue:`1675951`, :issue:`7471` "
"and :issue:`2846`.)"
msgstr ""

#: whatsnew/3.2.rst:1428
msgid ""
"Also, the :class:`zipfile.ZipExtFile` class was reworked internally to "
"represent files stored inside an archive.  The new implementation is "
"significantly faster and can be wrapped in an :class:`io.BufferedReader` "
"object for more speedups.  It also solves an issue where interleaved calls "
"to *read* and *readline* gave the wrong results."
msgstr ""

#: whatsnew/3.2.rst:1434
msgid "(Patch submitted by Nir Aides in :issue:`7610`.)"
msgstr ""

#: whatsnew/3.2.rst:1437
msgid "tarfile"
msgstr ""

#: whatsnew/3.2.rst:1439
msgid ""
"The :class:`~tarfile.TarFile` class can now be used as a context manager.  "
"In addition, its :meth:`~tarfile.TarFile.add` method has a new option, "
"*filter*, that controls which files are added to the archive and allows the "
"file metadata to be edited."
msgstr ""

#: whatsnew/3.2.rst:1444
msgid ""
"The new *filter* option replaces the older, less flexible *exclude* "
"parameter which is now deprecated.  If specified, the optional *filter* "
"parameter needs to be a :term:`keyword argument`.  The user-supplied filter "
"function accepts a :class:`~tarfile.TarInfo` object and returns an updated :"
"class:`~tarfile.TarInfo` object, or if it wants the file to be excluded, the "
"function can return ``None``::"
msgstr ""

#: whatsnew/3.2.rst:1468
msgid ""
"(Proposed by Tarek Ziadé and implemented by Lars Gustäbel in :issue:`6856`.)"
msgstr ""

#: whatsnew/3.2.rst:1471
msgid "hashlib"
msgstr ""

#: whatsnew/3.2.rst:1473
msgid ""
"The :mod:`hashlib` module has two new constant attributes listing the "
"hashing algorithms guaranteed to be present in all implementations and those "
"available on the current implementation::"
msgstr ""

#: whatsnew/3.2.rst:1488
msgid "(Suggested by Carl Chenet in :issue:`7418`.)"
msgstr ""

#: whatsnew/3.2.rst:1491
msgid "ast"
msgstr "ast"

#: whatsnew/3.2.rst:1493
msgid ""
"The :mod:`ast` module has a wonderful a general-purpose tool for safely "
"evaluating expression strings using the Python literal syntax.  The :func:"
"`ast.literal_eval` function serves as a secure alternative to the builtin :"
"func:`eval` function which is easily abused.  Python 3.2 adds :class:`bytes` "
"and :class:`set` literals to the list of supported types: strings, bytes, "
"numbers, tuples, lists, dicts, sets, booleans, and ``None``."
msgstr ""

#: whatsnew/3.2.rst:1514
msgid "(Implemented by Benjamin Peterson and Georg Brandl.)"
msgstr ""

#: whatsnew/3.2.rst:1517
msgid "os"
msgstr ""

#: whatsnew/3.2.rst:1519
msgid ""
"Different operating systems use various encodings for filenames and "
"environment variables.  The :mod:`os` module provides two new functions, :"
"func:`~os.fsencode` and :func:`~os.fsdecode`, for encoding and decoding "
"filenames:"
msgstr ""

#: whatsnew/3.2.rst:1529
msgid ""
"Some operating systems allow direct access to encoded bytes in the "
"environment.  If so, the :const:`os.supports_bytes_environ` constant will be "
"true."
msgstr ""

#: whatsnew/3.2.rst:1533
msgid ""
"For direct access to encoded environment variables (if available), use the "
"new :func:`os.getenvb` function or use :data:`os.environb` which is a bytes "
"version of :data:`os.environ`."
msgstr ""

#: whatsnew/3.2.rst:1537
msgid "(Contributed by Victor Stinner.)"
msgstr "(Contribution par Victor Stinner)"

#: whatsnew/3.2.rst:1540
msgid "shutil"
msgstr ""

#: whatsnew/3.2.rst:1542
msgid "The :func:`shutil.copytree` function has two new options:"
msgstr ""

#: whatsnew/3.2.rst:1544
msgid ""
"*ignore_dangling_symlinks*: when ``symlinks=False`` so that the function "
"copies a file pointed to by a symlink, not the symlink itself. This option "
"will silence the error raised if the file doesn't exist."
msgstr ""

#: whatsnew/3.2.rst:1548
msgid ""
"*copy_function*: is a callable that will be used to copy files. :func:"
"`shutil.copy2` is used by default."
msgstr ""

#: whatsnew/3.2.rst:1589
msgid "(Contributed by Tarek Ziadé.)"
msgstr ""

#: whatsnew/3.2.rst:1553
msgid ""
"In addition, the :mod:`shutil` module now supports :ref:`archiving "
"operations <archiving-operations>` for zipfiles, uncompressed tarfiles, "
"gzipped tarfiles, and bzipped tarfiles.  And there are functions for "
"registering additional archiving file formats (such as xz compressed "
"tarfiles or custom formats)."
msgstr ""

#: whatsnew/3.2.rst:1558
msgid ""
"The principal functions are :func:`~shutil.make_archive` and :func:`~shutil."
"unpack_archive`.  By default, both operate on the current directory (which "
"can be set by :func:`os.chdir`) and on any sub-directories. The archive "
"filename needs to be specified with a full pathname.  The archiving step is "
"non-destructive (the original files are left unchanged)."
msgstr ""

#: whatsnew/3.2.rst:1592
msgid "sqlite3"
msgstr ""

#: whatsnew/3.2.rst:1594
msgid ""
"The :mod:`sqlite3` module was updated to pysqlite version 2.6.0.  It has two "
"new capabilities."
msgstr ""

#: whatsnew/3.2.rst:1596
msgid ""
"The :attr:`sqlite3.Connection.in_transit` attribute is true if there is an "
"active transaction for uncommitted changes."
msgstr ""

#: whatsnew/3.2.rst:1599
msgid ""
"The :meth:`sqlite3.Connection.enable_load_extension` and :meth:`sqlite3."
"Connection.load_extension` methods allows you to load SQLite extensions from "
"\".so\" files.  One well-known extension is the fulltext-search extension "
"distributed with SQLite."
msgstr ""

#: whatsnew/3.2.rst:1604
msgid "(Contributed by R. David Murray and Shashwat Anand; :issue:`8845`.)"
msgstr ""

#: whatsnew/3.2.rst:1607
msgid "html"
msgstr ""

#: whatsnew/3.2.rst:1609
msgid ""
"A new :mod:`html` module was introduced with only a single function, :func:"
"`~html.escape`, which is used for escaping reserved characters from HTML "
"markup:"
msgstr ""

#: whatsnew/3.2.rst:1618
msgid "socket"
msgstr ""

#: whatsnew/3.2.rst:1620
msgid "The :mod:`socket` module has two new improvements."
msgstr ""

#: whatsnew/3.2.rst:1622
msgid ""
"Socket objects now have a :meth:`~socket.socket.detach()` method which puts "
"the socket into closed state without actually closing the underlying file "
"descriptor.  The latter can then be reused for other purposes. (Added by "
"Antoine Pitrou; :issue:`8524`.)"
msgstr ""

#: whatsnew/3.2.rst:1627
msgid ""
":func:`socket.create_connection` now supports the context management "
"protocol to unconditionally consume :exc:`socket.error` exceptions and to "
"close the socket when done. (Contributed by Giampaolo Rodolà; :issue:`9794`.)"
msgstr ""

#: whatsnew/3.2.rst:1633
msgid "ssl"
msgstr ""

#: whatsnew/3.2.rst:1635
msgid ""
"The :mod:`ssl` module added a number of features to satisfy common "
"requirements for secure (encrypted, authenticated) internet connections:"
msgstr ""

#: whatsnew/3.2.rst:1638
msgid ""
"A new class, :class:`~ssl.SSLContext`, serves as a container for persistent "
"SSL data, such as protocol settings, certificates, private keys, and various "
"other options. It includes a :meth:`~ssl.SSLContext.wrap_socket` for "
"creating an SSL socket from an SSL context."
msgstr ""

#: whatsnew/3.2.rst:1643
msgid ""
"A new function, :func:`ssl.match_hostname`, supports server identity "
"verification for higher-level protocols by implementing the rules of HTTPS "
"(from :rfc:`2818`) which are also suitable for other protocols."
msgstr ""

#: whatsnew/3.2.rst:1647
msgid ""
"The :func:`ssl.wrap_socket` constructor function now takes a *ciphers* "
"argument.  The *ciphers* string lists the allowed encryption algorithms "
"using the format described in the `OpenSSL documentation <https://www."
"openssl.org/docs/man1.0.2/man1/ciphers.html#CIPHER-LIST-FORMAT>`__."
msgstr ""

#: whatsnew/3.2.rst:1652
msgid ""
"When linked against recent versions of OpenSSL, the :mod:`ssl` module now "
"supports the Server Name Indication extension to the TLS protocol, allowing "
"multiple \"virtual hosts\" using different certificates on a single IP port. "
"This extension is only supported in client mode, and is activated by passing "
"the *server_hostname* argument to :meth:`ssl.SSLContext.wrap_socket`."
msgstr ""

#: whatsnew/3.2.rst:1658
msgid ""
"Various options have been added to the :mod:`ssl` module, such as :data:"
"`~ssl.OP_NO_SSLv2` which disables the insecure and obsolete SSLv2 protocol."
msgstr ""

#: whatsnew/3.2.rst:1662
msgid ""
"The extension now loads all the OpenSSL ciphers and digest algorithms.  If "
"some SSL certificates cannot be verified, they are reported as an \"unknown "
"algorithm\" error."
msgstr ""

#: whatsnew/3.2.rst:1666
msgid ""
"The version of OpenSSL being used is now accessible using the module "
"attributes :const:`ssl.OPENSSL_VERSION` (a string), :const:`ssl."
"OPENSSL_VERSION_INFO` (a 5-tuple), and :const:`ssl.OPENSSL_VERSION_NUMBER` "
"(an integer)."
msgstr ""

#: whatsnew/3.2.rst:1671
msgid ""
"(Contributed by Antoine Pitrou in :issue:`8850`, :issue:`1589`, :issue:"
"`8322`, :issue:`5639`, :issue:`4870`, :issue:`8484`, and :issue:`8321`.)"
msgstr ""

#: whatsnew/3.2.rst:1675
msgid "nntp"
msgstr ""

#: whatsnew/3.2.rst:1677
msgid ""
"The :mod:`nntplib` module has a revamped implementation with better bytes "
"and text semantics as well as more practical APIs.  These improvements break "
"compatibility with the nntplib version in Python 3.1, which was partly "
"dysfunctional in itself."
msgstr ""

#: whatsnew/3.2.rst:1682
msgid ""
"Support for secure connections through both implicit (using :class:`nntplib."
"NNTP_SSL`) and explicit (using :meth:`nntplib.NNTP.starttls`) TLS has also "
"been added."
msgstr ""

#: whatsnew/3.2.rst:1686
msgid ""
"(Contributed by Antoine Pitrou in :issue:`9360` and Andrew Vant in :issue:"
"`1926`.)"
msgstr ""
"(Contribution par Antoine Pitrou, :issue:`9360`, et Andrew Vant, :issue:"
"`1926`)"

#: whatsnew/3.2.rst:1689
msgid "certificates"
msgstr ""

#: whatsnew/3.2.rst:1691
msgid ""
":class:`http.client.HTTPSConnection`, :class:`urllib.request.HTTPSHandler` "
"and :func:`urllib.request.urlopen` now take optional arguments to allow for "
"server certificate checking against a set of Certificate Authorities, as "
"recommended in public uses of HTTPS."
msgstr ""

#: whatsnew/3.2.rst:1696
msgid "(Added by Antoine Pitrou, :issue:`9003`.)"
msgstr "(Ajouté par Antoine Pitrou; :issue:`9003`.)"

#: whatsnew/3.2.rst:1699
msgid "imaplib"
msgstr ""

#: whatsnew/3.2.rst:1701
msgid ""
"Support for explicit TLS on standard IMAP4 connections has been added "
"through the new :mod:`imaplib.IMAP4.starttls` method."
msgstr ""

#: whatsnew/3.2.rst:1704
msgid "(Contributed by Lorenzo M. Catucci and Antoine Pitrou, :issue:`4471`.)"
msgstr ""
"(Contribution par Lorenzo M. Catucci et Antoine Pitrou; :issue:`4471`.)"

#: whatsnew/3.2.rst:1707
msgid "http.client"
msgstr ""

#: whatsnew/3.2.rst:1709
msgid ""
"There were a number of small API improvements in the :mod:`http.client` "
"module. The old-style HTTP 0.9 simple responses are no longer supported and "
"the *strict* parameter is deprecated in all classes."
msgstr ""

#: whatsnew/3.2.rst:1713
msgid ""
"The :class:`~http.client.HTTPConnection` and :class:`~http.client."
"HTTPSConnection` classes now have a *source_address* parameter for a (host, "
"port) tuple indicating where the HTTP connection is made from."
msgstr ""

#: whatsnew/3.2.rst:1718
msgid ""
"Support for certificate checking and HTTPS virtual hosts were added to :"
"class:`~http.client.HTTPSConnection`."
msgstr ""

#: whatsnew/3.2.rst:1721
msgid ""
"The :meth:`~http.client.HTTPConnection.request` method on connection objects "
"allowed an optional *body* argument so that a :term:`file object` could be "
"used to supply the content of the request.  Conveniently, the *body* "
"argument now also accepts an :term:`iterable` object so long as it includes "
"an explicit ``Content-Length`` header.  This extended interface is much more "
"flexible than before."
msgstr ""

#: whatsnew/3.2.rst:1728
msgid ""
"To establish an HTTPS connection through a proxy server, there is a new :"
"meth:`~http.client.HTTPConnection.set_tunnel` method that sets the host and "
"port for HTTP Connect tunneling."
msgstr ""

#: whatsnew/3.2.rst:1732
msgid ""
"To match the behavior of :mod:`http.server`, the HTTP client library now "
"also encodes headers with ISO-8859-1 (Latin-1) encoding.  It was already "
"doing that for incoming headers, so now the behavior is consistent for both "
"incoming and outgoing traffic. (See work by Armin Ronacher in :issue:"
"`10980`.)"
msgstr ""

#: whatsnew/3.2.rst:1738
msgid "unittest"
msgstr "unittest"

#: whatsnew/3.2.rst:1740
msgid ""
"The unittest module has a number of improvements supporting test discovery "
"for packages, easier experimentation at the interactive prompt, new testcase "
"methods, improved diagnostic messages for test failures, and better method "
"names."
msgstr ""

#: whatsnew/3.2.rst:1745
msgid ""
"The command-line call ``python -m unittest`` can now accept file paths "
"instead of module names for running specific tests (:issue:`10620`).  The "
"new test discovery can find tests within packages, locating any test "
"importable from the top-level directory.  The top-level directory can be "
"specified with the ``-t`` option, a pattern for matching files with ``-p``, "
"and a directory to start discovery with ``-s``:"
msgstr ""

#: whatsnew/3.2.rst:1765 whatsnew/3.2.rst:1921
msgid "(Contributed by Michael Foord.)"
msgstr ""

#: whatsnew/3.2.rst:1758
msgid ""
"Experimentation at the interactive prompt is now easier because the :class:"
"`unittest.case.TestCase` class can now be instantiated without arguments:"
msgstr ""

#: whatsnew/3.2.rst:1767
msgid ""
"The :mod:`unittest` module has two new methods, :meth:`~unittest.TestCase."
"assertWarns` and :meth:`~unittest.TestCase.assertWarnsRegex` to verify that "
"a given warning type is triggered by the code under test::"
msgstr ""

#: whatsnew/3.2.rst:1775
msgid "(Contributed by Antoine Pitrou, :issue:`9754`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`9754`.)"

#: whatsnew/3.2.rst:1777
msgid ""
"Another new method, :meth:`~unittest.TestCase.assertCountEqual` is used to "
"compare two iterables to determine if their element counts are equal "
"(whether the same elements are present with the same number of occurrences "
"regardless of order)::"
msgstr ""

#: whatsnew/3.2.rst:1787
msgid ""
"A principal feature of the unittest module is an effort to produce "
"meaningful diagnostics when a test fails.  When possible, the failure is "
"recorded along with a diff of the output.  This is especially helpful for "
"analyzing log files of failed test runs. However, since diffs can sometime "
"be voluminous, there is a new :attr:`~unittest.TestCase.maxDiff` attribute "
"that sets maximum length of diffs displayed."
msgstr ""

#: whatsnew/3.2.rst:1794
msgid ""
"In addition, the method names in the module have undergone a number of clean-"
"ups."
msgstr ""

#: whatsnew/3.2.rst:1796
msgid ""
"For example, :meth:`~unittest.TestCase.assertRegex` is the new name for :"
"meth:`~unittest.TestCase.assertRegexpMatches` which was misnamed because the "
"test uses :func:`re.search`, not :func:`re.match`.  Other methods using "
"regular expressions are now named using short form \"Regex\" in preference "
"to \"Regexp\" -- this matches the names used in other unittest "
"implementations, matches Python's old name for the :mod:`re` module, and it "
"has unambiguous camel-casing."
msgstr ""

#: whatsnew/3.2.rst:1804
msgid "(Contributed by Raymond Hettinger and implemented by Ezio Melotti.)"
msgstr ""

#: whatsnew/3.2.rst:1806
msgid ""
"To improve consistency, some long-standing method aliases are being "
"deprecated in favor of the preferred names:"
msgstr ""

#: whatsnew/3.2.rst:1810
msgid "Old Name"
msgstr ""

#: whatsnew/3.2.rst:1810
msgid "Preferred Name"
msgstr ""

#: whatsnew/3.2.rst:1812
msgid ":meth:`assert_`"
msgstr ":meth:`assert_`"

#: whatsnew/3.2.rst:1812
msgid ":meth:`.assertTrue`"
msgstr ":meth:`.assertTrue`"

#: whatsnew/3.2.rst:1813
msgid ":meth:`assertEquals`"
msgstr ":meth:`assertEquals`"

#: whatsnew/3.2.rst:1813
msgid ":meth:`.assertEqual`"
msgstr ":meth:`.assertEqual`"

#: whatsnew/3.2.rst:1814
msgid ":meth:`assertNotEquals`"
msgstr ":meth:`assertNotEquals`"

#: whatsnew/3.2.rst:1814
msgid ":meth:`.assertNotEqual`"
msgstr ":meth:`.assertNotEqual`"

#: whatsnew/3.2.rst:1815
msgid ":meth:`assertAlmostEquals`"
msgstr ":meth:`assertAlmostEquals`"

#: whatsnew/3.2.rst:1815
msgid ":meth:`.assertAlmostEqual`"
msgstr ":meth:`.assertAlmostEqual`"

#: whatsnew/3.2.rst:1816
msgid ":meth:`assertNotAlmostEquals`"
msgstr ":meth:`assertNotAlmostEquals`"

#: whatsnew/3.2.rst:1816
msgid ":meth:`.assertNotAlmostEqual`"
msgstr ":meth:`.assertNotAlmostEqual`"

#: whatsnew/3.2.rst:1819
msgid ""
"Likewise, the ``TestCase.fail*`` methods deprecated in Python 3.1 are "
"expected to be removed in Python 3.3.  Also see the :ref:`deprecated-"
"aliases` section in the :mod:`unittest` documentation."
msgstr ""

#: whatsnew/3.2.rst:1823
msgid "(Contributed by Ezio Melotti; :issue:`9424`.)"
msgstr "(Contribution par Ezio Melotti; :issue:`9424`)"

#: whatsnew/3.2.rst:1825
msgid ""
"The :meth:`~unittest.TestCase.assertDictContainsSubset` method was "
"deprecated because it was misimplemented with the arguments in the wrong "
"order.  This created hard-to-debug optical illusions where tests like "
"``TestCase().assertDictContainsSubset({'a':1, 'b':2}, {'a':1})`` would fail."
msgstr ""

#: whatsnew/3.2.rst:1833
msgid "random"
msgstr ""

#: whatsnew/3.2.rst:1835
msgid ""
"The integer methods in the :mod:`random` module now do a better job of "
"producing uniform distributions.  Previously, they computed selections with "
"``int(n*random())`` which had a slight bias whenever *n* was not a power of "
"two. Now, multiple selections are made from a range up to the next power of "
"two and a selection is kept only when it falls within the range ``0 <= x < "
"n``.  The functions and methods affected are :func:`~random.randrange`, :"
"func:`~random.randint`, :func:`~random.choice`, :func:`~random.shuffle` and :"
"func:`~random.sample`."
msgstr ""

#: whatsnew/3.2.rst:1844
msgid "(Contributed by Raymond Hettinger; :issue:`9025`.)"
msgstr "(Contribution par Raymond Hettinger; :issue:`9025`)"

#: whatsnew/3.2.rst:1847
msgid "poplib"
msgstr ""

#: whatsnew/3.2.rst:1849
msgid ""
":class:`~poplib.POP3_SSL` class now accepts a *context* parameter, which is "
"a :class:`ssl.SSLContext` object allowing bundling SSL configuration "
"options, certificates and private keys into a single (potentially long-"
"lived) structure."
msgstr ""

#: whatsnew/3.2.rst:1854
msgid "(Contributed by Giampaolo Rodolà; :issue:`8807`.)"
msgstr "(Contribution par Giampaolo Rodolà; :issue:`8807`)"

#: whatsnew/3.2.rst:1857
msgid "asyncore"
msgstr "asyncore"

#: whatsnew/3.2.rst:1859
msgid ""
":class:`asyncore.dispatcher` now provides a :meth:`~asyncore.dispatcher."
"handle_accepted()` method returning a ``(sock, addr)`` pair which is called "
"when a connection has actually been established with a new remote endpoint. "
"This is supposed to be used as a replacement for old :meth:`~asyncore."
"dispatcher.handle_accept()` and avoids the user  to call :meth:`~asyncore."
"dispatcher.accept()` directly."
msgstr ""

#: whatsnew/3.2.rst:1866
msgid "(Contributed by Giampaolo Rodolà; :issue:`6706`.)"
msgstr "(Contribution par Giampaolo Rodolà; :issue:`6706`)"

#: whatsnew/3.2.rst:1869
msgid "tempfile"
msgstr ""

#: whatsnew/3.2.rst:1871
msgid ""
"The :mod:`tempfile` module has a new context manager, :class:`~tempfile."
"TemporaryDirectory` which provides easy deterministic cleanup of temporary "
"directories::"
msgstr ""

#: whatsnew/3.2.rst:1878
msgid "(Contributed by Neil Schemenauer and Nick Coghlan; :issue:`5178`.)"
msgstr "(Contribution par Neil Schemenauer et Nick Coghlan; :issue:`5178`.)"

#: whatsnew/3.2.rst:1881
msgid "inspect"
msgstr ""

#: whatsnew/3.2.rst:1883
msgid ""
"The :mod:`inspect` module has a new function :func:`~inspect."
"getgeneratorstate` to easily identify the current state of a generator-"
"iterator::"
msgstr ""

#: whatsnew/3.2.rst:1901
msgid "(Contributed by Rodolpho Eckhardt and Nick Coghlan, :issue:`10220`.)"
msgstr "(Contribution par Rodolpho Eckhardt et Nick Coghlan; :issue:`10220`.)"

#: whatsnew/3.2.rst:1903
msgid ""
"To support lookups without the possibility of activating a dynamic "
"attribute, the :mod:`inspect` module has a new function, :func:`~inspect."
"getattr_static`. Unlike :func:`hasattr`, this is a true read-only search, "
"guaranteed not to change state while it is searching::"
msgstr ""

#: whatsnew/3.2.rst:1924
msgid "pydoc"
msgstr ""

#: whatsnew/3.2.rst:1926
msgid ""
"The :mod:`pydoc` module now provides a much-improved web server interface, "
"as well as a new command-line option ``-b`` to automatically open a browser "
"window to display that server:"
msgstr ""

#: whatsnew/3.2.rst:1934
msgid "(Contributed by Ron Adam; :issue:`2001`.)"
msgstr "(Contribution par Ron Adam; :issue:`2001`.)"

#: whatsnew/3.2.rst:1937
msgid "dis"
msgstr "dis"

#: whatsnew/3.2.rst:1939
msgid ""
"The :mod:`dis` module gained two new functions for inspecting code, :func:"
"`~dis.code_info` and :func:`~dis.show_code`.  Both provide detailed code "
"object information for the supplied function, method, source code string or "
"code object.  The former returns a string and the latter prints it::"
msgstr ""

#: whatsnew/3.2.rst:1966
msgid ""
"In addition, the :func:`~dis.dis` function now accepts string arguments so "
"that the common idiom ``dis(compile(s, '', 'eval'))`` can be shortened to "
"``dis(s)``::"
msgstr ""

#: whatsnew/3.2.rst:1988
msgid ""
"Taken together, these improvements make it easier to explore how CPython is "
"implemented and to see for yourself what the language syntax does under-the-"
"hood."
msgstr ""

#: whatsnew/3.2.rst:1992
msgid "(Contributed by Nick Coghlan in :issue:`9147`.)"
msgstr "(Contribution par Nick Coghlan; :issue:`9147`.)"

#: whatsnew/3.2.rst:1995
msgid "dbm"
msgstr "dbm"

#: whatsnew/3.2.rst:1997
msgid ""
"All database modules now support the :meth:`get` and :meth:`setdefault` "
"methods."
msgstr ""

#: whatsnew/3.2.rst:1999
msgid "(Suggested by Ray Allen in :issue:`9523`.)"
msgstr ""

#: whatsnew/3.2.rst:2002
msgid "ctypes"
msgstr "ctypes"

#: whatsnew/3.2.rst:2004
msgid ""
"A new type, :class:`ctypes.c_ssize_t` represents the C :c:type:`ssize_t` "
"datatype."
msgstr ""

#: whatsnew/3.2.rst:2007
msgid "site"
msgstr ""

#: whatsnew/3.2.rst:2009
msgid ""
"The :mod:`site` module has three new functions useful for reporting on the "
"details of a given Python installation."
msgstr ""

#: whatsnew/3.2.rst:2012
msgid ""
":func:`~site.getsitepackages` lists all global site-packages directories."
msgstr ""

#: whatsnew/3.2.rst:2014
msgid ""
":func:`~site.getuserbase` reports on the user's base directory where data "
"can be stored."
msgstr ""

#: whatsnew/3.2.rst:2017
msgid ""
":func:`~site.getusersitepackages` reveals the user-specific site-packages "
"directory path."
msgstr ""

#: whatsnew/3.2.rst:2032
msgid ""
"Conveniently, some of site's functionality is accessible directly from the "
"command-line:"
msgstr ""

#: whatsnew/3.2.rst:2042
msgid "(Contributed by Tarek Ziadé in :issue:`6693`.)"
msgstr "(Contribution par Tarek Ziadé; :issue:`6693`.)"

#: whatsnew/3.2.rst:2045
msgid "sysconfig"
msgstr ""

#: whatsnew/3.2.rst:2047
msgid ""
"The new :mod:`sysconfig` module makes it straightforward to discover "
"installation paths and configuration variables that vary across platforms "
"and installations."
msgstr ""

#: whatsnew/3.2.rst:2051
msgid ""
"The module offers access simple access functions for platform and version "
"information:"
msgstr ""

#: whatsnew/3.2.rst:2054
msgid ""
":func:`~sysconfig.get_platform` returning values like *linux-i586* or "
"*macosx-10.6-ppc*."
msgstr ""

#: whatsnew/3.2.rst:2056
msgid ""
":func:`~sysconfig.get_python_version` returns a Python version string such "
"as \"3.2\"."
msgstr ""

#: whatsnew/3.2.rst:2059
msgid ""
"It also provides access to the paths and variables corresponding to one of "
"seven named schemes used by :mod:`distutils`.  Those include *posix_prefix*, "
"*posix_home*, *posix_user*, *nt*, *nt_user*, *os2*, *os2_home*:"
msgstr ""

#: whatsnew/3.2.rst:2063
msgid ""
":func:`~sysconfig.get_paths` makes a dictionary containing installation "
"paths for the current installation scheme."
msgstr ""

#: whatsnew/3.2.rst:2065
msgid ""
":func:`~sysconfig.get_config_vars` returns a dictionary of platform specific "
"variables."
msgstr ""

#: whatsnew/3.2.rst:2068
msgid "There is also a convenient command-line interface:"
msgstr ""

#: whatsnew/3.2.rst:2107
msgid "(Moved out of Distutils by Tarek Ziadé.)"
msgstr ""

#: whatsnew/3.2.rst:2110
msgid "pdb"
msgstr ""

#: whatsnew/3.2.rst:2112
msgid ""
"The :mod:`pdb` debugger module gained a number of usability improvements:"
msgstr ""

#: whatsnew/3.2.rst:2114
msgid ""
":file:`pdb.py` now has a ``-c`` option that executes commands as given in a :"
"file:`.pdbrc` script file."
msgstr ""

#: whatsnew/3.2.rst:2116
msgid ""
"A :file:`.pdbrc` script file can contain ``continue`` and ``next`` commands "
"that continue debugging."
msgstr ""

#: whatsnew/3.2.rst:2118
msgid "The :class:`Pdb` class constructor now accepts a *nosigint* argument."
msgstr ""

#: whatsnew/3.2.rst:2119
msgid ""
"New commands: ``l(list)``, ``ll(long list)`` and ``source`` for listing "
"source code."
msgstr ""

#: whatsnew/3.2.rst:2121
msgid ""
"New commands: ``display`` and ``undisplay`` for showing or hiding the value "
"of an expression if it has changed."
msgstr ""

#: whatsnew/3.2.rst:2123
msgid ""
"New command: ``interact`` for starting an interactive interpreter containing "
"the global and local  names found in the current scope."
msgstr ""

#: whatsnew/3.2.rst:2125
msgid "Breakpoints can be cleared by breakpoint number."
msgstr ""

#: whatsnew/3.2.rst:2127
msgid "(Contributed by Georg Brandl, Antonio Cuni and Ilya Sandler.)"
msgstr ""

#: whatsnew/3.2.rst:2130
msgid "configparser"
msgstr "configparser"

#: whatsnew/3.2.rst:2132
msgid ""
"The :mod:`configparser` module was modified to improve usability and "
"predictability of the default parser and its supported INI syntax.  The old :"
"class:`ConfigParser` class was removed in favor of :class:`SafeConfigParser` "
"which has in turn been renamed to :class:`~configparser.ConfigParser`. "
"Support for inline comments is now turned off by default and section or "
"option duplicates are not allowed in a single configuration source."
msgstr ""

#: whatsnew/3.2.rst:2139
msgid "Config parsers gained a new API based on the mapping protocol::"
msgstr ""

#: whatsnew/3.2.rst:2167
msgid ""
"The new API is implemented on top of the classical API, so custom parser "
"subclasses should be able to use it without modifications."
msgstr ""

#: whatsnew/3.2.rst:2170
msgid ""
"The INI file structure accepted by config parsers can now be customized. "
"Users can specify alternative option/value delimiters and comment prefixes, "
"change the name of the *DEFAULT* section or switch the interpolation syntax."
msgstr ""

#: whatsnew/3.2.rst:2174
msgid ""
"There is support for pluggable interpolation including an additional "
"interpolation handler :class:`~configparser.ExtendedInterpolation`::"
msgstr ""

#: whatsnew/3.2.rst:2207
msgid ""
"A number of smaller features were also introduced, like support for "
"specifying encoding in read operations, specifying fallback values for get-"
"functions, or reading directly from dictionaries and strings."
msgstr ""

#: whatsnew/3.2.rst:2211
msgid "(All changes contributed by Łukasz Langa.)"
msgstr ""

#: whatsnew/3.2.rst:2216
msgid "urllib.parse"
msgstr "urllib.parse"

#: whatsnew/3.2.rst:2218
msgid ""
"A number of usability improvements were made for the :mod:`urllib.parse` "
"module."
msgstr ""

#: whatsnew/3.2.rst:2220
msgid ""
"The :func:`~urllib.parse.urlparse` function now supports `IPv6 <https://en."
"wikipedia.org/wiki/IPv6>`_ addresses as described in :rfc:`2732`:"
msgstr ""

#: whatsnew/3.2.rst:2232
msgid ""
"The :func:`~urllib.parse.urldefrag` function now returns a :term:`named "
"tuple`::"
msgstr ""

#: whatsnew/3.2.rst:2242
msgid ""
"And, the :func:`~urllib.parse.urlencode` function is now much more flexible, "
"accepting either a string or bytes type for the *query* argument.  If it is "
"a string, then the *safe*, *encoding*, and *error* parameters are sent to :"
"func:`~urllib.parse.quote_plus` for encoding::"
msgstr ""

#: whatsnew/3.2.rst:2253
msgid ""
"As detailed in :ref:`parsing-ascii-encoded-bytes`, all the :mod:`urllib."
"parse` functions now accept ASCII-encoded byte strings as input, so long as "
"they are not mixed with regular strings.  If ASCII-encoded byte strings are "
"given as parameters, the return types will also be an ASCII-encoded byte "
"strings:"
msgstr ""

#: whatsnew/3.2.rst:2262
msgid ""
"(Work by Nick Coghlan, Dan Mahn, and Senthil Kumaran in :issue:`2987`, :"
"issue:`5468`, and :issue:`9873`.)"
msgstr ""

#: whatsnew/3.2.rst:2266
msgid "mailbox"
msgstr ""

#: whatsnew/3.2.rst:2268
msgid ""
"Thanks to a concerted effort by R. David Murray, the :mod:`mailbox` module "
"has been fixed for Python 3.2.  The challenge was that mailbox had been "
"originally designed with a text interface, but email messages are best "
"represented with :class:`bytes` because various parts of a message may have "
"different encodings."
msgstr ""

#: whatsnew/3.2.rst:2273
msgid ""
"The solution harnessed the :mod:`email` package's binary support for parsing "
"arbitrary email messages.  In addition, the solution required a number of "
"API changes."
msgstr ""

#: whatsnew/3.2.rst:2277
msgid ""
"As expected, the :meth:`~mailbox.Mailbox.add` method for :class:`mailbox."
"Mailbox` objects now accepts binary input."
msgstr ""

#: whatsnew/3.2.rst:2280
msgid ""
":class:`~io.StringIO` and text file input are deprecated.  Also, string "
"input will fail early if non-ASCII characters are used.  Previously it would "
"fail when the email was processed in a later step."
msgstr ""

#: whatsnew/3.2.rst:2284
msgid ""
"There is also support for binary output.  The :meth:`~mailbox.Mailbox."
"get_file` method now returns a file in the binary mode (where it used to "
"incorrectly set the file to text-mode).  There is also a new :meth:`~mailbox."
"Mailbox.get_bytes` method that returns a :class:`bytes` representation of a "
"message corresponding to a given *key*."
msgstr ""

#: whatsnew/3.2.rst:2290
msgid ""
"It is still possible to get non-binary output using the old API's :meth:"
"`~mailbox.Mailbox.get_string` method, but that approach is not very useful.  "
"Instead, it is best to extract messages from a :class:`~mailbox.Message` "
"object or to load them from binary input."
msgstr ""

#: whatsnew/3.2.rst:2295
msgid ""
"(Contributed by R. David Murray, with efforts from Steffen Daode Nurpmeso "
"and an initial patch by Victor Stinner in :issue:`9124`.)"
msgstr ""

#: whatsnew/3.2.rst:2299
msgid "turtledemo"
msgstr "turtledemo"

#: whatsnew/3.2.rst:2301
msgid ""
"The demonstration code for the :mod:`turtle` module was moved from the "
"*Demo* directory to main library.  It includes over a dozen sample scripts "
"with lively displays.  Being on :data:`sys.path`, it can now be run directly "
"from the command-line:"
msgstr ""

#: whatsnew/3.2.rst:2310
msgid ""
"(Moved from the Demo directory by Alexander Belopolsky in :issue:`10199`.)"
msgstr ""

#: whatsnew/3.2.rst:2313
msgid "Multi-threading"
msgstr "Fils d'exécution"

#: whatsnew/3.2.rst:2315
msgid ""
"The mechanism for serializing execution of concurrently running Python "
"threads (generally known as the :term:`GIL` or Global Interpreter Lock) has "
"been rewritten.  Among the objectives were more predictable switching "
"intervals and reduced overhead due to lock contention and the number of "
"ensuing system calls.  The notion of a \"check interval\" to allow thread "
"switches has been abandoned and replaced by an absolute duration expressed "
"in seconds.  This parameter is tunable through :func:`sys."
"setswitchinterval()`. It currently defaults to 5 milliseconds."
msgstr ""

#: whatsnew/3.2.rst:2324
msgid ""
"Additional details about the implementation can be read from a `python-dev "
"mailing-list message <https://mail.python.org/pipermail/python-dev/2009-"
"October/093321.html>`_ (however, \"priority requests\" as exposed in this "
"message have not been kept for inclusion)."
msgstr ""

#: whatsnew/3.2.rst:2330
msgid "(Contributed by Antoine Pitrou.)"
msgstr "(Contribution par Antoine Pitrou)"

#: whatsnew/3.2.rst:2332
msgid ""
"Regular and recursive locks now accept an optional *timeout* argument to "
"their :meth:`~threading.Lock.acquire` method.  (Contributed by Antoine "
"Pitrou; :issue:`7316`.)"
msgstr ""
"Les verrous standards et récursifs acceptent désormais un argument optionnel "
"*timeout* à leur méthode :meth:`~threading.Lock.acquire`. (Contribution par "
"Antoine Pitrou; :issue:`7316`)."

#: whatsnew/3.2.rst:2336
msgid ""
"Similarly, :meth:`threading.Semaphore.acquire` also gained a *timeout* "
"argument.  (Contributed by Torsten Landschoff; :issue:`850728`.)"
msgstr ""
"Pareillement, :meth:`threading.Semaphore.acquire` acquière un argument "
"*timeout* (Contribution par Torsten Landschoff; :issue:`850728`)."

#: whatsnew/3.2.rst:2339
msgid ""
"Regular and recursive lock acquisitions can now be interrupted by signals on "
"platforms using Pthreads.  This means that Python programs that deadlock "
"while acquiring locks can be successfully killed by repeatedly sending "
"SIGINT to the process (by pressing :kbd:`Ctrl+C` in most shells). "
"(Contributed by Reid Kleckner; :issue:`8844`.)"
msgstr ""

#: whatsnew/3.2.rst:2347
#, fuzzy
msgid "Optimizations"
msgstr "Optimisation"

#: whatsnew/3.2.rst:2349
msgid "A number of small performance enhancements have been added:"
msgstr ""

#: whatsnew/3.2.rst:2351
msgid ""
"Python's peephole optimizer now recognizes patterns such ``x in {1, 2, 3}`` "
"as being a test for membership in a set of constants.  The optimizer recasts "
"the :class:`set` as a :class:`frozenset` and stores the pre-built constant."
msgstr ""

#: whatsnew/3.2.rst:2355
msgid ""
"Now that the speed penalty is gone, it is practical to start writing "
"membership tests using set-notation.  This style is both semantically clear "
"and operationally fast::"
msgstr ""

#: whatsnew/3.2.rst:2363
msgid ""
"(Patch and additional tests contributed by Dave Malcolm; :issue:`6690`)."
msgstr ""

#: whatsnew/3.2.rst:2365
msgid ""
"Serializing and unserializing data using the :mod:`pickle` module is now "
"several times faster."
msgstr ""

#: whatsnew/3.2.rst:2368
msgid ""
"(Contributed by Alexandre Vassalotti, Antoine Pitrou and the Unladen Swallow "
"team in :issue:`9410` and :issue:`3873`.)"
msgstr ""

#: whatsnew/3.2.rst:2371
msgid ""
"The `Timsort algorithm <https://en.wikipedia.org/wiki/Timsort>`_ used in :"
"meth:`list.sort` and :func:`sorted` now runs faster and uses less memory "
"when called with a :term:`key function`.  Previously, every element of a "
"list was wrapped with a temporary object that remembered the key value "
"associated with each element.  Now, two arrays of keys and values are sorted "
"in parallel.  This saves the memory consumed by the sort wrappers, and it "
"saves time lost to delegating comparisons."
msgstr ""

#: whatsnew/3.2.rst:2379
msgid "(Patch by Daniel Stutzbach in :issue:`9915`.)"
msgstr ""

#: whatsnew/3.2.rst:2381
msgid ""
"JSON decoding performance is improved and memory consumption is reduced "
"whenever the same string is repeated for multiple keys.  Also, JSON encoding "
"now uses the C speedups when the ``sort_keys`` argument is true."
msgstr ""

#: whatsnew/3.2.rst:2385
msgid ""
"(Contributed by Antoine Pitrou in :issue:`7451` and by Raymond Hettinger and "
"Antoine Pitrou in :issue:`10314`.)"
msgstr ""

#: whatsnew/3.2.rst:2388
msgid ""
"Recursive locks (created with the :func:`threading.RLock` API) now benefit "
"from a C implementation which makes them as fast as regular locks, and "
"between 10x and 15x faster than their previous pure Python implementation."
msgstr ""

#: whatsnew/3.2.rst:2392
msgid "(Contributed by Antoine Pitrou; :issue:`3001`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"

#: whatsnew/3.2.rst:2394
msgid ""
"The fast-search algorithm in stringlib is now used by the :meth:`split`, :"
"meth:`rsplit`, :meth:`splitlines` and :meth:`replace` methods on :class:"
"`bytes`, :class:`bytearray` and :class:`str` objects. Likewise, the "
"algorithm is also used by :meth:`rfind`, :meth:`rindex`, :meth:`rsplit` and :"
"meth:`rpartition`."
msgstr ""

#: whatsnew/3.2.rst:2400
msgid "(Patch by Florent Xicluna in :issue:`7622` and :issue:`7462`.)"
msgstr ""

#: whatsnew/3.2.rst:2403
msgid ""
"Integer to string conversions now work two \"digits\" at a time, reducing "
"the number of division and modulo operations."
msgstr ""

#: whatsnew/3.2.rst:2406
msgid "(:issue:`6713` by Gawain Bolton, Mark Dickinson, and Victor Stinner.)"
msgstr ""

#: whatsnew/3.2.rst:2408
msgid ""
"There were several other minor optimizations. Set differencing now runs "
"faster when one operand is much larger than the other (patch by Andress "
"Bennetts in :issue:`8685`).  The :meth:`array.repeat` method has a faster "
"implementation (:issue:`1569291` by Alexander Belopolsky). The :class:"
"`BaseHTTPRequestHandler` has more efficient buffering (:issue:`3709` by "
"Andrew Schaaf).  The :func:`operator.attrgetter` function has been sped-up (:"
"issue:`10160` by Christos Georgiou).  And :class:`ConfigParser` loads multi-"
"line arguments a bit faster (:issue:`7113` by Łukasz Langa)."
msgstr ""

#: whatsnew/3.2.rst:2419
msgid "Unicode"
msgstr "Unicode"

#: whatsnew/3.2.rst:2421
msgid ""
"Python has been updated to `Unicode 6.0.0 <https://unicode.org/versions/"
"Unicode6.0.0/>`_.  The update to the standard adds over 2,000 new characters "
"including `emoji <https://en.wikipedia.org/wiki/Emoji>`_ symbols which are "
"important for mobile phones."
msgstr ""

#: whatsnew/3.2.rst:2426
msgid ""
"In addition, the updated standard has altered the character properties for "
"two Kannada characters (U+0CF1, U+0CF2) and one New Tai Lue numeric "
"character (U+19DA), making the former eligible for use in identifiers while "
"disqualifying the latter.  For more information, see `Unicode Character "
"Database Changes <https://www.unicode.org/versions/Unicode6.0.0/"
"#Database_Changes>`_."
msgstr ""

#: whatsnew/3.2.rst:2434
msgid "Codecs"
msgstr "Codecs"

#: whatsnew/3.2.rst:2436
msgid "Support was added for *cp720* Arabic DOS encoding (:issue:`1616979`)."
msgstr ""

#: whatsnew/3.2.rst:2438
msgid ""
"MBCS encoding no longer ignores the error handler argument. In the default "
"strict mode, it raises an :exc:`UnicodeDecodeError` when it encounters an "
"undecodable byte sequence and an :exc:`UnicodeEncodeError` for an "
"unencodable character."
msgstr ""

#: whatsnew/3.2.rst:2443
msgid ""
"The MBCS codec supports ``'strict'`` and ``'ignore'`` error handlers for "
"decoding, and ``'strict'`` and ``'replace'`` for encoding."
msgstr ""

#: whatsnew/3.2.rst:2446
msgid ""
"To emulate Python3.1 MBCS encoding, select the ``'ignore'`` handler for "
"decoding and the ``'replace'`` handler for encoding."
msgstr ""

#: whatsnew/3.2.rst:2449
msgid ""
"On Mac OS X, Python decodes command line arguments with ``'utf-8'`` rather "
"than the locale encoding."
msgstr ""

#: whatsnew/3.2.rst:2452
msgid ""
"By default, :mod:`tarfile` uses ``'utf-8'`` encoding on Windows (instead of "
"``'mbcs'``) and the ``'surrogateescape'`` error handler on all operating "
"systems."
msgstr ""

#: whatsnew/3.2.rst:2458
msgid "Documentation"
msgstr "Documentation"

#: whatsnew/3.2.rst:2460
msgid "The documentation continues to be improved."
msgstr ""

#: whatsnew/3.2.rst:2462
msgid ""
"A table of quick links has been added to the top of lengthy sections such "
"as :ref:`built-in-funcs`.  In the case of :mod:`itertools`, the links are "
"accompanied by tables of cheatsheet-style summaries to provide an overview "
"and memory jog without having to read all of the docs."
msgstr ""

#: whatsnew/3.2.rst:2467
msgid ""
"In some cases, the pure Python source code can be a helpful adjunct to the "
"documentation, so now many modules now feature quick links to the latest "
"version of the source code.  For example, the :mod:`functools` module "
"documentation has a quick link at the top labeled:"
msgstr ""

#: whatsnew/3.2.rst:2472
#, fuzzy
msgid "**Source code** :source:`Lib/functools.py`."
msgstr "**Code source :** :source:`Lib/functools.py`"

#: whatsnew/3.2.rst:2474
msgid ""
"(Contributed by Raymond Hettinger; see `rationale <https://rhettinger."
"wordpress.com/2011/01/28/open-your-source-more/>`_.)"
msgstr ""

#: whatsnew/3.2.rst:2477
msgid ""
"The docs now contain more examples and recipes.  In particular, :mod:`re` "
"module has an extensive section, :ref:`re-examples`.  Likewise, the :mod:"
"`itertools` module continues to be updated with new :ref:`itertools-recipes`."
msgstr ""

#: whatsnew/3.2.rst:2482
msgid ""
"The :mod:`datetime` module now has an auxiliary implementation in pure "
"Python. No functionality was changed.  This just provides an easier-to-read "
"alternate implementation."
msgstr ""

#: whatsnew/3.2.rst:2486
msgid "(Contributed by Alexander Belopolsky in :issue:`9528`.)"
msgstr "(Contribution par Alexander Belopolsky; :issue:`9528`.)"

#: whatsnew/3.2.rst:2488
msgid ""
"The unmaintained :file:`Demo` directory has been removed.  Some demos were "
"integrated into the documentation, some were moved to the :file:`Tools/demo` "
"directory, and others were removed altogether."
msgstr ""

#: whatsnew/3.2.rst:2492
msgid "(Contributed by Georg Brandl in :issue:`7962`.)"
msgstr "(Contribution par Georg Brandl; :issue:`7962`.)"

#: whatsnew/3.2.rst:2496
msgid "IDLE"
msgstr "IDLE"

#: whatsnew/3.2.rst:2498
msgid ""
"The format menu now has an option to clean source files by stripping "
"trailing whitespace."
msgstr ""

#: whatsnew/3.2.rst:2501
msgid "(Contributed by Raymond Hettinger; :issue:`5150`.)"
msgstr "(Contribution par Raymond Hettinger; :issue:`5150`.)"

#: whatsnew/3.2.rst:2503
msgid "IDLE on Mac OS X now works with both Carbon AquaTk and Cocoa AquaTk."
msgstr ""

#: whatsnew/3.2.rst:2505
msgid ""
"(Contributed by Kevin Walzer, Ned Deily, and Ronald Oussoren; :issue:`6075`.)"
msgstr ""

#: whatsnew/3.2.rst:2508
msgid "Code Repository"
msgstr ""

#: whatsnew/3.2.rst:2510
msgid ""
"In addition to the existing Subversion code repository at https://svn.python."
"org there is now a `Mercurial <https://www.mercurial-scm.org/>`_ repository "
"at https://hg.python.org/\\ ."
msgstr ""

#: whatsnew/3.2.rst:2514
msgid ""
"After the 3.2 release, there are plans to switch to Mercurial as the primary "
"repository.  This distributed version control system should make it easier "
"for members of the community to create and share external changesets.  See :"
"pep:`385` for details."
msgstr ""

#: whatsnew/3.2.rst:2519
msgid ""
"To learn to use the new version control system, see the `Quick Start "
"<https://www.mercurial-scm.org/wiki/QuickStart>`_ or the `Guide to Mercurial "
"Workflows <https://www.mercurial-scm.org/guide>`_."
msgstr ""

#: whatsnew/3.2.rst:2525
msgid "Build and C API Changes"
msgstr ""

#: whatsnew/3.2.rst:2527
msgid "Changes to Python's build process and to the C API include:"
msgstr ""

#: whatsnew/3.2.rst:2529
msgid ""
"The *idle*, *pydoc* and *2to3* scripts are now installed with a version-"
"specific suffix on ``make altinstall`` (:issue:`10679`)."
msgstr ""

#: whatsnew/3.2.rst:2532
msgid ""
"The C functions that access the Unicode Database now accept and return "
"characters from the full Unicode range, even on narrow unicode builds "
"(Py_UNICODE_TOLOWER, Py_UNICODE_ISDECIMAL, and others).  A visible "
"difference in Python is that :func:`unicodedata.numeric` now returns the "
"correct value for large code points, and :func:`repr` may consider more "
"characters as printable."
msgstr ""

#: whatsnew/3.2.rst:2539
msgid ""
"(Reported by Bupjoe Lee and fixed by Amaury Forgeot D'Arc; :issue:`5127`.)"
msgstr ""

#: whatsnew/3.2.rst:2541
msgid ""
"Computed gotos are now enabled by default on supported compilers (which are "
"detected by the configure script).  They can still be disabled selectively "
"by specifying ``--without-computed-gotos``."
msgstr ""

#: whatsnew/3.2.rst:2545
msgid "(Contributed by Antoine Pitrou; :issue:`9203`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`9203`.)"

#: whatsnew/3.2.rst:2547
msgid ""
"The option ``--with-wctype-functions`` was removed.  The built-in unicode "
"database is now used for all functions."
msgstr ""

#: whatsnew/3.2.rst:2550
msgid "(Contributed by Amaury Forgeot D'Arc; :issue:`9210`.)"
msgstr "(Contribution par Amaury Forgeot D'Arc; :issue:`9210`.)"

#: whatsnew/3.2.rst:2552
msgid ""
"Hash values are now values of a new type, :c:type:`Py_hash_t`, which is "
"defined to be the same size as a pointer.  Previously they were of type "
"long, which on some 64-bit operating systems is still only 32 bits long.  As "
"a result of this fix, :class:`set` and :class:`dict` can now hold more than "
"``2**32`` entries on builds with 64-bit pointers (previously, they could "
"grow to that size but their performance degraded catastrophically)."
msgstr ""

#: whatsnew/3.2.rst:2559
msgid ""
"(Suggested by Raymond Hettinger and implemented by Benjamin Peterson; :issue:"
"`9778`.)"
msgstr ""

#: whatsnew/3.2.rst:2562
msgid ""
"A new macro :c:macro:`Py_VA_COPY` copies the state of the variable argument "
"list.  It is equivalent to C99 *va_copy* but available on all Python "
"platforms (:issue:`2443`)."
msgstr ""

#: whatsnew/3.2.rst:2566
msgid ""
"A new C API function :c:func:`PySys_SetArgvEx` allows an embedded "
"interpreter to set :data:`sys.argv` without also modifying :data:`sys.path` "
"(:issue:`5753`)."
msgstr ""

#: whatsnew/3.2.rst:2570
msgid ""
":c:macro:`PyEval_CallObject` is now only available in macro form.  The "
"function declaration, which was kept for backwards compatibility reasons, is "
"now removed -- the macro was introduced in 1997 (:issue:`8276`)."
msgstr ""

#: whatsnew/3.2.rst:2574
msgid ""
"There is a new function :c:func:`PyLong_AsLongLongAndOverflow` which is "
"analogous to :c:func:`PyLong_AsLongAndOverflow`.  They both serve to convert "
"Python :class:`int` into a native fixed-width type while providing detection "
"of cases where the conversion won't fit (:issue:`7767`)."
msgstr ""

#: whatsnew/3.2.rst:2579
msgid ""
"The :c:func:`PyUnicode_CompareWithASCIIString` function now returns *not "
"equal* if the Python string is *NUL* terminated."
msgstr ""

#: whatsnew/3.2.rst:2582
msgid ""
"There is a new function :c:func:`PyErr_NewExceptionWithDoc` that is like :c:"
"func:`PyErr_NewException` but allows a docstring to be specified. This lets "
"C exceptions have the same self-documenting capabilities as their pure "
"Python counterparts (:issue:`7033`)."
msgstr ""

#: whatsnew/3.2.rst:2587
msgid ""
"When compiled with the ``--with-valgrind`` option, the pymalloc allocator "
"will be automatically disabled when running under Valgrind.  This gives "
"improved memory leak detection when running under Valgrind, while taking "
"advantage of pymalloc at other times (:issue:`2422`)."
msgstr ""

#: whatsnew/3.2.rst:2592
msgid ""
"Removed the ``O?`` format from the *PyArg_Parse* functions.  The format is "
"no longer used and it had never been documented (:issue:`8837`)."
msgstr ""

#: whatsnew/3.2.rst:2595
msgid ""
"There were a number of other small changes to the C-API.  See the `Misc/NEWS "
"<https://github.com/python/cpython/blob/v3.2.6/Misc/NEWS>`__ file for a "
"complete list."
msgstr ""

#: whatsnew/3.2.rst:2599
msgid ""
"Also, there were a number of updates to the Mac OS X build, see `Mac/"
"BuildScript/README.txt <https://github.com/python/cpython/blob/v3.2.6/Mac/"
"BuildScript/README.txt>`_ for details.  For users running a 32/64-bit build, "
"there is a known problem with the default Tcl/Tk on Mac OS X 10.6. "
"Accordingly, we recommend installing an updated alternative such as "
"`ActiveState Tcl/Tk 8.5.9 <https://web.archive.org/web/20101208191259/"
"https://www.activestate.com/activetcl/downloads>`_\\. See https://www.python."
"org/download/mac/tcltk/ for additional details."
msgstr ""

#: whatsnew/3.2.rst:2608
msgid "Porting to Python 3.2"
msgstr "Portage vers Python 3.2"

#: whatsnew/3.2.rst:2610
msgid ""
"This section lists previously described changes and other bugfixes that may "
"require changes to your code:"
msgstr ""

#: whatsnew/3.2.rst:2613
msgid ""
"The :mod:`configparser` module has a number of clean-ups.  The major change "
"is to replace the old :class:`ConfigParser` class with long-standing "
"preferred alternative :class:`SafeConfigParser`.  In addition there are a "
"number of smaller incompatibilities:"
msgstr ""

#: whatsnew/3.2.rst:2618
msgid ""
"The interpolation syntax is now validated on :meth:`~configparser."
"ConfigParser.get` and :meth:`~configparser.ConfigParser.set` operations. In "
"the default interpolation scheme, only two tokens with percent signs are "
"valid: ``%(name)s`` and ``%%``, the latter being an escaped percent sign."
msgstr ""

#: whatsnew/3.2.rst:2624
msgid ""
"The :meth:`~configparser.ConfigParser.set` and :meth:`~configparser."
"ConfigParser.add_section` methods now verify that values are actual "
"strings.  Formerly, unsupported types could be introduced unintentionally."
msgstr ""

#: whatsnew/3.2.rst:2629
msgid ""
"Duplicate sections or options from a single source now raise either :exc:"
"`~configparser.DuplicateSectionError` or :exc:`~configparser."
"DuplicateOptionError`.  Formerly, duplicates would silently overwrite a "
"previous entry."
msgstr ""

#: whatsnew/3.2.rst:2634
msgid ""
"Inline comments are now disabled by default so now the **;** character can "
"be safely used in values."
msgstr ""

#: whatsnew/3.2.rst:2637
msgid ""
"Comments now can be indented.  Consequently, for **;** or **#** to appear at "
"the start of a line in multiline values, it has to be interpolated.  This "
"keeps comment prefix characters in values from being mistaken as comments."
msgstr ""

#: whatsnew/3.2.rst:2641
msgid ""
"``\"\"`` is now a valid value and is no longer automatically converted to an "
"empty string. For empty strings, use ``\"option =\"`` in a line."
msgstr ""

#: whatsnew/3.2.rst:2644
msgid ""
"The :mod:`nntplib` module was reworked extensively, meaning that its APIs "
"are often incompatible with the 3.1 APIs."
msgstr ""

#: whatsnew/3.2.rst:2647
msgid ""
":class:`bytearray` objects can no longer be used as filenames; instead, they "
"should be converted to :class:`bytes`."
msgstr ""
"Les objets :class:`bytearray` ne peuvent plus être utilisés en tant que nom "
"de fichiers : ils doivent être convertis en :class:`bytes` à la place."

#: whatsnew/3.2.rst:2650
msgid ""
"The :meth:`array.tostring` and :meth:`array.fromstring` have been renamed "
"to :meth:`array.tobytes` and :meth:`array.frombytes` for clarity.  The old "
"names have been deprecated. (See :issue:`8990`.)"
msgstr ""

#: whatsnew/3.2.rst:2654
msgid "``PyArg_Parse*()`` functions:"
msgstr "Les fonctions ``PyArg_Parse*()`` :"

#: whatsnew/3.2.rst:2656
msgid "\"t#\" format has been removed: use \"s#\" or \"s*\" instead"
msgstr "Le format \"t#\" a été supprimé : utiliser \"s#\" ou \"s*\" à la place"

#: whatsnew/3.2.rst:2657
msgid "\"w\" and \"w#\" formats has been removed: use \"w*\" instead"
msgstr ""
"Les formats \"w\" et \"w#\" ont été supprimés : utiliser \"w*\" à la place"

#: whatsnew/3.2.rst:2659
msgid ""
"The :c:type:`PyCObject` type, deprecated in 3.1, has been removed.  To wrap "
"opaque C pointers in Python objects, the :c:type:`PyCapsule` API should be "
"used instead; the new type has a well-defined interface for passing typing "
"safety information and a less complicated signature for calling a destructor."
msgstr ""

#: whatsnew/3.2.rst:2664
msgid ""
"The :func:`sys.setfilesystemencoding` function was removed because it had a "
"flawed design."
msgstr ""

#: whatsnew/3.2.rst:2667
msgid ""
"The :func:`random.seed` function and method now salt string seeds with an "
"sha512 hash function.  To access the previous version of *seed* in order to "
"reproduce Python 3.1 sequences, set the *version* argument to *1*, ``random."
"seed(s, version=1)``."
msgstr ""

#: whatsnew/3.2.rst:2672
msgid ""
"The previously deprecated :func:`string.maketrans` function has been removed "
"in favor of the static methods :meth:`bytes.maketrans` and :meth:`bytearray."
"maketrans`.  This change solves the confusion around which types were "
"supported by the :mod:`string` module.  Now, :class:`str`, :class:`bytes`, "
"and :class:`bytearray` each have their own **maketrans** and **translate** "
"methods with intermediate translation tables of the appropriate type."
msgstr ""

#: whatsnew/3.2.rst:2680
msgid "(Contributed by Georg Brandl; :issue:`5675`.)"
msgstr "(Contribution par Georg Brandl; :issue:`5675`.)"

#: whatsnew/3.2.rst:2682
msgid ""
"The previously deprecated :func:`contextlib.nested` function has been "
"removed in favor of a plain :keyword:`with` statement which can accept "
"multiple context managers.  The latter technique is faster (because it is "
"built-in), and it does a better job finalizing multiple context managers "
"when one of them raises an exception::"
msgstr ""

#: whatsnew/3.2.rst:2693
msgid ""
"(Contributed by Georg Brandl and Mattias Brändström; `appspot issue 53094 "
"<https://codereview.appspot.com/53094>`_.)"
msgstr ""

#: whatsnew/3.2.rst:2696
msgid ""
":func:`struct.pack` now only allows bytes for the ``s`` string pack code. "
"Formerly, it would accept text arguments and implicitly encode them to bytes "
"using UTF-8.  This was problematic because it made assumptions about the "
"correct encoding and because a variable-length encoding can fail when "
"writing to fixed length segment of a structure."
msgstr ""

#: whatsnew/3.2.rst:2702
msgid ""
"Code such as ``struct.pack('<6sHHBBB', 'GIF87a', x, y)`` should be rewritten "
"with to use bytes instead of text, ``struct.pack('<6sHHBBB', b'GIF87a', x, "
"y)``."
msgstr ""

#: whatsnew/3.2.rst:2705
msgid ""
"(Discovered by David Beazley and fixed by Victor Stinner; :issue:`10783`.)"
msgstr ""

#: whatsnew/3.2.rst:2707
msgid ""
"The :class:`xml.etree.ElementTree` class now raises an :exc:`xml.etree."
"ElementTree.ParseError` when a parse fails. Previously it raised an :exc:"
"`xml.parsers.expat.ExpatError`."
msgstr ""

#: whatsnew/3.2.rst:2711
msgid ""
"The new, longer :func:`str` value on floats may break doctests which rely on "
"the old output format."
msgstr ""

#: whatsnew/3.2.rst:2714
msgid ""
"In :class:`subprocess.Popen`, the default value for *close_fds* is now "
"``True`` under Unix; under Windows, it is ``True`` if the three standard "
"streams are set to ``None``, ``False`` otherwise.  Previously, *close_fds* "
"was always ``False`` by default, which produced difficult to solve bugs or "
"race conditions when open file descriptors would leak into the child process."
msgstr ""

#: whatsnew/3.2.rst:2721
msgid ""
"Support for legacy HTTP 0.9 has been removed from :mod:`urllib.request` and :"
"mod:`http.client`.  Such support is still present on the server side (in :"
"mod:`http.server`)."
msgstr ""

#: whatsnew/3.2.rst:2725
msgid "(Contributed by Antoine Pitrou, :issue:`10711`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`10711`.)"

#: whatsnew/3.2.rst:2727
msgid ""
"SSL sockets in timeout mode now raise :exc:`socket.timeout` when a timeout "
"occurs, rather than a generic :exc:`~ssl.SSLError`."
msgstr ""

#: whatsnew/3.2.rst:2730
msgid "(Contributed by Antoine Pitrou, :issue:`10272`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`10272`.)"

#: whatsnew/3.2.rst:2732
msgid ""
"The misleading functions :c:func:`PyEval_AcquireLock()` and :c:func:"
"`PyEval_ReleaseLock()` have been officially deprecated.  The thread-state "
"aware APIs (such as :c:func:`PyEval_SaveThread()` and :c:func:"
"`PyEval_RestoreThread()`) should be used instead."
msgstr ""

#: whatsnew/3.2.rst:2737
msgid ""
"Due to security risks, :func:`asyncore.handle_accept` has been deprecated, "
"and a new function, :func:`asyncore.handle_accepted`, was added to replace "
"it."
msgstr ""

#: whatsnew/3.2.rst:2740
msgid "(Contributed by Giampaolo Rodola in :issue:`6706`.)"
msgstr "(Contribution par Giampaolo Rodola; :issue:`6706`.)"

#: whatsnew/3.2.rst:2742
msgid ""
"Due to the new :term:`GIL` implementation, :c:func:`PyEval_InitThreads()` "
"cannot be called before :c:func:`Py_Initialize()` anymore."
msgstr ""
