%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/
Upload File :
Create Path :
Current File : //opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyc

�
��4]c@sdZddlmZddlmZddlmZddlmZddlmZdd	lmZ	dd
lm
Z
ddlmZiZ
defd
��YZdefd��YZdefd��YZe�defd��YZe�defd��YZe�dS(sqStrategies for creating new instances of Engine types.

These are semi-private implementation classes which provide the
underlying behavior for the "strategy" keyword argument available on
:func:`~sqlalchemy.engine.create_engine`.  Current available options are
``plain``, ``threadlocal``, and ``mock``.

New strategies can be added via new ``EngineStrategy`` classes.
i����(t
attrgetteri(tbase(tthreadlocal(turli(tevent(tpool(tutil(tschematEngineStrategycBs eZdZd�Zd�ZRS(s�An adaptor that processes input arguments and produces an Engine.

    Provides a ``create`` method that receives input arguments and
    produces an instance of base.Engine or a subclass.

    cCs|t|j<dS(N(t
strategiestname(tself((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyt__init__(scOs
t��dS(s/Given arguments, returns a new Engine instance.N(tNotImplementedError(Rtargstkwargs((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pytcreate+s(t__name__t
__module__t__doc__RR(((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyR s	tDefaultEngineStrategycBseZdZd�ZRS(s#Base class for built-in strategies.cs�tj|�}|j��}|jjdd��jdd�|j�}|j|���jdt�r�d��fd�}n	�j}i}x6t	j
��D]%}|�kr�||�||<q�q�W�jdd�}	|	dkr@i}
x9t	j�j�D]%}|�kr||�|
|<qqW�j|
�}	n|	|d<x|D]}|j
�|�qQW�|���j|�\���j|di��t���|dd�}|dkr�d���fd	�}
|d
|
�}|dd�}|dkr�j|�}ni�d6}i	d
d6dd6dd6dd6dd6dd6dd6dd6dd6}xHt	j
|�D]7}|j||�}|�kr||�||<qqWx|D]}|j||�q�W|||�}n9t|tjj�r|j���}n|}�|_|j}i}x6t	j
|�D]%}|�krE||�||<qEqEW�jdt�}�r�td d!jd"��D���jj|jj|jf��n||�||��|rZ�j ���r,�fd#�}t!j"|d$|�t!j"|d%|�n��fd&�}t!j"|d$|d't�n�j#��|�k	r�|j#��nx|D]}|j#��q�W�S((Ntplugintpluginst_coerce_configcs;�j||�}|�jkr7�j||�}n|S(N(tpoptengine_config_types(tkeytdefaulttvalue(tdialect_clsR(sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyt	pop_kwargBstmoduletdbapitconnect_argsRcsX�jrHx<�jjD]+}|�|���}|dk	r|SqWn�j���S(N(t_has_eventstdispatcht
do_connecttNonetconnect(tconnection_recordtfnt
connection(tcargstcparamstdialect(sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyR&js	tcreatort	poolclassR,tpool_logging_nametlogging_namet	echo_pooltechotpool_timeoutttimeouttpool_recycletrecycletpool_eventsteventstpool_threadlocaltuse_threadlocaltpool_reset_on_returntreset_on_returnt
pool_pre_pingtpre_pingt
pool_use_lifotuse_lifot_initializes�Invalid argument(s) %s sent to create_engine(), using configuration %s/%s/%s.  Please check that the keyword arguments are appropriate for this combination of components.t,css|]}d|VqdS(s'%s'N((t.0tk((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pys	<genexpr>�scs0t|d|�}|dkr"dS�|�dS(Nt_sqla_unwrap(tgetattrR%(tdbapi_connectionR'tconn(t
do_on_connect(sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyt
on_connect�s
t
first_connectR&csKtj�d|dt�}tj�|_�j|��j|j�dS(NR)R"(	Rt
ConnectiontFalseRt
immutabledictt_execution_optionst
initializetdo_rollbackR)(RGR'tc(R,tengine(sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyRK�s

tonce($Rtmake_urlt_instantiate_pluginstqueryRR%t_get_entrypointtget_dialect_clsRMRtget_cls_kwargstget_func_kwargsR thandle_dialect_kwargstcreate_connect_argstupdatetlisttget_pool_classtgetthandle_pool_kwargst
isinstancetpoollibtdbapi_proxyt_DBProxytget_poolt_dialectt
engine_clstTruet	TypeErrortjoint	__class__RRJRtlistentengine_created(Rtname_or_urlRtuRt
entrypointRtdialect_argsRDR t
dbapi_argsRRR&R-R.t	pool_argst	translatettktengineclasstengine_argsRARJRK((R*R+R,RRIRSRsO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyR4s�	





				

(RRRR(((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyR1stPlainEngineStrategycBseZdZdZejZRS(s*Strategy for configuring a regular Engine.tplain(RRRR
RtEngineRi(((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyRz�stThreadLocalEngineStrategycBseZdZdZejZRS(s=Strategy for configuring an Engine with threadlocal behavior.R(RRRR
RtTLEngineRi(((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyR}�stMockEngineStrategycBs6eZdZdZd�Zdejfd��YZRS(s�Strategy for configuring an Engine-like object with mocked execution.

    Produces a single mock Connectable object which dispatches
    statement execution to a passed-in function.

    tmockc	Ksytj|�}|j�}i}x9tj|�D](}||kr1|j|�||<q1q1W||�}tj||�S(N(RRUtget_dialectRRZRRtMockConnection(	RRptexecutorRRqRRsRDR,((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyR�sR�cBs�eZd�Zed��Zeed��Zed��Zej	d�Zd�Zd�Z
d�Zd�Zd�Zd	�Zdd
�Zd�ZRS(
cCs||_||_dS(N(Rhtexecute(RR,R�((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyRs	cCs|S(N((ts((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyt<lambda>
tRhcCs
|jjS(N(RhR
(R�((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyR�R�cKs|S(N((RR((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pytcontextual_connectscKs|S(N((RR((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyR&scKs|S(N((Rtkw((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pytexecution_optionsscKs|jj||d||�S(NRS(Rhtcompiler(Rt	statementt
parametersR((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyR�s	cKs=t|d<ddlm}|j|j||�j|�dS(Nt
checkfirsti����(tddl(RMtsqlalchemy.engineR�tSchemaGeneratorR,ttraverse_single(RtentityRR�((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyRs
cKs=t|d<ddlm}|j|j||�j|�dS(NR�i����(R�(RMR�R�t
SchemaDropperR,R�(RR�RR�((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pytdrop&s
cKs*t|d<||j||�j|�dS(NR�(RMR,R�(RtvisitorcallabletelementR)R((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyt_run_visitor.s
cOs
t��dS(N(R
(Rtobject_tmultiparamstparams((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyR�6sN(RRRtpropertyRSRR,R
Rt_schema_getterR%tschema_for_objectR�R&R�R�RR�R�R�(((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyR�s								(RRRR
RRtConnectableR�(((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyR�s	N(RtoperatorRR�RRRRRRdRtsqlRR	tobjectRRRzR}R(((sO/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.pyt<module>s"�P

Zerion Mini Shell 1.0