Your IP : 216.73.216.213
�(Z+ � @ s� d d l m Z m Z d d g Z Gd d � d � Z Gd d � d � Z y d d l Z e j Z Wn e k
r{ e Z Yn Xd S) � )�
ProtocolError�
ReplyError�Reader�PyReaderc @ sa e Z d Z d Z e e d d d � Z d d d d � Z d d
� Z d d � Z d
d � Z
d S)r znPure-Python Redis protocol parser that follows hiredis.Reader
interface (except setmaxbuf/getmaxbuf).
Nc C sI t | � s t d � � t | � s0 t d � � t | | | � | _ d S)NzExpected a callable)�callable� TypeError�Parser�_parser)�self�
protocolError�
replyError�encoding� r �@/opt/alt/python35/lib/python3.5/site-packages/aioredis/parser.py�__init__ s
zPyReader.__init__� r c C s� | d k r t | � | } | d k s4 | d k r@ t d � � | | t | � k rb t d � � | j j j | | | | � � d S)zFeed data to parser.r r znegative inputz input is larger than buffer sizeN���)�len�
ValueErrorr �buf�extend)r
�data�o�lr r r �feed s z
PyReader.feedc C s
| j j � S)z�Get parsed value or False otherwise.
Error replies are return as replyError exceptions (not raised).
Protocol errors are raised.
)r � parse_one)r
r r r �gets s z
PyReader.getsc C s d S)zNo-op.Nr )r
�sizer r r � setmaxbuf&