ó
H`¾Tc           @   sa   d  d l  m Z d   Z d   Z y d d l m Z Wn$ e k
 r\ e   j e    n Xd S(   i   (   t   utilc            s   t  j   f d    } | S(   sĖ   Decorator, memoize a function in a connection.info stash.

    Only applicable to functions which take no arguments other than a
    connection.  The memo will be stored in ``connection.info[key]``.
    c            sN   | j    } y | j   SWn, t k
 rI |  | |  | j   <} | SXd  S(   N(   t   connectt   infot   KeyError(   t   fnt   selft
   connectiont   val(   t   key(    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/engine/util.pyt	   decorated   s    (   R    t	   decorator(   R   R	   (    (   R   s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/engine/util.pyt   connection_memoize   s    	c          C   s   d   }  t    S(   Nc         S   są   |  s | r | g Sg  SnĀ t  |   d k rŖ |  d } t | t t f  r | sy t | d d  r} t | d d  r} | S| g SqÜ t | d  r | g S| g g Sn2 t |  d d  rÕ t |  d d  rÕ |  S|  g Sd S(   s  Given arguments from the calling form *multiparams, **params,
        return a list of bind parameter structures, usually a list of
        dictionaries.

        In the case of 'raw' execution which accepts positional parameters,
        it may be a list of tuples or lists.

        i   i    t   __iter__t   stript   keysN(   t   lent
   isinstancet   listt   tuplet   hasattr(   t   multiparamst   paramst   zero(    (    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/engine/util.pyt   _distill_params   s$    


(   t   locals(   R   (    (    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/engine/util.pyt   py_fallback   s    	'i’’’’(   R   N(	   t    R    R   R   t   sqlalchemy.cutilsR   t   ImportErrort   globalst   update(    (    (    s\   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/engine/util.pyt   <module>   s   		)