ó
H`¾Tc           @   sg   d  Z  d d l Z d d l m Z d d l m Z d d l Z d „  Z d e f d	 „  ƒ  YZ e Z	 d S(
   sD  
.. dialect:: mysql+gaerdbms
    :name: Google Cloud SQL
    :dbapi: rdbms
    :connectstring: mysql+gaerdbms:///<dbname>?instance=<instancename>
    :url: https://developers.google.com/appengine/docs/python/cloud-sql/developers-guide

    This dialect is based primarily on the :mod:`.mysql.mysqldb` dialect with
    minimal changes.

    .. versionadded:: 0.7.8


Pooling
-------

Google App Engine connections appear to be randomly recycled,
so the dialect does not pool connections.  The :class:`.NullPool`
implementation is installed within the :class:`.Engine` by
default.

iÿÿÿÿNi   (   t   MySQLDialect_mysqldbi   (   t   NullPoolc           C   s   t  j j d d ƒ j d ƒ S(   Nt   SERVER_SOFTWAREt    s   Development/(   t   ost   environt   gett
   startswith(    (    (    sh   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/dialects/mysql/gaerdbms.pyt   _is_dev_environment&   s    t   MySQLDialect_gaerdbmsc           B   s8   e  Z e d  „  ƒ Z e d „  ƒ Z d „  Z d „  Z RS(   c         C   sk   d d l  m } t ƒ  r- d d l  m } | S| j j d ƒ rS d d l m } | Sd d l m } | Sd  S(   Niÿÿÿÿ(   t   apiproxy_stub_map(   t   rdbms_mysqldbt   rdbms(   t   rdbms_apiproxy(   t   rdbms_googleapi(	   t   google.appengine.apiR
   R   R   t   apiproxyt   GetStubt!   google.storage.speckle.python.apiR   R   (   t   clsR
   R   R   R   (    (    sh   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/dialects/mysql/gaerdbms.pyt   dbapi,   s    	c         C   s   t  S(   N(   R   (   R   t   url(    (    sh   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/dialects/mysql/gaerdbms.pyt   get_pool_class@   s    c         C   s=   | j  ƒ  } t ƒ  s3 d | d <| j d | d <n  g  | f S(   NR   t   dsnt   instance(   t   translate_connect_argsR   t   query(   t   selfR   t   opts(    (    sh   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/dialects/mysql/gaerdbms.pyt   create_connect_argsE   s
    	
c         C   s\   t  j d ƒ j t | ƒ ƒ } | rB | j d ƒ pE | j d ƒ n d  } | rX t | ƒ Sd  S(   Ns   ^(\d+)L?:|^\((\d+)L?,i   i   (   t   ret   compilet   matcht   strt   groupt   Nonet   int(   R   t	   exceptionR    t   code(    (    sh   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/dialects/mysql/gaerdbms.pyt   _extract_error_codeN   s    *(   t   __name__t
   __module__t   classmethodR   R   R   R'   (    (    (    sh   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/dialects/mysql/gaerdbms.pyR	   *   s   		(
   t   __doc__R   t   mysqldbR    t   poolR   R   R   R	   t   dialect(    (    (    sh   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/dialects/mysql/gaerdbms.pyt   <module>   s   	,