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/naming.pyc
�
���ec@sdZddlZddlmZddlmZddlmZddlmZddlm	Z	dd	lm
Z
dd
lmZddlmZddlm
Z
dd
lmZddlmZddlmZddlmZdefd��YZide6de
6de6de6de6Zd�Zd�Zeje
d�d��Zeje
d�ejed�d���ZdS(s5Establish constraint and index naming conventions.


i����Ni(tevents(t
_NONE_NAME(tconv(tCheckConstraint(tColumn(t
Constraint(tForeignKeyConstraint(tIndex(tPrimaryKeyConstraint(tTable(tUniqueConstrainti(tevent(texctConventionDictcBsbeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�ZRS(
cCs=||_t|t�|_||_||_|j|_dS(N(tconstt
isinstanceRt_is_fkttablet
conventiontnamet_const_name(tselfRRR((sF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyt__init__s
			cCs
|jjS(N(RR(R((sF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyt_key_table_name&scCs�|jrEy|jj|}Wntk
r1dSXt|j|�SnBt|jj�}y||}Wntk
rydSXt||�SdS(Nt(RRtelementst
IndexErrortgetattrtparenttlisttcolumns(Rtidxtattrnametfktcolstcol((sF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyt	_column_X)s	

cCsO|jdtfkr'tjd��nt|jt�sHd|j_n|jS(NscNaming convention including %(constraint_name)s token requires that constraint is explicitly named.(	RtNoneRRtInvalidRequestErrorRRRR(R((sF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyt_key_constraint_name:scCs|j|d�S(Ntkey(R$(RR((sF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyt_key_column_X_keyEscCs|j|d�S(NR(R$(RR((sF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyt_key_column_X_nameKscCs|j|d�S(Nt
_ddl_label(R$(RR((sF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyt_key_column_X_labelNscCsV|jjd}|jjd�}t|�dkrF|\}}}n|\}}|S(Nit.i(RRttarget_fullnametsplittlen(RR!trefst	refschematreftabletrefcol((sF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyt_key_referred_table_nameQscCs|jj|}|jjS(N(RRtcolumnR(RRR!((sF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyt_key_referred_column_X_nameZsc
Cs�||jkr)|j||j|j�St|d|�rPt|d|��Stjd|�}|r�|jd�}|jd�}|r[|jr�|jj	}nt
|jj�}g}xtt|�D]f\}}d|j
d|d�}y |jt||�|��Wq�tk
r.t|��q�Xq�W|jd�rHdnd	}	|	j|�Sd|j
|d�}t|�}t||�r�t||�|�Snt|��dS(
Ns_key_%ss.*_?column_(\d+)(_?N)?_.+iit_key_t0tXt_R(RRRthasattrRtretmatchtgroupRRRRt	enumeratetreplacetappendtAttributeErrortKeyErrort
startswithtjointint(
RR(tcol_templateRt	multiplestelemsttokenstelemtattrtsep((sF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyt__getitem__as4	 

(t__name__t
__module__RRR$R'R)R*R,R5R7RO(((sF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyR
s										tixtpktcktuqR!cCsXxQ|jD]B}|tkr8t||kr8|t|S||kr
||Sq
WdSdS(N(t__mro__t_prefix_dictR%(tdict_R(tsuper_((sF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyt_get_convention�scCs�|j}t|jt|��}t|jt�r:|jS|dk	r�t|jt�r�|jdks�d|ks�|jtkr�t|t	|||j��S|tkr�dSdS(Ntconstraint_name(
tmetadataRZtnaming_conventionttypeRRRR%RR
(RRR\R((sF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyt_constraint_name_for_table�s	t'_sa_event_column_added_to_pk_constraintcCsC|jr?|j}d|_t||�}|r?||_q?ndS(N(t_implicit_generatedRR%RR_(t
pk_constraintR#Rtnewname((sF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyt_column_added_to_pk_constraint�s			tafter_parent_attachcs�t|t�r.tj|d�fd��nXt|t�r�t�jt�s^�jtkrbdSt�|�}|r�|�_q�ndS(NRecs
t�|�S(N(t_constraint_name(R#R(R(sF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyt<lambda>�R(	RRRtlistenR	RRRR_(RRRc((RsF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyRf�s!(t__doc__R=RRRRRtschemaRRRRRRR	R
RRtobjectR
RWRZR_tlistens_forRdRf(((sF/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/naming.pyt<module>s6d