Current File : //lib64/python3.6/__pycache__/asynchat.cpython-36.opt-1.pyc
3


 \@,�@sDdZddlZddlmZGdd�dej�ZGdd�d�Zdd	�ZdS)
a�A class supporting chat-style (command/response) protocols.

This class adds support for 'chat' style protocols - where one side
sends a 'command', and the other sends a response (examples would be
the common internet protocols - smtp, nntp, ftp, etc..).

The handle_read() method looks at the input stream for the current
'terminator' (usually '\r\n' for single-line responses, '\r\n.\r\n'
for multi-line output), calling self.found_terminator() on its
receipt.

for example:
Say you build an async nntp client using this class.  At the start
of the connection, you'll have self.terminator set to '\r\n', in
order to process the single-line greeting.  Just before issuing a
'LIST' command you'll set it to '\r\n.\r\n'.  The output of the LIST
command will be accumulated (using your own 'collect_incoming_data'
method) up to the terminator, and then control will be returned to
you - by calling your self.found_terminator() method.
�N)�dequec@s�eZdZdZdZdZdZdZd(dd�Zdd	�Z	d
d�Z
dd
�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�ZdS))�
async_chatz�This is an abstract class.  You must derive from this class, and add
    the two methods collect_incoming_data() and found_terminator()irzlatin-1NcCs(d|_g|_t�|_tjj|||�dS)N�)�ac_in_buffer�incomingr�
producer_fifo�asyncore�
dispatcher�__init__)�selfZsock�map�r
� /usr/lib64/python3.6/asynchat.pyr
Cszasync_chat.__init__cCstd��dS)Nzmust be implemented in subclass)�NotImplementedError)r�datar
r
r�collect_incoming_dataQsz async_chat.collect_incoming_datacCs|jj|�dS)N)r�append)rrr
r
r�_collect_incoming_dataTsz!async_chat._collect_incoming_datacCsdj|j�}|jdd�=|S)Nr)�joinr)r�dr
r
r�	_get_dataWszasync_chat._get_datacCstd��dS)Nzmust be implemented in subclass)r)rr
r
r�found_terminator\szasync_chat.found_terminatorcCsBt|t�r|jrt||j�}nt|t�r8|dkr8td��||_dS)zdSet the input delimiter.

        Can be a fixed string of any length, an integer, or None.
        rz-the number of received bytes must be positiveN)�
isinstance�str�use_encoding�bytes�encoding�int�
ValueError�
terminator)rZtermr
r
r�set_terminator_s
zasync_chat.set_terminatorcCs|jS)N)r)rr
r
r�get_terminatorjszasync_chat.get_terminatorcCs�y|j|j�}Wn:tk
r$dStk
rJ}z|j�dSd}~XnXt|t�rh|jrhtt|j	�}|j
||_
�xV|j
�r�t|j
�}|j�}|s�|j
|j
�d|_
qxt|t��r|}||kr�|j
|j
�d|_
|j||_n2|j
|j
d|��|j
|d�|_
d|_|j�qxt|�}|j
j|�}|dk�rp|dk�rR|j
|j
d|��|j
||d�|_
|j�qxt|j
|�}|�r�||k�r�|j
|j
d|��|j
|d�|_
Pqx|j
|j
�d|_
qxWdS)Nrr����)Zrecv�ac_in_buffer_size�BlockingIOError�OSError�handle_errorrrrrrr�lenr!rrrr�find�find_prefix_at_end)rrZwhyZlbr�nZterminator_len�indexr
r
r�handle_readrsR

	



zasync_chat.handle_readcCs|j�dS)N)�
initiate_send)rr
r
r�handle_write�szasync_chat.handle_writecCs|j�dS)N)�close)rr
r
r�handle_close�szasync_chat.handle_closecCs|t|tttf�stdt|���|j}t|�|krdx>tdt|�|�D]}|j	j
||||��qBWn|j	j
|�|j�dS)Nz#data argument must be byte-ish (%r)r)rr�	bytearray�
memoryview�	TypeError�type�ac_out_buffer_sizer(�rangerrr.)rrZsabs�ir
r
r�push�s
zasync_chat.pushcCs|jj|�|j�dS)N)rrr.)rZproducerr
r
r�push_with_producer�szasync_chat.push_with_producercCsdS)z4predicate for inclusion in the readable for select()r"r
)rr
r
r�readable�szasync_chat.readablecCs|jp|jS)z4predicate for inclusion in the writable for select())r�	connected)rr
r
r�writable�szasync_chat.writablecCs|jjd�dS)zAautomatically close this channel once the outgoing queue is emptyN)rr)rr
r
r�close_when_done�szasync_chat.close_when_donecCs�x|jo|j�r|jd}|s<|jd=|dkr<|j�dS|j}y|d|�}Wn8tk
r�|j�}|r||jj|�n|jd=wYnXt|t�r�|j	r�t
||j�}y|j|�}Wnt
k
r�|j�dSX|�r|t|�ks�|t|�k�r||d�|jd<n|jd=dSWdS)Nr)rr<r1r6r4�more�
appendleftrrrrr�sendr&r'r()r�firstZobsrZnum_sentr
r
rr.�s8
zasync_chat.initiate_sendcCs d|_|jdd�=|jj�dS)Nr)rrr�clear)rr
r
r�discard_buffersszasync_chat.discard_buffers)NN)�__name__�
__module__�__qualname__�__doc__r$r6rrr
rrrrr r!r-r/r1r9r:r;r=r>r.rDr
r
r
rr4s,
H(rc@seZdZddd�Zdd�ZdS)�simple_producer�cCs||_||_dS)N)r�buffer_size)rrrKr
r
rr
szsimple_producer.__init__cCsJt|j�|jkr6|jd|j�}|j|jd�|_|S|j}d|_|SdS)Nr)r(rrK)r�resultr
r
rr?szsimple_producer.moreN)rJ)rErFrGr
r?r
r
r
rrIs
rIcCs6t|�d}x$|r0|j|d|��r0|d8}qW|S)Nr")r(�endswith)ZhaystackZneedle�lr
r
rr*/sr*)rHr�collectionsrr	rrIr*r
r
r
r�<module>/s\ 
No se encontró la página – Alquiler de Limusinas, Autos Clásicos y Microbuses

Alquiler de Autos Clásicos para Sesiones Fotográficas: Estilo y Elegancia en Cada Toma

Si buscas darle un toque auténtico, elegante o retro a tus fotos, el alquiler de autos clásicos para sesiones fotográficas es la opción ideal. Este tipo de vehículos no solo son íconos del diseño automotriz, sino que se convierten en un elemento visual impactante que transforma cualquier sesión en una experiencia única.


¿Por Qué Usar Autos Clásicos en Sesiones Fotográficas?

1. Estética Visual Única

Un auto clásico aporta personalidad, historia y carácter a tus imágenes. Desde tomas urbanas hasta escenarios naturales, estos vehículos se adaptan a diferentes estilos visuales.

2. Ideal para Diversos Usos

  • Sesiones de boda y pre-boda
  • Campañas publicitarias
  • Editoriales de moda
  • Proyectos cinematográficos
  • Contenido para redes sociales

3. Variedad de Modelos

Desde convertibles vintage hasta muscle cars de los años 60 y 70, puedes elegir el modelo que mejor se ajuste a la estética de tu sesión.


Beneficios del Alquiler Profesional

  • Vehículos en excelente estado estético y mecánico
  • Choferes disponibles si se requiere movilidad
  • Asesoría para elegir el modelo adecuado
  • Posibilidad de ambientación adicional (flores, letreros, decoración retro)

Conclusión: Captura Momentos con Estilo

Un auto clásico puede transformar tu sesión fotográfica en una obra de arte visual. No importa el propósito: el estilo, la elegancia y el impacto están garantizados.


📸 ¡Reserva tu auto clásico y crea fotos memorables!

Consulta disponibilidad y haz de tu sesión algo realmente especial. ¡Llama la atención con cada toma!

Not Found

404

Sorry, the page you’re looking for doesn’t exist.