HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyc
�
���ec@s�ddlZddlZddlmZddlmZddlmZddlmZddlmZddl	m
Z
dd	lmZd
dlmZd
dlm
Z
d
d
lmZd
dlmZdZdZdZdZdZdZ	d�Zd�Zd�Zd�Zdded�Zd�Zd�Zdefd��YZdefd��YZ defd��YZ!defd��YZ"defd��YZ#dej$ddd �Z%d!efd"��YZ&d#efd$��YZ'd%efd&��YZ(d'efd(��YZ)d)efd*��YZ*d+efd,��YZ+d-e#efd.��YZ,d/e,efd0��YZ-d1efd2��YZ.d3e'e#efd4��YZ/d5e'e#efd6��YZ0d7e'efd8��YZ1d9e&efd:��YZ2d;e"efd<��YZ3d=e'efd>��YZ4d?e'e#eej5fd@��YZ6dAe6efdB��YZ7dCe6efdD��YZ8dEe"efdF��YZ9dGefdH��YZ:dIe!efdJ��YZ;dKe e'efdL��YZ<dMe e"efdN��YZ=dOe=fdP��YZ>dQefdR��YZ?dSe,fdT��YZ@dUe)e'efdV��YZAdWefdX��YZBdYe'efdZ��YZCd[e&efd\��YZDd]eBfd^��YZEd_efd`��YZFdaefdb��YZGdce)e&efdd��YZHdeeHfdf��YZIdgeIfdh��YZJdie)e&efdj��YZKdke&efdl��YZLdme&efdn��YZMiZNxveOe�D]hZPeQeeP�ZRePjSdo�r�ePjTdodp�ZPePeU�kr�eU�ePeR�ZVeVeNeR<q�q�q�WdS(qi����Ni(t	operators(troles(tvisitors(tExecutableOption(tOptions(tHasCacheKey(t	Visitablei(texc(t
inspection(tutil(tcollections_abccCs't|ttjf�o&t|d�S(shReturn whether or not the element is a "literal" in the context
    of a SQL expression construct.

    t__clause_element__(t
isinstanceRtschematSchemaEventTargetthasattr(telement((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyt_is_literal scCs�t|tj�rJt|t�rJx%|D]}t|�s)tSq)WtSnt|ttj	t
ttj
jf�o�t|d�o�t|t�p�t|t
�S(sReturn whether or not the element is a "literal" in the context
    of a SQL expression construct.

    does a deeper more esoteric check than _is_literal.   is used
    for lambda elements that have to distinguish values that would
    be bound vs. not without any context.

    R(RR
tSequencetstrt_deep_is_literaltFalsetTrueRR
RRRR	tlanghelperst_symbolRttypet
issubclass(Rtelem((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR/s 


cCstj|d||f�S(Ns�.. warning:: The %s argument to %s can be passed as a Python string argument, which will be treated as **trusted SQL text** and rendered as given.  **DO NOT PASS UNTRUSTED INPUT TO THIS PARAMETER**.(R	tadd_parameter_text(t	paramnametmeth_rstt	param_rst((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyt_document_text_coercionUscCsq|rit|dtttf�rit|�dkrit|dt�ratjd||f�n|dS|SdS(Niis�The "%s" argument to %s(), when referring to a sequence of items, is now passed as a series of positional elements, rather than as a list. (RtlisttsettdicttlenR	twarn_deprecated_20(tattrnametfnnametargs((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyt!_expression_collection_was_a_listcs4cKs�|jrFt|�rFt|d�rFtj||tj|�d|�St|}|}t|tj	t
jt
jtj
f�s�d}|jr�|j||�}q�|}t}	|jr�t||�r�t|d�r�t}	n>x;t|d�rt}	t|dt�s|j�}q�Pq�W|	s�|jr�tj|dt�}
|
dk	r�|r[|
jny|
j�}Wq�tk
r�|j||�q�Xq�n|dkr�|j|d||�}q�q�|}n*t|tj
�r�|j|�}n|}|dk	r |jr |jr |j|_n|j|jj krc|j!r_|j!|d|d||�}n|S|j"||d||�SdS(Nt__code__tapply_propagate_attrsRtis_clause_elementtraiseerrtargnametoriginal_element(#t
allows_lambdatcallableRtlambdast
LambdaElementt
LambdaOptionst_impl_lookupRtelementst
ClauseElementR
t
SchemaItemtFetchedValuet	PyWrappertNonet_resolve_literal_onlyt_literal_coercionRt$_skip_clauseelement_for_target_matchRtgetattrRt_use_inspectionRtinspectt
_post_inspecttAttributeErrort_raise_for_expectedt_sa__py_wrapper_literalt_propagate_attrst_role_classt	__class__t__mro__t_post_coerciont_implicit_coercions(troleRR+R.tpost_inspecttkwtimplR/tresolvedR,tinsp((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pytexpectpsz		
				

	
		cKst|d<t|||�S(Ntas_key(RRR(RLRRN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyt
expect_as_key�s
ccs�x�|D]�}d}d}t||�}t|tj�rG|}}n6g}tj|ii|jd6�|r}|d}n|dk	r�|n|}||||fVqWdS(Ntcolumni(R;RRRR	tstring_typesRttraversetappend(RLtexpressionstexprtstrnameRURPtcolstadd_element((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyt expect_col_expression_collection�s


tRoleImplcBsVeZdZd�ZdZeZeZd�Z	dd�Z
dddddd�ZRS(	RGtnameR@cKs
t��dS(N(tNotImplementedError(tselfRRN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR=�scCs.||_|j|_t|tj�|_dS(N(RGt
_role_nameR`RRtUsesInspectionR@(Rbt
role_class((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyt__init__s	cKs|j|||�dS(N(RD(RbRRPR.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRKsc	Cs�|dk	r+||k	r+d||f}nt|�}|rVd|j||f}nd|j|f}|r�|d|7}ntjtj|d|�d|�dS(Ns!%r object resolved from %r objects$%s expected for argument %r; got %s.s%s expected, got %s.t tcodetreplace_context(R;treprR`R	traise_Rt
ArgumentError(	RbRR.RPtadviceRhterrtgottmsg((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRDs	
(RGR`R@N(t__name__t
__module__t	__slots__R=R;RJRR<R>RfRKRD(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR_�s		t_DeannotatecBseZdZd�ZRS(cKsddlm}||�S(Ni(t_deep_deannotate(R	Ru(RbRPRNRu((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRJ(s((RqRrRsRJ(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRt%st_StringOnlycBseZdZeZRS(((RqRrRsRR<(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRv.st_ReturnsStringKeycBs#eZdZdd�Zd�ZRS(cKs-t|tj�r|S|j|||�dS(N(RR	RVRD(RbR/RPR.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRK7scKs|S(N((RbRRN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR=?s(N(RqRrRsR;RKR=(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRw4st_ColumnCoercionscBs#eZdZd�Zdd�ZRS(cCstjd�dS(Ns|implicitly coercing SELECT object to scalar subquery; please use the .scalar_subquery() method to produce a scalar subquery.(R	twarn(Rb((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyt"_warn_for_scalar_subquery_coercionFscKs�t|dt�s(|j|||�n{|jrE|j�|j�S|jrwt|tj	�rw|j�|j
j�S|jjr�|j
r�|S|j|||�dS(NR,(R?RRDt_is_select_statementRztscalar_subqueryt_is_from_clauseRt
selectabletSubqueryRRGR0t_is_lambda_element(RbR/RPR.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRKMs	



(N(RqRrRsRzR;RK(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRxCs	cCsbtj|ditj|�d6|r2d|fndd6|rId|ndd6�d|�dS(	Nsc%(extra)sTextual SQL expression %(expr)r %(argname)sshould be explicitly declared as text(%(expr)r)RZsfor argument %stR.s%s textraRi(R	Rktellipses_string(RR.texc_clsR�Rn((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyt_no_text_coercion`st_NoTextCoercioncBseZdZdd�ZRS(cKsKt|tj�r7ttj|j�r7t||�n|j||�dS(N(	RR	RVRR6t
TextClauseRGR�RD(RbRR.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR=ts(N(RqRrRsR;R=(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�qst_CoerceLiteralscBs8eZdZeZeZeZdd�Zdd�Z	RS(cCs
t||�S(N(R�(RbRR.((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyt_text_coercion�scKs�t|tj�rP|jr:|dkr:tjddt�S|j|||�Sn|jr�|dkrotj
�S|tkr�tj�S|tkr�tj
�Sn|jr�t|tj�r�tjt|�dt�S|j||�dS(Nt*t
is_literal(RR	RVt_coerce_starR6tColumnClauseRR�t_coerce_constsR;tNullRtFalse_tTrue_t_coerce_numericstnumberstNumberRRD(RbRR.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR=�s	


(N(
RqRrRsRR�R�R�R;R�R=(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�}stLiteralValueImplcBs)eZeZdd�Zddd�ZRS(cKsGt|�s+|j|d|d||�ntjd|d|dt�S(NRPR.ttype_tunique(RRDR6t
BindParameterR;R(RbRRPR.R�RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRK�scKs|S(N((RbRR.R�RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR=�sN(RqRrRR<R;RKR=(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��s	t_SelectIsNotFromcBseZdZddd�ZRS(cKs�t|tj�s$t|tj�rOd|dk	r<|jn|f}d}n
d}}tt|�j|d|d|d|d||�S(NsETo create a FROM clause from a %s object, use the .subquery() method.t89veR.RPRmRh(RRtSelectStatementRoleR;RHtsuperR�RD(RbRR.RPRNRmRh((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRD�s	
(N(RqRrRsR;RD(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��stHasCacheKeyImplcBs#eZdZdd�Zd�ZRS(cKs-t|tj�r|S|j|||�dS(N(Rt
traversalsRRD(RbR/RPR.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRK�scKs|S(N((RbRRN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR=�s(N(RqRrRsR;RKR=(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��stExecutableOptionImplcBs#eZdZdd�Zd�ZRS(cKs*t|t�r|S|j|||�dS(N(RRRD(RbR/RPR.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRK�scKs|S(N((RbRRN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR=�s(N(RqRrRsR;RKR=(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��stExpressionElementImplcBs2eZdZddded�Zddd�ZRS(cKs�|dkr3|r3|dks)|jr3tj�Sy#tj|||dtd|�SWn)tjk
r�}|j|d|�nXdS(NR�t_is_crudRn(	R;tshould_evaluate_noneR6R�R�RRRlRD(RbRR`R�R.tis_crudRNRn((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR=�s
c	KsLt|tj�rd}nd}tt|�j|d|d|d||�S(Ns`To create a column expression from a FROM clause row as a whole, use the .table_valued() method.R.RPRm(RRtAnonymizedFromClauseRoleR;R�R�RD(RbRR.RPRNRm((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRD�s
	(N(RqRrRsR;RR=RD(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��stBinaryElementImplcBs)eZdZddd�Zdd�ZRS(cKsJy|j||d|�SWn)tjk
rE}|j|d|�nXdS(NR�Rn(t_bind_paramRRlRD(RbRRZtoperatortbindparam_typeR.RNRn((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR=scKsD|jjr@|jjr@|j|dk	r1|n|j�}n|S(N(Rt_isnullt_with_binary_element_typeR;(RbRPRZR�RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRJs!(N(RqRrRsR;R=RJ(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�
st
InElementImplcBs5eZdZdd�Zd�Zd�Zd�ZRS(cKs�|jrmt|tj�rG|jjrG|j|�|j|j|�S|j|�|j|j�|�Sn|j	|||�dS(N(
R}RR~tAliasRR{t_warn_for_implicit_coercionRJtselectRD(RbR/RPR.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRK!s	

cCstjd|jj�dS(Ns_Coercing %s object into a select() for use in IN(); please pass a select() construct explicitly(R	RyRHRq(RbR((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�1scKst|tj�rt|tj�ri}t|�}xk|D]c}t|�s�t|tj�su|j	||�q�|||<q>|dkr>tj�||<q>q>W|r�tj
g|D].}||kr�||n|j||�^q��S|j||dt�Sn|j	||�dS(Nt	expanding(RR
tIterableR	RVR!RRtColumnOperatorsRDR;R6R�t
ClauseListR�R(RbRRZR�RNtnon_literal_expressionsto((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR=8s"

9cKs�|jr|j�St|tj�rQt|j�dksAt�|jd|�St|tj	�r�|j
dt�}t|_||_
|S|SdS(Nitagainsttmaintain_key(R{R|RR6R�R$tclausestAssertionErrort
self_groupR�t_cloneRR�t	expand_op(RbRRZR�RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRJVs	
		(N(RqRrRsR;RKR�R=RJ(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�s
		tOnClauseImplcBs>eZdZeZded�Zded�Zdd�Z	RS(cKsE|rt|t�r|Stt|�j||d|d||�SdS(NR.tlegacy(RRR�R�RK(RbR/RPR.R�RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRKnscCs?|r&t|t�r&tjd�|Stt|�j||�S(Ns�Using strings to indicate relationship names in Query.join() is deprecated and will be removed in SQLAlchemy 2.0.  Please use the class-bound attribute directly.(RRR	R%R�R�R�(RbRR.R�((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�|s
cKst|tj�r|S|S(N(RRtJoinTargetRole(RbRPR/RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRJ�s(N(
RqRrRsRR�R;RRKR�RJ(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�is

tWhereHavingImplcBs eZdZeZdd�ZRS(cCs
t||�S(N(R�(RbRR.((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��s(N(RqRrRsRR�R;R�(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��stStatementOptionImplcBs eZdZeZdd�ZRS(cCs
tj|�S(N(R6R�(RbRR.((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��s(N(RqRrRsRR�R;R�(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��stColumnArgumentImplcBseZdZRS(((RqRrRs(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��stColumnArgumentOrKeyImplcBseZdZRS(((RqRrRs(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��stStrAsPlainColumnImplcBseZdZdd�ZRS(cCs
tj|�S(N(R6R�(RbRR.((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��s(N(RqRrRsR;R�(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��stByOfImplcBs eZdZeZdd�ZRS(cCs
tj|�S(N(R6t_textual_label_reference(RbRR.((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��s(N(RqRrRsRR�R;R�(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��stOrderByImplcBseZdZd�ZRS(cKs6t||j�r.|jdk	r.tj|�S|SdS(N(RRGt_order_by_label_elementR;R6t_label_reference(RbRPRN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRJ�s
((RqRrRsRJ(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��stGroupByImplcBseZdZdd�ZRS(cKs*t|tj�r"tj|j�S|SdS(N(RRtStrictFromClauseRoleR6R�tc(RbR/RPR.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRK�s(N(RqRrRsR;RK(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��st
DMLColumnImplcBseZdZed�ZRS(cKs|r
|jS|SdS(N(tkey(RbRRSRN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRJ�s((RqRrRsRRJ(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��st
ConstExprImplcBseZdZdd�ZRS(cKsV|dkrtj�S|tkr,tj�S|tkrBtj�S|j||�dS(N(R;R6R�RR�RR�RD(RbRR.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR=�s


(N(RqRrRsR;R=(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��stTruncatedLabelImplcBs&eZdZdd�Zdd�ZRS(cKs-t|tj�r|S|j|||�dS(N(RR	RVRD(RbR/RPR.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRK�scKs't|tj�r|Stj|�SdS(s�coerce the given value to :class:`._truncated_label`.

        Existing :class:`._truncated_label` and
        :class:`._anonymous_label` objects are passed
        unchanged.
        N(RR6t_truncated_label(RbRR.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR=�s(N(RqRrRsR;RKR=(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��stDDLExpressionImplcBs eZdZeZdd�ZRS(cCs
tj|�S(N(R6R�(RbRR.((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�s(N(RqRrRsRR�R;R�(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�stDDLConstraintColumnImplcBseZdZRS(((RqRrRs(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�stDDLReferredColumnImplcBseZdZRS(((RqRrRs(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�stLimitOffsetImplcBs#eZdZdd�Zd�ZRS(cKs'|dkrdS|j|||�dS(N(R;RD(RbRRPR.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRK!scKs?|dkrdStj|�}tj||d|dt�SdS(NR�R�(R;R	tasintR~t_OffsetLimitParamR(RbRR`R�RNtvalue((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR='s
(N(RqRrRsR;RKR=(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�stLabeledColumnExprImplcBseZdZdd�ZRS(cKsyt|tj�r|jd�Stt|�j||d||�}t|tj�rb|jd�S|j|||�dS(NR.(	RRtExpressionElementRoletlabelR;R�R�RKRD(RbR/RPR.RNtnew((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRK4s

(N(RqRrRsR;RK(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�1stColumnsClauseImplcBsAeZdZeZeZeZejdej	�Z
dd�ZRS(s^\w\S*$cCsst|�}|jj|�}tjditj|�d6|rNd|fndd6|radndd6��dS(Ns�Textual column expression %(column)r %(argname)sshould be explicitly declared with text(%(column)r), or use %(literal_column)s(%(column)r) for more specificityRUsfor argument %sR�R.tliteral_column(Rt_guess_straight_columntmatchRRlR	R�(RbRR.tguess_is_literal((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�Ls(N(
RqRrRsRR�R�R�tretcompiletIR�R;R�(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�CstReturnsRowsImplcBseZdZRS(((RqRrRs(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�_st
StatementImplcBs2eZdZdd�Zdd�Zdd�ZRS(cKsY||k	rUt|tj�rUy|jWqUtk
rQtjd|d�qUXn|S(NsObject %r should not be used directly in a SQL statement context, such as passing to methods such as session.execute().  This usage will be disallowed in a future release.  Please use Core select() / update() / delete() etc. with Session.execute() and other statement execution methods.s1.4(RR	RVt_execute_on_connectionRCtwarn_deprecated(RbRPR/R.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRJfs
cKs3|jr
|Stt|�j||d||�SdS(NR.(R�R�R�RK(RbR/RPR.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRK|s	cCstjd�tj|�S(Ns�Using plain strings to indicate SQL statements without using the text() construct is  deprecated and will be removed in version 2.0.  Ensure plain SQL statements are passed using the text() construct.(R	R%R6R�(RbRR.((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��s(N(RqRrRsR;RJRKR�(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�cs	tSelectStatementImplcBseZdZdd�ZRS(cKs*|jr|j�S|j|||�dS(N(t_is_text_clausetcolumnsRD(RbR/RPR.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRK�s	
(N(RqRrRsR;RK(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��st
HasCTEImplcBseZdZRS(((RqRrRs(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��st	IsCTEImplcBseZdZRS(((RqRrRs(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��stJoinTargetImplcBs/eZdZeZed�Zded�ZRS(cKst|t�r|SdS(N(RR(RbRR�RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR=�scKs�t|tj�r|S|r<t|t�r<tjd�|S|rXt|tj�rX|S|r~|jr~tjddd�|S|j	|||�dS(Ns�Using strings to indicate relationship names in Query.join() is deprecated and will be removed in SQLAlchemy 2.0.  Please use the class-bound attribute directly.s�Implicit coercion of SELECT and textual SELECT constructs into FROM clauses is deprecated; please call .subquery() on any Core select or ORM Query object in order to produce a subquery object.tversions1.4(
RRR�RR	R%tWhereHavingRoleR{R�RD(RbR/RPR.R�RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRK�s(N(	RqRrRsRR>RR=R;RK(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��stFromClauseImplcBs,eZdZdeed�Zed�ZRS(cKs`|jr<|r|j�S|r\tjddd�|jSn |jrI|S|j|||�dS(Ns�Implicit coercion of SELECT and textual SELECT constructs into FROM clauses is deprecated; please call .subquery() on any Core select or ORM Query object in order to produce a subquery object.R�s1.4(R{tsubqueryR	R�t_implicit_subqueryR�RD(RbR/RPR.texplicit_subquerytallow_selectRN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRK�s		

	cKs|r|j�S|SdS(N(t_deannotate(RbRt
deannotateRN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRJ�s
(N(RqRrRsR;RRRKRJ(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��s
tStrictFromClauseImplcBseZdZded�ZRS(cKs@|jr)|r)tjddd�|jS|j|||�dS(Ns�Implicit coercion of SELECT and textual SELECT constructs into FROM clauses is deprecated; please call .subquery() on any Core select or ORM Query object in order to produce a subquery object.R�s1.4(R{R	R�R�RD(RbR/RPR.R�RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRK�s(N(RqRrRsR;RRK(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR��stAnonymizedFromClauseImplcBseZdZedd�ZRS(cKs"|dkst�|jd|�S(Ntflat(R;R�t_anonymous_fromclause(RbRR�R`RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRJs(N(RqRrRsRR;RJ(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�stDMLTableImplcBseZdZd�ZRS(cKs"d|jkr|jdS|SdS(Nt	dml_table(t_annotations(RbRRN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRJs((RqRrRsRJ(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�st
DMLSelectImplcBseZdZdd�ZRS(cKsR|jr;t|tj�r.|jjr.|jS|j�Sn|j|||�dS(N(R}RR~R�RR{R�RD(RbR/RPR.RN((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRK"s	
(N(RqRrRsR;RK(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�stCompoundElementImplcBseZdZddd�ZRS(c	Ks^t|tj�r-|jr$d}q3d}nd}tt|�j|d|d|d||�S(NsFUse the plain select() object without calling .subquery() or .alias().s9To SELECT from any FROM clause, use the .select() method.R.RPRm(RRtFromClauseRolet_is_subqueryR;R�R�RD(RbRR.RPRNRm((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyRD4s			(N(RqRrRsR;RD(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyR�1stRoletImpl(WR�R�R�RRRtbaseRRR�RRRRR	R
R;R6R2R
R~tsqltypesRRR R)RRRRTR^tobjectR_RtRvRwRxRlR�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�tByOfRoleR�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R5tdirR`R?tclstendswithtreplacetglobalsRO(((sI/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/coercions.pyt<module>s�		&		k		/	&K*		"


-,$