# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2016, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-30 10:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: ../Doc/library/asynchat.rst:2
msgid ":mod:`asynchat` --- Asynchronous socket command/response handler"
msgstr ""

#: ../Doc/library/asynchat.rst:10
msgid "**Source code:** :source:`Lib/asynchat.py`"
msgstr "*Code source :** :source:`Lib/asynchat.py`"

#: ../Doc/library/asynchat.rst:16
msgid ""
"This module exists for backwards compatibility only.  For new code we "
"recommend using :mod:`asyncio`."
msgstr ""

#: ../Doc/library/asynchat.rst:19
msgid ""
"This module builds on the :mod:`asyncore` infrastructure, simplifying "
"asynchronous clients and servers and making it easier to handle protocols "
"whose elements are terminated by arbitrary strings, or are of variable "
"length. :mod:`asynchat` defines the abstract class :class:`async_chat` that "
"you subclass, providing implementations of the :meth:`collect_incoming_data` "
"and :meth:`found_terminator` methods. It uses the same asynchronous loop as :"
"mod:`asyncore`, and the two types of channel, :class:`asyncore.dispatcher` "
"and :class:`asynchat.async_chat`, can freely be mixed in the channel map. "
"Typically an :class:`asyncore.dispatcher` server channel generates new :"
"class:`asynchat.async_chat` channel objects as it receives incoming "
"connection requests."
msgstr ""

#: ../Doc/library/asynchat.rst:34
msgid ""
"This class is an abstract subclass of :class:`asyncore.dispatcher`. To make "
"practical use of the code you must subclass :class:`async_chat`, providing "
"meaningful :meth:`collect_incoming_data` and :meth:`found_terminator` "
"methods. The :class:`asyncore.dispatcher` methods can be used, although not "
"all make sense in a message/response context."
msgstr ""

#: ../Doc/library/asynchat.rst:41
msgid ""
"Like :class:`asyncore.dispatcher`, :class:`async_chat` defines a set of "
"events that are generated by an analysis of socket conditions after a :c:"
"func:`select` call. Once the polling loop has been started the :class:"
"`async_chat` object's methods are called by the event-processing framework "
"with no action on the part of the programmer."
msgstr ""

#: ../Doc/library/asynchat.rst:47
msgid ""
"Two class attributes can be modified, to improve performance, or possibly "
"even to conserve memory."
msgstr ""

#: ../Doc/library/asynchat.rst:53
msgid "The asynchronous input buffer size (default ``4096``)."
msgstr ""

#: ../Doc/library/asynchat.rst:58
msgid "The asynchronous output buffer size (default ``4096``)."
msgstr ""

#: ../Doc/library/asynchat.rst:60
msgid ""
"Unlike :class:`asyncore.dispatcher`, :class:`async_chat` allows you to "
"define a :abbr:`FIFO (first-in, first-out)` queue of *producers*. A producer "
"need have only one method, :meth:`more`, which should return data to be "
"transmitted on the channel. The producer indicates exhaustion (*i.e.* that "
"it contains no more data) by having its :meth:`more` method return the empty "
"bytes object. At this point the :class:`async_chat` object removes the "
"producer from the queue and starts using the next producer, if any. When the "
"producer queue is empty the :meth:`handle_write` method does nothing. You "
"use the channel object's :meth:`set_terminator` method to describe how to "
"recognize the end of, or an important breakpoint in, an incoming "
"transmission from the remote endpoint."
msgstr ""

#: ../Doc/library/asynchat.rst:73
msgid ""
"To build a functioning :class:`async_chat` subclass your  input methods :"
"meth:`collect_incoming_data` and :meth:`found_terminator` must handle the "
"data that the channel receives asynchronously. The methods are described "
"below."
msgstr ""

#: ../Doc/library/asynchat.rst:81
msgid ""
"Pushes a ``None`` on to the producer queue. When this producer is popped off "
"the queue it causes the channel to be closed."
msgstr ""

#: ../Doc/library/asynchat.rst:87
msgid ""
"Called with *data* holding an arbitrary amount of received data.  The "
"default method, which must be overridden, raises a :exc:"
"`NotImplementedError` exception."
msgstr ""

#: ../Doc/library/asynchat.rst:94
msgid ""
"In emergencies this method will discard any data held in the input and/or "
"output buffers and the producer queue."
msgstr ""

#: ../Doc/library/asynchat.rst:100
msgid ""
"Called when the incoming data stream  matches the termination condition set "
"by :meth:`set_terminator`. The default method, which must be overridden, "
"raises a :exc:`NotImplementedError` exception. The buffered input data "
"should be available via an instance attribute."
msgstr ""

#: ../Doc/library/asynchat.rst:108
msgid "Returns the current terminator for the channel."
msgstr ""

#: ../Doc/library/asynchat.rst:113
msgid ""
"Pushes data on to the channel's queue to ensure its transmission. This is "
"all you need to do to have the channel write the data out to the network, "
"although it is possible to use your own producers in more complex schemes to "
"implement encryption and chunking, for example."
msgstr ""

#: ../Doc/library/asynchat.rst:121
msgid ""
"Takes a producer object and adds it to the producer queue associated with "
"the channel.  When all currently-pushed producers have been exhausted the "
"channel will consume this producer's data by calling its :meth:`more` method "
"and send the data to the remote endpoint."
msgstr ""

#: ../Doc/library/asynchat.rst:129
msgid ""
"Sets the terminating condition to be recognized on the channel.  ``term`` "
"may be any of three types of value, corresponding to three different ways to "
"handle incoming protocol data."
msgstr ""

#: ../Doc/library/asynchat.rst:134
msgid "term"
msgstr "*term*"

#: ../Doc/library/asynchat.rst:134
msgid "Description"
msgstr "Description"

#: ../Doc/library/asynchat.rst:136
msgid "*string*"
msgstr "*string*"

#: ../Doc/library/asynchat.rst:136
msgid ""
"Will call :meth:`found_terminator` when the string is found in the input "
"stream"
msgstr ""

#: ../Doc/library/asynchat.rst:139
msgid "*integer*"
msgstr "*integer*"

#: ../Doc/library/asynchat.rst:139
msgid ""
"Will call :meth:`found_terminator` when the indicated number of characters "
"have been received"
msgstr ""

#: ../Doc/library/asynchat.rst:143
msgid "``None``"
msgstr "``None``"

#: ../Doc/library/asynchat.rst:143
msgid "The channel continues to collect data forever"
msgstr "Le canal continue de collecter des informations indéfiniment"

#: ../Doc/library/asynchat.rst:147
msgid ""
"Note that any data following the terminator will be available for reading by "
"the channel after :meth:`found_terminator` is called."
msgstr ""

#: ../Doc/library/asynchat.rst:154
msgid "asynchat Example"
msgstr "Exemple asynchat"

#: ../Doc/library/asynchat.rst:156
msgid ""
"The following partial example shows how HTTP requests can be read with :"
"class:`async_chat`.  A web server might create an :class:"
"`http_request_handler` object for each incoming client connection. Notice "
"that initially the channel terminator is set to match the blank line at the "
"end of the HTTP headers, and a flag indicates that the headers are being "
"read."
msgstr ""

#: ../Doc/library/asynchat.rst:163
msgid ""
"Once the headers have been read, if the request is of type POST (indicating "
"that further data are present in the input stream) then the ``Content-Length:"
"`` header is used to set a numeric terminator to read the right amount of "
"data from the channel."
msgstr ""

#: ../Doc/library/asynchat.rst:168
msgid ""
"The :meth:`handle_request` method is called once all relevant input has been "
"marshalled, after setting the channel terminator to ``None`` to ensure that "
"any extraneous data sent by the web client are ignored. ::"
msgstr ""
