# Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. # docs-es@python.org / # https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get # the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-25 19:47+0200\n" "PO-Revision-Date: 2021-08-04 13:58+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.10.3\n" #: ../Doc/library/asynchat.rst:2 msgid ":mod:`asynchat` --- Asynchronous socket command/response handler" msgstr "" ":mod:`asynchat` --- Gestor de comandos/respuestas en *sockets* asíncronos" #: ../Doc/library/asynchat.rst:11 msgid "**Source code:** :source:`Lib/asynchat.py`" msgstr "**Código fuente:** :source:`Lib/asynchat.py`" #: ../Doc/library/asynchat.rst:17 msgid "" "The :mod:`asynchat` module is deprecated (see :pep:`PEP 594 <594#asynchat>` " "for details). Please use :mod:`asyncio` instead." msgstr "" #: ../Doc/library/asynchat.rst:22 msgid "" "This module exists for backwards compatibility only. For new code we " "recommend using :mod:`asyncio`." msgstr "" "Este módulo existe únicamente por motivos de retrocompatibilidad. Para nuevo " "código, es recomendable usar :mod:`asyncio`." #: ../Doc/library/asynchat.rst:25 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 "" "Este módulo se construye en la infraestructura de :mod:`asyncore`, " "simplificando los clientes y servidores asíncronos y facilitando la gestión " "de protocolos cuyos elementos son terminados por cadenas de texto " "arbitrarias, o que son de longitud variable. :mod:`asynchat` define la clase " "abstracta :class:`async_chat` de la que se debe heredar, implementado los " "métodos :meth:`collect_incoming_data` y :meth:`found_terminator`. Utiliza el " "mismo bucle asíncrono que :mod:`asyncore`, y los dos tipos de canal, :class:" "`asyncore.dispatcher` y :class:`asynchat.async_chat`, se pueden mezclar " "libremente en el mapa de canal. Normalmente un canal de servidor :class:" "`asyncore.dispatcher` genera nuevos objetos de canal :class:`asynchat." "async_chat`, al recibir peticiones de conexión entrantes." msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr "" #: ../Doc/library/cpython/Doc/includes/wasm-notavail.rst:5 msgid "" "This module does not work or is not available on WebAssembly platforms " "``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " "more information." msgstr "" #: ../Doc/library/asynchat.rst:41 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 "" "Esta clase es una subclase abstracta de :class:`asyncore.dispatcher`. Para " "el uso práctico del código se debe heredar :class:`async_chat`, definiendo " "los métodos significativos :meth:`collect_incoming_data` y :meth:" "`found_terminator`. Los métodos de :class:`asyncore.dispatcher` se pueden " "utilizar, aunque no todos tienen sentido en un contexto de mensaje/respuesta." #: ../Doc/library/asynchat.rst:48 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 "" "Al igual que :class:`asyncore.dispatcher`, :class:`async_chat` define una " "serie de eventos generados por un análisis sobre las condiciones de " "_socket_, tras una llamada a :c:func:`select`. Una vez que el bucle de " "_polling_ haya sido iniciado, los métodos de los objetos :class:`async_chat` " "son llamados por el _framework_ que procesa los eventos, sin que tengamos " "que programar ninguna acción a mayores." #: ../Doc/library/asynchat.rst:54 msgid "" "Two class attributes can be modified, to improve performance, or possibly " "even to conserve memory." msgstr "" "Se pueden modificar dos atributos de clase, para mejorar el rendimiento o " "incluso hasta para ahorrar memoria." #: ../Doc/library/asynchat.rst:60 msgid "The asynchronous input buffer size (default ``4096``)." msgstr "El tamaño del _buffer_ de entrada asíncrona (por defecto ``4096``)." #: ../Doc/library/asynchat.rst:65 msgid "The asynchronous output buffer size (default ``4096``)." msgstr "El tamaño del _buffer_ de salida asíncrona (por defecto ``4096``)." #: ../Doc/library/asynchat.rst:67 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 "" "Al contrario que :class:`asyncore.dispatcher`, :class:`async_chat` permite " "definir una cola :abbr:`FIFO (first-in, first-out)` de productores " "(*producers*). Un productor necesita tener un solo método, :meth:`more`, que " "debe devolver los datos que se vayan a transmitir en el canal. Cuando el " "método :meth:`more` devuelve un objeto bytes vacío, significa que el " "productor ya se ha agotado (por ejemplo, que no contiene más datos). En este " "punto, el objeto :class:`async_chat` elimina el productor de la cola y " "empieza a usar el siguiente productor, si existiese. Cuando la cola de " "productores está vacía, el método :meth:`handle_write` no hace nada. El " "método :meth:`set_terminator` de los objetos de canal se utiliza para " "describir cómo reconocer, en una transmisión entrante desde el punto remoto, " "el final de esta transmisión o un punto de ruptura importante en la misma." #: ../Doc/library/asynchat.rst:80 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 "" "Para construir una subclase funcional de :class:`async_chat`, los métodos de " "entrada :meth:`collect_incoming_data` and :meth:`found_terminator` deben " "tratar los datos que el canal recibe asíncronamente. Los métodos se " "describen a continuación." #: ../Doc/library/asynchat.rst:88 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 "" "Añade un ``None`` en la cola de productores. Cuando este productor se extrae " "de la cola, hace que el canal se cierre." #: ../Doc/library/asynchat.rst:94 msgid "" "Called with *data* holding an arbitrary amount of received data. The " "default method, which must be overridden, raises a :exc:" "`NotImplementedError` exception." msgstr "" "Llamado con *data*, conteniendo una cantidad arbitraria de datos recibidos. " "El método por defecto, que debe ser reemplazado, lanza una excepción :exc:" "`NotImplementedError`." #: ../Doc/library/asynchat.rst:101 msgid "" "In emergencies this method will discard any data held in the input and/or " "output buffers and the producer queue." msgstr "" "En situaciones de emergencia, este método descarta cualquier dato albergado " "en los búfers de entrada y/o salida y en la cola del productor." #: ../Doc/library/asynchat.rst:107 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 "" "Llamado cuando el flujo de datos de entrada coincide con la condición de " "finalización establecida por :meth:`set_terminator`. El método por defecto, " "que debe ser reemplazado, lanza una excepción :exc:`NotImplementedError`. " "Los datos de entrada en búfer deberían estar disponibles a través de un " "atributo de instancia." #: ../Doc/library/asynchat.rst:115 msgid "Returns the current terminator for the channel." msgstr "Retorna el terminador actual del canal." #: ../Doc/library/asynchat.rst:120 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 "" "Añade datos en la cola del canal para asegurarse de su transmisión. Esto es " "todo lo que se necesita hacer para que el canal envíe los datos a la red, " "aunque es posible usar productores personalizados en esquemas más complejos " "para implementar características como encriptación o fragmentación." #: ../Doc/library/asynchat.rst:128 #, fuzzy 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 "" "Obtiene un objeto productor y lo añade a la cola de productores asociada al " "canal. Cuando todos los productores añadidos actualmente han sido agotados, " "el canal consumirá los datos de este productor llamando al método :meth:" "`more`, y enviando los datos al punto remoto." #: ../Doc/library/asynchat.rst:136 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 "" "Establece la condición de finalización que será reconocida en este canal. " "``term`` puede ser uno de los tres tipos de valores posibles, " "correspondientes a tres formas diferentes de tratar los datos de protocolo " "entrantes." #: ../Doc/library/asynchat.rst:141 msgid "term" msgstr "término" #: ../Doc/library/asynchat.rst:141 msgid "Description" msgstr "Descripción" #: ../Doc/library/asynchat.rst:143 msgid "*string*" msgstr "*string*" #: ../Doc/library/asynchat.rst:143 msgid "" "Will call :meth:`found_terminator` when the string is found in the input " "stream" msgstr "" "Llamará a :meth:`found_terminator` cuando la cadena de caracteres se " "encuentre en el flujo de datos de entrada" #: ../Doc/library/asynchat.rst:146 msgid "*integer*" msgstr "*integer*" #: ../Doc/library/asynchat.rst:146 msgid "" "Will call :meth:`found_terminator` when the indicated number of characters " "have been received" msgstr "" "Llamará a :meth:`found_terminator` cuando el número de caracteres indicado " "se haya recibido" #: ../Doc/library/asynchat.rst:150 msgid "``None``" msgstr "``None``" #: ../Doc/library/asynchat.rst:150 msgid "The channel continues to collect data forever" msgstr "El canal continúa recopilando datos indefinidamente" #: ../Doc/library/asynchat.rst:154 msgid "" "Note that any data following the terminator will be available for reading by " "the channel after :meth:`found_terminator` is called." msgstr "" "Téngase en cuenta que cualquier dato posterior al terminador estará " "disponible para ser leído por el canal después de llamar a :meth:" "`found_terminator`." #: ../Doc/library/asynchat.rst:161 msgid "asynchat Example" msgstr "Ejemplo de asynchat" #: ../Doc/library/asynchat.rst:163 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 "" "El siguiente ejemplo parcial muestra cómo se pueden leer peticiones HTTP " "con :class:`async_chat`. Un servidor web podría crear un objeto :class:" "`http_request_handler` para cada conexión de cliente entrante. Téngase en " "cuenta que, inicialmente, el terminador del canal está configurado para " "detectar la línea vacía presente al final de las cabeceras HTTP, y una " "bandera indica que las cabeceras se están leyendo." #: ../Doc/library/asynchat.rst:170 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 "" "Una vez que las cabeceras se hayan leído, si la petición es de tipo POST (lo " "cual indica que hay más datos disponibles en el flujo de entrada), la " "cabecera ``Content-Length:`` se utiliza para establecer un terminador " "numérico para leer la cantidad de datos correcta en el canal." #: ../Doc/library/asynchat.rst:175 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 "" "El método :meth:`handle_request` se llama una vez todas las entradas " "relevantes han sido serializadas (*marshalled*), tras establecer el " "terminador del canal a ``None`` para asegurarse de que cualquier dato " "extraño enviado por el cliente web es ignorado. ::" #~ msgid "Please use :mod:`asyncio` instead." #~ msgstr "Usar :mod:`asyncio` en su lugar."