ó
è?F[c           @   s*   d  d l  m Z d e f d „  ƒ  YZ d S(   iÿÿÿÿ(   t   sixt   Queryc           B   s’   e  Z d Z d d d d  „ Z d „  Z d „  Z d „  Z d d „ Z e	 d „ Z
 d „  Z d „  Z d d	 „ Z d
 „  Z d „  Z e e e ƒ Z RS(   c         C   sm   | |  _  | |  _ d |  _ | r- | |  _ n |  j  j |  _ g  |  _ d  |  _ d  |  _ d  |  _	 | |  _
 d  S(   Ni    (   t   model_classt   limitt   offsett   managert   _managert   filterst   Nonet   selectt   sort_byt   rst
   next_token(   t   selfR   R   R   R   (    (    s0   lib/python2.7/site-packages/boto/sdb/db/query.pyt   __init__   s    							c         C   s   t  |  j j |  ƒ ƒ S(   N(   t   iterR   t   query(   R   (    (    s0   lib/python2.7/site-packages/boto/sdb/db/query.pyt   __iter__'   s    c         C   s.   |  j  d  k r! |  j ƒ  |  _  n  t |  j  ƒ S(   N(   t   __local_iter__R   R   t   next(   R   (    (    s0   lib/python2.7/site-packages/boto/sdb/db/query.pyR   *   s    c         C   s   |  j  j | | f ƒ |  S(   N(   R   t   append(   R   t   property_operatort   value(    (    s0   lib/python2.7/site-packages/boto/sdb/db/query.pyt   filter/   s    i    c         C   s   | |  _  | |  _ |  S(   sm   Not currently fully supported, but we can use this
        to allow them to set a limit in a chainable method(   R   R   (   R   R   R   (    (    s0   lib/python2.7/site-packages/boto/sdb/db/query.pyt   fetch3   s    		c         C   s(   |  j  j |  j |  j | |  j |  j ƒ S(   N(   R   t   countR   R   R
   R	   (   R   t   quick(    (    s0   lib/python2.7/site-packages/boto/sdb/db/query.pyR   :   s    c         C   s%   |  j  j |  j |  j |  j |  j ƒ S(   N(   R   t   _build_filter_partR   R   R
   R	   (   R   (    (    s0   lib/python2.7/site-packages/boto/sdb/db/query.pyt	   get_query=   s    c         C   s   | |  _  |  S(   N(   R
   (   R   t   key(    (    s0   lib/python2.7/site-packages/boto/sdb/db/query.pyt   order@   s    	c         C   sF   | s$ |  j  j ƒ  } | j ƒ  } n  x |  D] } | j | ƒ q+ W| S(   N(   R   t   get_xmlmanagert   new_doct   to_xml(   R   t   doct
   xmlmanagert   obj(    (    s0   lib/python2.7/site-packages/boto/sdb/db/query.pyR!   D   s    c         C   s'   |  j  r |  j  j S|  j r# |  j Sd  S(   N(   R   R   t   _next_tokenR   (   R   (    (    s0   lib/python2.7/site-packages/boto/sdb/db/query.pyt   get_next_tokenL   s
    	
	c         C   s   | |  _  d  S(   N(   R%   (   R   t   token(    (    s0   lib/python2.7/site-packages/boto/sdb/db/query.pyt   set_next_tokenS   s    N(   t   __name__t
   __module__R   R   R   R   R   R   R   t   TrueR   R   R   R!   R&   R(   t   propertyR   (    (    (    s0   lib/python2.7/site-packages/boto/sdb/db/query.pyR      s   							N(   t   boto.compatR    t   objectR   (    (    (    s0   lib/python2.7/site-packages/boto/sdb/db/query.pyt   <module>   s   