1
0
Fork 0

Make merge (#34)

Pour https://github.com/python/cpython/pull/101852

Reviewed-on: AFPy/python-docs-fr#34
Co-authored-by: Julien Palard <julien@palard.fr>
Co-committed-by: Julien Palard <julien@palard.fr>
This commit is contained in:
Julien Palard 2023-02-12 21:11:06 +00:00 committed by Christophe Nanteuil
parent be3fe26412
commit c45606574a
5 changed files with 483 additions and 438 deletions

View File

@ -20,7 +20,7 @@
# from which we generated our po files. We use it here so when we
# test build, we're building with the .rst files that generated our
# .po files.
CPYTHON_CURRENT_COMMIT := 955ba2839bc5875424ae745bfab53e880a9ace49
CPYTHON_CURRENT_COMMIT := 1b736838e6ae1b4ef42cdd27c2708face908f92c
LANGUAGE := fr
BRANCH := 3.11

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"POT-Creation-Date: 2023-02-12 21:25+0100\n"
"PO-Revision-Date: 2020-09-22 17:11+0200\n"
"Last-Translator: Philippe GALVAN <git.philippe.galvan@outlook.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -1297,9 +1297,10 @@ msgid "The *limit* argument is passed to :meth:`get_stack` directly."
msgstr "Le paramètre *limit* est directement passé à :meth:`get_stack`."
#: library/asyncio-task.rst:1099
#, fuzzy
msgid ""
"The *file* argument is an I/O stream to which the output is written; by "
"default output is written to :data:`sys.stderr`."
"default output is written to :data:`sys.stdout`."
msgstr ""
"Le paramètre *file* est un flux d'entrées-sorties sur lequel le résultat est "
"écrit ; par défaut, :data:`sys.stderr`."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"POT-Creation-Date: 2023-02-12 21:25+0100\n"
"PO-Revision-Date: 2018-07-04 11:26+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -1697,7 +1697,7 @@ msgstr ""
#: library/importlib.rst:1465
msgid ""
"A static method which returns a callable that creates a lazy loader. This is "
"A class method which returns a callable that creates a lazy loader. This is "
"meant to be used in situations where the loader is passed by class instead "
"of by instance. ::"
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-12 11:56+0100\n"
"POT-Creation-Date: 2023-02-12 21:25+0100\n"
"PO-Revision-Date: 2019-03-26 15:55+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -773,8 +773,8 @@ msgstr ""
msgid "The *deterministic* parameter."
msgstr ""
#: library/sqlite3.rst:705 library/sqlite3.rst:1019 library/sqlite3.rst:1362
#: library/sqlite3.rst:1383
#: library/sqlite3.rst:705 library/sqlite3.rst:1019 library/sqlite3.rst:1383
#: library/sqlite3.rst:1404
msgid "Example:"
msgstr "Exemple :"
@ -1239,7 +1239,7 @@ msgid ""
"`tuple`."
msgstr ""
#: library/sqlite3.rst:1507 library/sqlite3.rst:1530
#: library/sqlite3.rst:1528 library/sqlite3.rst:1551
msgid "See :ref:`sqlite3-howto-row-factory` for more details."
msgstr ""
@ -1283,20 +1283,26 @@ msgstr ""
#: library/sqlite3.rst:1338
msgid ""
"Execute SQL statement *sql*. Bind values to the statement using :ref:"
"`placeholders <sqlite3-placeholders>` that map to the :term:`sequence` or :"
"class:`dict` *parameters*."
"Execute SQL a single SQL statement, optionally binding Python values using :"
"ref:`placeholders <sqlite3-placeholders>`."
msgstr ""
#: library/sqlite3.rst:1343
#: library/sqlite3.rst:1342
msgid "A single SQL statement."
msgstr ""
#: library/sqlite3.rst:1345
msgid ""
":meth:`execute` will only execute a single SQL statement. If you try to "
"execute more than one statement with it, it will raise a :exc:"
"`ProgrammingError`. Use :meth:`executescript` if you want to execute "
"multiple SQL statements with one call."
"Python values to bind to placeholders in *sql*. A :class:`!dict` if named "
"placeholders are used. A :term:`!sequence` if unnamed placeholders are used. "
"See :ref:`sqlite3-placeholders`."
msgstr ""
#: library/sqlite3.rst:1348
#: library/sqlite3.rst:1352
msgid "If *sql* contains more than one SQL statement."
msgstr ""
#: library/sqlite3.rst:1355
msgid ""
"If :attr:`~Connection.isolation_level` is not ``None``, *sql* is an "
"``INSERT``, ``UPDATE``, ``DELETE``, or ``REPLACE`` statement, and there is "
@ -1304,16 +1310,36 @@ msgid ""
"*sql*."
msgstr ""
#: library/sqlite3.rst:1356
msgid ""
"Execute :ref:`parameterized <sqlite3-placeholders>` SQL statement *sql* "
"against all parameter sequences or mappings found in the sequence "
"*parameters*. It is also possible to use an :term:`iterator` yielding "
"parameters instead of a sequence. Uses the same implicit transaction "
"handling as :meth:`~Cursor.execute`."
#: library/sqlite3.rst:1360
msgid "Use :meth:`executescript` to execute multiple SQL statements."
msgstr ""
#: library/sqlite3.rst:1375
#: library/sqlite3.rst:1364
msgid ""
"For every item in *parameters*, repeatedly execute the :ref:`parameterized "
"<sqlite3-placeholders>` SQL statement *sql*."
msgstr ""
#: library/sqlite3.rst:1368
msgid "Uses the same implicit transaction handling as :meth:`~Cursor.execute`."
msgstr ""
#: library/sqlite3.rst:1370
msgid "A single SQL :abbr:`DML (Data Manipulation Language)` statement."
msgstr ""
#: library/sqlite3.rst:1373
msgid ""
"An :term:`!iterable` of parameters to bind with the placeholders in *sql*. "
"See :ref:`sqlite3-placeholders`."
msgstr ""
#: library/sqlite3.rst:1379
msgid ""
"If *sql* contains more than one SQL statement, or is not a DML statment."
msgstr ""
#: library/sqlite3.rst:1396
msgid ""
"Execute the SQL statements in *sql_script*. If there is a pending "
"transaction, an implicit ``COMMIT`` statement is executed first. No other "
@ -1321,24 +1347,24 @@ msgid ""
"added to *sql_script*."
msgstr ""
#: library/sqlite3.rst:1381
#: library/sqlite3.rst:1402
msgid "*sql_script* must be a :class:`string <str>`."
msgstr ""
#: library/sqlite3.rst:1399
#: library/sqlite3.rst:1420
msgid ""
"If :attr:`~Cursor.row_factory` is ``None``, return the next row query result "
"set as a :class:`tuple`. Else, pass it to the row factory and return its "
"result. Return ``None`` if no more data is available."
msgstr ""
#: library/sqlite3.rst:1407
#: library/sqlite3.rst:1428
msgid ""
"Return the next set of rows of a query result as a :class:`list`. Return an "
"empty list if no more rows are available."
msgstr ""
#: library/sqlite3.rst:1410
#: library/sqlite3.rst:1431
msgid ""
"The number of rows to fetch per call is specified by the *size* parameter. "
"If *size* is not given, :attr:`arraysize` determines the number of rows to "
@ -1346,7 +1372,7 @@ msgid ""
"available are returned."
msgstr ""
#: library/sqlite3.rst:1416
#: library/sqlite3.rst:1437
msgid ""
"Note there are performance considerations involved with the *size* "
"parameter. For optimal performance, it is usually best to use the arraysize "
@ -1354,36 +1380,36 @@ msgid ""
"the same value from one :meth:`fetchmany` call to the next."
msgstr ""
#: library/sqlite3.rst:1423
#: library/sqlite3.rst:1444
msgid ""
"Return all (remaining) rows of a query result as a :class:`list`. Return an "
"empty list if no rows are available. Note that the :attr:`arraysize` "
"attribute can affect the performance of this operation."
msgstr ""
#: library/sqlite3.rst:1430
#: library/sqlite3.rst:1451
msgid "Close the cursor now (rather than whenever ``__del__`` is called)."
msgstr ""
#: library/sqlite3.rst:1432
#: library/sqlite3.rst:1453
msgid ""
"The cursor will be unusable from this point forward; a :exc:"
"`ProgrammingError` exception will be raised if any operation is attempted "
"with the cursor."
msgstr ""
#: library/sqlite3.rst:1441
#: library/sqlite3.rst:1462
msgid "Required by the DB-API. Does nothing in :mod:`!sqlite3`."
msgstr ""
#: library/sqlite3.rst:1445
#: library/sqlite3.rst:1466
msgid ""
"Read/write attribute that controls the number of rows returned by :meth:"
"`fetchmany`. The default value is 1 which means a single row would be "
"fetched per call."
msgstr ""
#: library/sqlite3.rst:1450
#: library/sqlite3.rst:1471
msgid ""
"Read-only attribute that provides the SQLite database :class:`Connection` "
"belonging to the cursor. A :class:`Cursor` object created by calling :meth:"
@ -1391,18 +1417,18 @@ msgid ""
"that refers to *con*:"
msgstr ""
#: library/sqlite3.rst:1464
#: library/sqlite3.rst:1485
msgid ""
"Read-only attribute that provides the column names of the last query. To "
"remain compatible with the Python DB API, it returns a 7-tuple for each "
"column where the last six items of each tuple are ``None``."
msgstr ""
#: library/sqlite3.rst:1468
#: library/sqlite3.rst:1489
msgid "It is set for ``SELECT`` statements without any matching rows as well."
msgstr ""
#: library/sqlite3.rst:1472
#: library/sqlite3.rst:1493
msgid ""
"Read-only attribute that provides the row id of the last inserted row. It is "
"only updated after successful ``INSERT`` or ``REPLACE`` statements using "
@ -1412,15 +1438,15 @@ msgid ""
"``None``."
msgstr ""
#: library/sqlite3.rst:1480
#: library/sqlite3.rst:1501
msgid "Inserts into ``WITHOUT ROWID`` tables are not recorded."
msgstr ""
#: library/sqlite3.rst:1482
#: library/sqlite3.rst:1503
msgid "Added support for the ``REPLACE`` statement."
msgstr ""
#: library/sqlite3.rst:1487
#: library/sqlite3.rst:1508
msgid ""
"Read-only attribute that provides the number of modified rows for "
"``INSERT``, ``UPDATE``, ``DELETE``, and ``REPLACE`` statements; is ``-1`` "
@ -1429,7 +1455,7 @@ msgid ""
"methods."
msgstr ""
#: library/sqlite3.rst:1495
#: library/sqlite3.rst:1516
msgid ""
"Control how a row fetched from this :class:`!Cursor` is represented. If "
"``None``, a row is represented as a :class:`tuple`. Can be set to the "
@ -1438,19 +1464,19 @@ msgid ""
"and returns a custom object representing an SQLite row."
msgstr ""
#: library/sqlite3.rst:1502
#: library/sqlite3.rst:1523
msgid ""
"Defaults to what :attr:`Connection.row_factory` was set to when the :class:`!"
"Cursor` was created. Assigning to this attribute does not affect :attr:"
"`Connection.row_factory` of the parent connection."
msgstr ""
#: library/sqlite3.rst:1518
#: library/sqlite3.rst:1539
#, fuzzy
msgid "Row objects"
msgstr "Objets de connexions"
#: library/sqlite3.rst:1522
#: library/sqlite3.rst:1543
msgid ""
"A :class:`!Row` instance serves as a highly optimized :attr:`~Connection."
"row_factory` for :class:`Connection` objects. It supports iteration, "
@ -1458,29 +1484,29 @@ msgid ""
"index."
msgstr ""
#: library/sqlite3.rst:1527
#: library/sqlite3.rst:1548
msgid ""
"Two :class:`!Row` objects compare equal if they have identical column names "
"and values."
msgstr ""
#: library/sqlite3.rst:1534
#: library/sqlite3.rst:1555
msgid ""
"Return a :class:`list` of column names as :class:`strings <str>`. "
"Immediately after a query, it is the first member of each tuple in :attr:"
"`Cursor.description`."
msgstr ""
#: library/sqlite3.rst:1538
#: library/sqlite3.rst:1559
msgid "Added support of slicing."
msgstr ""
#: library/sqlite3.rst:1545
#: library/sqlite3.rst:1566
#, fuzzy
msgid "Blob objects"
msgstr "Objets de connexions"
#: library/sqlite3.rst:1551
#: library/sqlite3.rst:1572
msgid ""
"A :class:`Blob` instance is a :term:`file-like object` that can read and "
"write data in an SQLite :abbr:`BLOB (Binary Large OBject)`. Call :func:"
@ -1488,24 +1514,24 @@ msgid ""
"and :term:`slices <slice>` for direct access to the blob data."
msgstr ""
#: library/sqlite3.rst:1556
#: library/sqlite3.rst:1577
msgid ""
"Use the :class:`Blob` as a :term:`context manager` to ensure that the blob "
"handle is closed after use."
msgstr ""
#: library/sqlite3.rst:1586
#: library/sqlite3.rst:1607
msgid "Close the blob."
msgstr ""
#: library/sqlite3.rst:1588
#: library/sqlite3.rst:1609
msgid ""
"The blob will be unusable from this point onward. An :class:`~sqlite3."
"Error` (or subclass) exception will be raised if any further operation is "
"attempted with the blob."
msgstr ""
#: library/sqlite3.rst:1594
#: library/sqlite3.rst:1615
msgid ""
"Read *length* bytes of data from the blob at the current offset position. If "
"the end of the blob is reached, the data up to :abbr:`EOF (End of File)` "
@ -1513,18 +1539,18 @@ msgid ""
"`~Blob.read` will read until the end of the blob."
msgstr ""
#: library/sqlite3.rst:1602
#: library/sqlite3.rst:1623
msgid ""
"Write *data* to the blob at the current offset. This function cannot change "
"the blob length. Writing beyond the end of the blob will raise :exc:"
"`ValueError`."
msgstr ""
#: library/sqlite3.rst:1608
#: library/sqlite3.rst:1629
msgid "Return the current access position of the blob."
msgstr ""
#: library/sqlite3.rst:1612
#: library/sqlite3.rst:1633
msgid ""
"Set the current access position of the blob to *offset*. The *origin* "
"argument defaults to :data:`os.SEEK_SET` (absolute blob positioning). Other "
@ -1532,26 +1558,26 @@ msgid ""
"position) and :data:`os.SEEK_END` (seek relative to the blobs end)."
msgstr ""
#: library/sqlite3.rst:1620
#: library/sqlite3.rst:1641
msgid "PrepareProtocol objects"
msgstr ""
#: library/sqlite3.rst:1624
#: library/sqlite3.rst:1645
msgid ""
"The PrepareProtocol type's single purpose is to act as a :pep:`246` style "
"adaption protocol for objects that can :ref:`adapt themselves <sqlite3-"
"conform>` to :ref:`native SQLite types <sqlite3-types>`."
msgstr ""
#: library/sqlite3.rst:1632
#: library/sqlite3.rst:1653
msgid "Exceptions"
msgstr "Exceptions"
#: library/sqlite3.rst:1634
#: library/sqlite3.rst:1655
msgid "The exception hierarchy is defined by the DB-API 2.0 (:pep:`249`)."
msgstr ""
#: library/sqlite3.rst:1638
#: library/sqlite3.rst:1659
msgid ""
"This exception is not currently raised by the :mod:`!sqlite3` module, but "
"may be raised by applications using :mod:`!sqlite3`, for example if a user-"
@ -1559,39 +1585,39 @@ msgid ""
"of :exc:`Exception`."
msgstr ""
#: library/sqlite3.rst:1645
#: library/sqlite3.rst:1666
msgid ""
"The base class of the other exceptions in this module. Use this to catch all "
"errors with one single :keyword:`except` statement. ``Error`` is a subclass "
"of :exc:`Exception`."
msgstr ""
#: library/sqlite3.rst:1649
#: library/sqlite3.rst:1670
msgid ""
"If the exception originated from within the SQLite library, the following "
"two attributes are added to the exception:"
msgstr ""
#: library/sqlite3.rst:1654
#: library/sqlite3.rst:1675
msgid ""
"The numeric error code from the `SQLite API <https://sqlite.org/rescode."
"html>`_"
msgstr ""
#: library/sqlite3.rst:1661
#: library/sqlite3.rst:1682
msgid ""
"The symbolic name of the numeric error code from the `SQLite API <https://"
"sqlite.org/rescode.html>`_"
msgstr ""
#: library/sqlite3.rst:1668
#: library/sqlite3.rst:1689
msgid ""
"Exception raised for misuse of the low-level SQLite C API. In other words, "
"if this exception is raised, it probably indicates a bug in the :mod:`!"
"sqlite3` module. ``InterfaceError`` is a subclass of :exc:`Error`."
msgstr ""
#: library/sqlite3.rst:1675
#: library/sqlite3.rst:1696
msgid ""
"Exception raised for errors that are related to the database. This serves as "
"the base exception for several types of database errors. It is only raised "
@ -1599,14 +1625,14 @@ msgid ""
"subclass of :exc:`Error`."
msgstr ""
#: library/sqlite3.rst:1682
#: library/sqlite3.rst:1703
msgid ""
"Exception raised for errors caused by problems with the processed data, like "
"numeric values out of range, and strings which are too long. ``DataError`` "
"is a subclass of :exc:`DatabaseError`."
msgstr ""
#: library/sqlite3.rst:1688
#: library/sqlite3.rst:1709
msgid ""
"Exception raised for errors that are related to the database's operation, "
"and not necessarily under the control of the programmer. For example, the "
@ -1614,20 +1640,20 @@ msgid ""
"``OperationalError`` is a subclass of :exc:`DatabaseError`."
msgstr ""
#: library/sqlite3.rst:1696
#: library/sqlite3.rst:1717
msgid ""
"Exception raised when the relational integrity of the database is affected, "
"e.g. a foreign key check fails. It is a subclass of :exc:`DatabaseError`."
msgstr ""
#: library/sqlite3.rst:1701
#: library/sqlite3.rst:1722
msgid ""
"Exception raised when SQLite encounters an internal error. If this is "
"raised, it may indicate that there is a problem with the runtime SQLite "
"library. ``InternalError`` is a subclass of :exc:`DatabaseError`."
msgstr ""
#: library/sqlite3.rst:1708
#: library/sqlite3.rst:1729
msgid ""
"Exception raised for :mod:`!sqlite3` API programming errors, for example "
"supplying the wrong number of bindings to a query, or trying to operate on a "
@ -1635,7 +1661,7 @@ msgid ""
"`DatabaseError`."
msgstr ""
#: library/sqlite3.rst:1715
#: library/sqlite3.rst:1736
msgid ""
"Exception raised in case a method or database API is not supported by the "
"underlying SQLite library. For example, setting *deterministic* to ``True`` "
@ -1644,78 +1670,78 @@ msgid ""
"subclass of :exc:`DatabaseError`."
msgstr ""
#: library/sqlite3.rst:1725
#: library/sqlite3.rst:1746
msgid "SQLite and Python types"
msgstr ""
#: library/sqlite3.rst:1727
#: library/sqlite3.rst:1748
msgid ""
"SQLite natively supports the following types: ``NULL``, ``INTEGER``, "
"``REAL``, ``TEXT``, ``BLOB``."
msgstr ""
#: library/sqlite3.rst:1730
#: library/sqlite3.rst:1751
msgid ""
"The following Python types can thus be sent to SQLite without any problem:"
msgstr ""
#: library/sqlite3.rst:1750
#: library/sqlite3.rst:1771
msgid "Python type"
msgstr "Type Python"
#: library/sqlite3.rst:1750
#: library/sqlite3.rst:1771
msgid "SQLite type"
msgstr "SQLite type"
#: library/sqlite3.rst:1752
#: library/sqlite3.rst:1773
msgid "``None``"
msgstr ""
#: library/sqlite3.rst:1752
#: library/sqlite3.rst:1773
msgid "``NULL``"
msgstr "``NULL``"
#: library/sqlite3.rst:1754
#: library/sqlite3.rst:1775
msgid ":class:`int`"
msgstr ":class:`int`"
#: library/sqlite3.rst:1754
#: library/sqlite3.rst:1775
msgid "``INTEGER``"
msgstr "``INTEGER``"
#: library/sqlite3.rst:1756
#: library/sqlite3.rst:1777
msgid ":class:`float`"
msgstr ":class:`float`"
#: library/sqlite3.rst:1756
#: library/sqlite3.rst:1777
msgid "``REAL``"
msgstr "``REAL``"
#: library/sqlite3.rst:1741
#: library/sqlite3.rst:1762
msgid ":class:`str`"
msgstr ":class:`str`"
#: library/sqlite3.rst:1758
#: library/sqlite3.rst:1779
msgid "``TEXT``"
msgstr "``TEXT``"
#: library/sqlite3.rst:1761
#: library/sqlite3.rst:1782
msgid ":class:`bytes`"
msgstr ":class:`bytes`"
#: library/sqlite3.rst:1761
#: library/sqlite3.rst:1782
msgid "``BLOB``"
msgstr "``BLOB``"
#: library/sqlite3.rst:1747
#: library/sqlite3.rst:1768
msgid "This is how SQLite types are converted to Python types by default:"
msgstr ""
#: library/sqlite3.rst:1758
#: library/sqlite3.rst:1779
msgid "depends on :attr:`~Connection.text_factory`, :class:`str` by default"
msgstr ""
#: library/sqlite3.rst:1764
#: library/sqlite3.rst:1785
msgid ""
"The type system of the :mod:`!sqlite3` module is extensible in two ways: you "
"can store additional Python types in an SQLite database via :ref:`object "
@ -1724,42 +1750,42 @@ msgid ""
"converters>`."
msgstr ""
#: library/sqlite3.rst:1774
#: library/sqlite3.rst:1795
msgid "Default adapters and converters"
msgstr ""
#: library/sqlite3.rst:1776
#: library/sqlite3.rst:1797
msgid ""
"There are default adapters for the date and datetime types in the datetime "
"module. They will be sent as ISO dates/ISO timestamps to SQLite."
msgstr ""
#: library/sqlite3.rst:1779
#: library/sqlite3.rst:1800
msgid ""
"The default converters are registered under the name \"date\" for :class:"
"`datetime.date` and under the name \"timestamp\" for :class:`datetime."
"datetime`."
msgstr ""
#: library/sqlite3.rst:1783
#: library/sqlite3.rst:1804
msgid ""
"This way, you can use date/timestamps from Python without any additional "
"fiddling in most cases. The format of the adapters is also compatible with "
"the experimental SQLite date/time functions."
msgstr ""
#: library/sqlite3.rst:1787
#: library/sqlite3.rst:1808
msgid "The following example demonstrates this."
msgstr ""
#: library/sqlite3.rst:1791
#: library/sqlite3.rst:1812
msgid ""
"If a timestamp stored in SQLite has a fractional part longer than 6 numbers, "
"its value will be truncated to microsecond precision by the timestamp "
"converter."
msgstr ""
#: library/sqlite3.rst:1797
#: library/sqlite3.rst:1818
msgid ""
"The default \"timestamp\" converter ignores UTC offsets in the database and "
"always returns a naive :class:`datetime.datetime` object. To preserve UTC "
@ -1767,15 +1793,15 @@ msgid ""
"offset-aware converter with :func:`register_converter`."
msgstr ""
#: library/sqlite3.rst:1806
#: library/sqlite3.rst:1827
msgid "How-to guides"
msgstr ""
#: library/sqlite3.rst:1811
#: library/sqlite3.rst:1832
msgid "How to use placeholders to bind values in SQL queries"
msgstr ""
#: library/sqlite3.rst:1813
#: library/sqlite3.rst:1834
#, fuzzy
msgid ""
"SQL operations usually need to use values from Python variables. However, "
@ -1789,7 +1815,7 @@ msgstr ""
"votre programme vulnérable à une attaque par injection SQL (voir https://"
"xkcd.com/327/ pour un exemple amusant de ce qui peut mal tourner)."
#: library/sqlite3.rst:1826
#: library/sqlite3.rst:1847
#, fuzzy
msgid ""
"Instead, use the DB-API's parameter substitution. To insert a variable into "
@ -1803,7 +1829,7 @@ msgstr ""
"meth:`~Cursor.execute`. D'autres modules de base de données peuvent utiliser "
"un espace réservé différent, tel que ``%s`` ou ``:1``. Par exemple ::"
#: library/sqlite3.rst:1831
#: library/sqlite3.rst:1852
msgid ""
"An SQL statement may use one of two kinds of placeholders: question marks "
"(qmark style) or named placeholders (named style). For the qmark style, "
@ -1814,24 +1840,24 @@ msgid ""
"are ignored. Here's an example of both styles:"
msgstr ""
#: library/sqlite3.rst:1868
#: library/sqlite3.rst:1889
msgid ""
":pep:`249` numeric placeholders are *not* supported. If used, they will be "
"interpreted as named placeholders."
msgstr ""
#: library/sqlite3.rst:1875
#: library/sqlite3.rst:1896
msgid "How to adapt custom Python types to SQLite values"
msgstr ""
#: library/sqlite3.rst:1877
#: library/sqlite3.rst:1898
msgid ""
"SQLite supports only a limited set of data types natively. To store custom "
"Python types in SQLite databases, *adapt* them to one of the :ref:`Python "
"types SQLite natively understands <sqlite3-types>`."
msgstr ""
#: library/sqlite3.rst:1881
#: library/sqlite3.rst:1902
msgid ""
"There are two ways to adapt Python objects to SQLite types: letting your "
"object adapt itself, or using an *adapter callable*. The latter will take "
@ -1841,11 +1867,11 @@ msgid ""
"custom adapter functions."
msgstr ""
#: library/sqlite3.rst:1893
#: library/sqlite3.rst:1914
msgid "How to write adaptable objects"
msgstr ""
#: library/sqlite3.rst:1895
#: library/sqlite3.rst:1916
msgid ""
"Suppose we have a :class:`!Point` class that represents a pair of "
"coordinates, ``x`` and ``y``, in a Cartesian coordinate system. The "
@ -1855,84 +1881,84 @@ msgid ""
"object passed to *protocol* will be of type :class:`PrepareProtocol`."
msgstr ""
#: library/sqlite3.rst:1926
#: library/sqlite3.rst:1947
msgid "How to register adapter callables"
msgstr ""
#: library/sqlite3.rst:1928
#: library/sqlite3.rst:1949
msgid ""
"The other possibility is to create a function that converts the Python "
"object to an SQLite-compatible type. This function can then be registered "
"using :func:`register_adapter`."
msgstr ""
#: library/sqlite3.rst:1958
#: library/sqlite3.rst:1979
msgid "How to convert SQLite values to custom Python types"
msgstr ""
#: library/sqlite3.rst:1960
#: library/sqlite3.rst:1981
msgid ""
"Writing an adapter lets you convert *from* custom Python types *to* SQLite "
"values. To be able to convert *from* SQLite values *to* custom Python types, "
"we use *converters*."
msgstr ""
#: library/sqlite3.rst:1965
#: library/sqlite3.rst:1986
msgid ""
"Let's go back to the :class:`!Point` class. We stored the x and y "
"coordinates separated via semicolons as strings in SQLite."
msgstr ""
#: library/sqlite3.rst:1968
#: library/sqlite3.rst:1989
msgid ""
"First, we'll define a converter function that accepts the string as a "
"parameter and constructs a :class:`!Point` object from it."
msgstr ""
#: library/sqlite3.rst:1973
#: library/sqlite3.rst:1994
msgid ""
"Converter functions are **always** passed a :class:`bytes` object, no matter "
"the underlying SQLite data type."
msgstr ""
#: library/sqlite3.rst:1982
#: library/sqlite3.rst:2003
msgid ""
"We now need to tell :mod:`!sqlite3` when it should convert a given SQLite "
"value. This is done when connecting to a database, using the *detect_types* "
"parameter of :func:`connect`. There are three options:"
msgstr ""
#: library/sqlite3.rst:1986
#: library/sqlite3.rst:2007
msgid "Implicit: set *detect_types* to :const:`PARSE_DECLTYPES`"
msgstr ""
#: library/sqlite3.rst:1987
#: library/sqlite3.rst:2008
msgid "Explicit: set *detect_types* to :const:`PARSE_COLNAMES`"
msgstr ""
#: library/sqlite3.rst:1988
#: library/sqlite3.rst:2009
msgid ""
"Both: set *detect_types* to ``sqlite3.PARSE_DECLTYPES | sqlite3."
"PARSE_COLNAMES``. Column names take precedence over declared types."
msgstr ""
#: library/sqlite3.rst:1992
#: library/sqlite3.rst:2013
msgid "The following example illustrates the implicit and explicit approaches:"
msgstr ""
#: library/sqlite3.rst:2043
#: library/sqlite3.rst:2064
msgid "Adapter and converter recipes"
msgstr ""
#: library/sqlite3.rst:2045
#: library/sqlite3.rst:2066
msgid "This section shows recipes for common adapters and converters."
msgstr ""
#: library/sqlite3.rst:2107
#: library/sqlite3.rst:2128
msgid "How to use connection shortcut methods"
msgstr ""
#: library/sqlite3.rst:2109
#: library/sqlite3.rst:2130
msgid ""
"Using the :meth:`~Connection.execute`, :meth:`~Connection.executemany`, and :"
"meth:`~Connection.executescript` methods of the :class:`Connection` class, "
@ -1944,11 +1970,11 @@ msgid ""
"object."
msgstr ""
#: library/sqlite3.rst:2150
#: library/sqlite3.rst:2171
msgid "How to use the connection context manager"
msgstr ""
#: library/sqlite3.rst:2152
#: library/sqlite3.rst:2173
msgid ""
"A :class:`Connection` object can be used as a context manager that "
"automatically commits or rolls back open transactions when leaving the body "
@ -1958,58 +1984,58 @@ msgid ""
"exception, the transaction is rolled back."
msgstr ""
#: library/sqlite3.rst:2161
#: library/sqlite3.rst:2182
msgid ""
"If there is no open transaction upon leaving the body of the ``with`` "
"statement, the context manager is a no-op."
msgstr ""
#: library/sqlite3.rst:2166
#: library/sqlite3.rst:2187
msgid ""
"The context manager neither implicitly opens a new transaction nor closes "
"the connection."
msgstr ""
#: library/sqlite3.rst:2199
#: library/sqlite3.rst:2220
msgid "How to work with SQLite URIs"
msgstr ""
#: library/sqlite3.rst:2201
#: library/sqlite3.rst:2222
msgid "Some useful URI tricks include:"
msgstr ""
#: library/sqlite3.rst:2203
#: library/sqlite3.rst:2224
msgid "Open a database in read-only mode:"
msgstr ""
#: library/sqlite3.rst:2212
#: library/sqlite3.rst:2233
msgid ""
"Do not implicitly create a new database file if it does not already exist; "
"will raise :exc:`~sqlite3.OperationalError` if unable to create a new file:"
msgstr ""
#: library/sqlite3.rst:2222
#: library/sqlite3.rst:2243
msgid "Create a shared named in-memory database:"
msgstr ""
#: library/sqlite3.rst:2236
#: library/sqlite3.rst:2257
msgid ""
"More information about this feature, including a list of parameters, can be "
"found in the `SQLite URI documentation`_."
msgstr ""
#: library/sqlite3.rst:2245
#: library/sqlite3.rst:2266
msgid "How to create and use row factories"
msgstr ""
#: library/sqlite3.rst:2247
#: library/sqlite3.rst:2268
msgid ""
"By default, :mod:`!sqlite3` represents each row as a :class:`tuple`. If a :"
"class:`!tuple` does not suit your needs, you can use the :class:`sqlite3."
"Row` class or a custom :attr:`~Cursor.row_factory`."
msgstr ""
#: library/sqlite3.rst:2252
#: library/sqlite3.rst:2273
msgid ""
"While :attr:`!row_factory` exists as an attribute both on the :class:"
"`Cursor` and the :class:`Connection`, it is recommended to set :class:"
@ -2017,7 +2043,7 @@ msgid ""
"use the same row factory."
msgstr ""
#: library/sqlite3.rst:2257
#: library/sqlite3.rst:2278
msgid ""
":class:`!Row` provides indexed and case-insensitive named access to columns, "
"with minimal memory overhead and performance impact over a :class:`!tuple`. "
@ -2025,52 +2051,52 @@ msgid ""
"attribute:"
msgstr ""
#: library/sqlite3.rst:2267
#: library/sqlite3.rst:2288
msgid "Queries now return :class:`!Row` objects:"
msgstr ""
#: library/sqlite3.rst:2282
#: library/sqlite3.rst:2303
msgid ""
"You can create a custom :attr:`~Cursor.row_factory` that returns each row as "
"a :class:`dict`, with column names mapped to values:"
msgstr ""
#: library/sqlite3.rst:2291
#: library/sqlite3.rst:2312
msgid ""
"Using it, queries now return a :class:`!dict` instead of a :class:`!tuple`:"
msgstr ""
#: library/sqlite3.rst:2301
#: library/sqlite3.rst:2322
msgid "The following row factory returns a :term:`named tuple`:"
msgstr ""
#: library/sqlite3.rst:2312
#: library/sqlite3.rst:2333
msgid ":func:`!namedtuple_factory` can be used as follows:"
msgstr ""
#: library/sqlite3.rst:2327
#: library/sqlite3.rst:2348
msgid ""
"With some adjustments, the above recipe can be adapted to use a :class:"
"`~dataclasses.dataclass`, or any other custom class, instead of a :class:"
"`~collections.namedtuple`."
msgstr ""
#: library/sqlite3.rst:2335
#: library/sqlite3.rst:2356
#, fuzzy
msgid "Explanation"
msgstr "Exceptions"
#: library/sqlite3.rst:2340
#: library/sqlite3.rst:2361
msgid "Transaction control"
msgstr ""
#: library/sqlite3.rst:2342
#: library/sqlite3.rst:2363
msgid ""
"The :mod:`!sqlite3` module does not adhere to the transaction handling "
"recommended by :pep:`249`."
msgstr ""
#: library/sqlite3.rst:2345
#: library/sqlite3.rst:2366
msgid ""
"If the connection attribute :attr:`~Connection.isolation_level` is not "
"``None``, new transactions are implicitly opened before :meth:`~Cursor."
@ -2084,7 +2110,7 @@ msgid ""
"attribute."
msgstr ""
#: library/sqlite3.rst:2358
#: library/sqlite3.rst:2379
msgid ""
"If :attr:`~Connection.isolation_level` is set to ``None``, no transactions "
"are implicitly opened at all. This leaves the underlying SQLite library in "
@ -2094,14 +2120,14 @@ msgid ""
"in_transaction` attribute."
msgstr ""
#: library/sqlite3.rst:2366
#: library/sqlite3.rst:2387
msgid ""
"The :meth:`~Cursor.executescript` method implicitly commits any pending "
"transaction before execution of the given SQL script, regardless of the "
"value of :attr:`~Connection.isolation_level`."
msgstr ""
#: library/sqlite3.rst:2370
#: library/sqlite3.rst:2391
msgid ""
":mod:`!sqlite3` used to implicitly commit an open transaction before DDL "
"statements. This is no longer the case."

File diff suppressed because it is too large Load Diff