%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/227033/root/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/
Upload File :
Create Path :
Current File : //proc/227033/root/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyc

�
�M!Vc@s�ddlmZmZmZddlmZddlm	Z	ddl
Z
ddlmZddl
mZddlmZdd	lmZd
ZyddlmZd�ZWnek
r�d
�ZnXd�Zd�Zej�ZZd�Zd�Zd�Zejej�d��Z ejej!�d��Z"ejej#�d��Z$ejej%�d��Z&ejej'�d��Z(ejej)�d��Z*ejej+�d��Z,ejej-�d��Z.ejej/�d��Z0ejej1�d��Z2ejej3�d��Z4ejej5�d��Z6ejej7�d��Z8d e9fd!��YZ:d"�Z;e<d#�Z=d$�Z>d%�Z?d&�Z@d'�ZAd(�ZBd)�ZCd*�ZDe<d+�ZEd,�ZFej�ZGd-�ZHeGjejI�d.��ZJd/�ZKd0�ZLeGjejM�d1��ZNeGjejO�d2��ZPeGjejQ�d3��ZRejS�ZdS(4i����(tschemattypestsqli(tops(tcompatN(tstring_types(tutil(t
PythonPrinter(tStringIOi�(tconvcCs*t|t�r"tt|�|�S|SdS(N(t
isinstanceR	t_f_namet_alembic_autogenerate_prefix(tautogen_contexttname((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_render_gen_namescCs|S(N((R
R((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyRscCsLtjdtj�jd|�j�}tjdtj�jd|�}|S(Nt^s    s +$t(tretcompiletMtsubtstrip(ttext((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_indents'!cCs�|j}x[t|j|j�D]D\}}tt||��||j<tt||��||j<qWdjt	|��|d<dS(Ns
timports(
Rtziptupgrade_ops_listtdowngrade_ops_listRt_render_cmd_bodyt
upgrade_tokentdowngrade_tokentjointsorted(R
tmigration_scriptt
template_argsRtupgrade_opst
downgrade_ops((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt _render_python_into_templatevars s	cCs�t�}t|�}|jd�|js;|jd�nAx>|jD]3}t||�}x|D]}|j|�qaWqEW|jd�|j�S(Ns;### commands auto generated by Alembic - please adjust! ###tpasss### end Alembic commands ###(RRt	writelineRt	render_optgetvalue(top_containerR
tbuftprintertoptlinestline((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyR1s		

cCs+tj|�}tj|||��}|S(N(t	rendererstdispatchRtto_list(R
R.trendererR/((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyR)IscCsdjt||��S(Ns
(R R)(R
R.((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pytrender_op_textOscCs�|j}|jdt�}|jr�g}|r�|j��_|jd|j|jf�x-|jD]"}t||�}|j	|�qdW|jd�WdQXn0x-|jD]"}t||�}|j	|�q�W|SdgSdS(Ntrender_as_batchs5with op.batch_alter_table(%r, schema=%r) as batch_op:RR'(
toptstgettFalseRt
_within_batchtappendt
table_nameRR)textend(R
R.R7R6R/tt_optt_lines((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_render_modify_tableSs$		
c	Csm|j�}gg|jD]}t||�^qD]}|r2|^q2tgg|jD]}t||�^qWD]}|dk	rp|^qp�}t|�tkr�ddj	|�d}ndj	|�}dit
|j�d6t|�d6|d6}|j
r|dt
|j
�7}nx>t|j�D]-}|d	|jd
d�|j|f7}q.W|d7}|S(
Ns*[s,
t]s.%(prefix)screate_table(%(tablename)r,
%(args)st	tablenametprefixtargss,
schema=%rs,
%s=%rt t_s
)(tto_tabletcolumnst_render_columnR!tconstraintst_render_constrainttNonetlentMAX_PYTHON_ARGSR t_identR<RRtkwtreplace(	R
R.ttabletcoltconstrconsRDRtk((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt
_add_tableps*)&
	+
cCsXdit|�d6t|j�d6}|jrJ|dt|j�7}n|d7}|S(Ns%(prefix)sdrop_table(%(tname)rRCttnames, schema=%rt)(RROR<R(R
R.R((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_drop_table�s
	
cCs|j�}|j}|r$d}nd}|it|�d6t||j�d6t|jj�d6djt||��d6|j	p�t
d6|jjr�d	t|jj�nd
d6t|j
�rddjg|j
j�D]%\}}d|t||�f^q��nd
d
6}|S(NsL%(prefix)screate_index(%(name)r, [%(columns)s], unique=%(unique)r%(kwargs)s)sa%(prefix)screate_index(%(name)r, %(table)r, [%(columns)s], unique=%(unique)r%(schema)s%(kwargs)s)RCRRRs, RHtuniques, schema=%rRRs%s=%stkwargs(tto_indext
_has_batchRRRRORRR t_get_index_rendered_expressionsR[R9RRMR\titemst_render_potential_expr(R
R.tindext	has_batchttmpltkeytvalR((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt
_add_index�s		
)bcCs|j}|rd}nd}|it|�d6t||j�d6t|j�d6|jrpdt|j�ndd6}|S(	Ns%(prefix)sdrop_index(%(name)r)sC%(prefix)sdrop_index(%(name)r, table_name=%(table_name)r%(schema)s)RCRR<s, schema=%rRR(R^RRt
index_nameROR<R(R
R.RcRdR((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_drop_index�s		
'cCst|j�|t�gS(N(t_uq_constraintt
to_constrainttTrue(R
R.((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_add_unique_constraint�scCs[tt||j��g}|jsC|jtt|j���n|jtt|j��tg|j	D]}t|�^qh�tg|j
D]}t|�^q��g�ddddddg}|js�|jdd�nxS|D]K}||jkr�|j|}|dk	r2|jd	||f�q2q�q�Wd
it|�d6dj|�d
6S(Ntreferent_schematonupdatetondeletet	initiallyt
deferrablet	use_alterit
source_schemas%s=%rs&%(prefix)screate_foreign_key(%(args)s)RCs, RD(treprRtconstraint_nameR^R;ROtsource_tableR=treferent_tablet
local_colstremote_colstinsertRPRLRR (R
R.RDRSR\RVtvalue((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_add_fk_constraint�s,	%,		

!
cCs
t��dS(N(tNotImplementedError(t
constraintR
((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_add_pk_constraint�scCs
t��dS(N(R~(RR
((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_add_check_constraintscCs�|jrd}nd}|it|�d6t||j�d6t|j�d6|jd6|jrtdt|j�ndd	6}|S(
Ns3%(prefix)sdrop_constraint(%(name)r, type_=%(type)r)sO%(prefix)sdrop_constraint(%(name)r, '%(table_name)s'%(schema)s, type_=%(type)r)RCRR<ttypes
, schema='%s'RR(R^RRRvROR<tconstraint_typeR(R
R.ttemplateR((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_drop_constraints		

'cCs�|j|j|j}}}|jr/d}n#d}|rH|d7}n|d7}|it|�d6|d6t||�d6|d6}|S(	Ns %(prefix)sadd_column(%(column)s)s*%(prefix)sadd_column(%(tname)r, %(column)ss, schema=%(schema)rRYRCRXtcolumnR(RR<R�R^RRI(R
R.RRXR�R�R((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_add_columns		


cCs�|j|j|j}}}|jr/d}n#d}|rH|d7}n|d7}|it|�d6t|�d6t|�d6t|�d6}|S(	Ns %(prefix)sdrop_column(%(cname)r)s*%(prefix)sdrop_column(%(tname)r, %(cname)rs, schema=%(schema)rRYRCRXtcnameR(RR<tcolumn_nameR^RRO(R
R.RRXR�R�R((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_drop_column1s		




cCs�|j}|j}|j}|j}|j}|j}|j}|j}	|j}
d}|j	rid}nd}|it
|�d6|d6|d6}
|dk	r�|
d|t||�f7}
n|t
k	r�t||�}|
d	||f7}
n|dk	r|
d
|t||�f7}
n|dk	rA|
d||f7}
n|dkrp|dk	rp|
d||f7}
n|t
kr�|	r�t|	|�}|
d
||f7}
n|
r�|j	r�|
d||
f7}
n|
d7}
|
S(NREis %(prefix)salter_column(%(cname)rs+%(prefix)salter_column(%(tname)r, %(cname)rRCRXR�s,
%sexisting_type=%ss,
%sserver_default=%ss,
%stype_=%ss,
%snullable=%rs,
%sexisting_nullable=%rs,
%sexisting_server_default=%ss
,
%sschema=%rRYs           (R<R�tmodify_server_defaulttmodify_typetmodify_nullablet
existing_typetexisting_nullabletexisting_server_defaultRR^RRLt
_repr_typeR9t_render_server_default(R
R.RXR�tserver_defaultttype_tnullableR�R�R�RtindentR�Rtrendered((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt
_alter_columnGsZ											
		
RcBseZd�Zd�ZRS(cCs||_||_dS(N(RCR(tselfRCR((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt__init__�s	cCsd|jt|j�fS(Ns%sf(%r)(RCROR(R�((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt__repr__�s(t__name__t
__module__R�R�(((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyR~s	cCs�|dkr|Stjryt|tjj�rytjriy|jd�SWqvt	k
retj
|�SXq�tj
|�Snt|tj�r�|SdS(s�produce a __repr__() object for a string identifier that may
    use quoted_name() in SQLAlchemy 0.9 and greater.

    The issue worked around here is that quoted_name() doesn't have
    very good repr() behavior by itself when unicode is involved.

    tasciiN(RLRtsqla_09R
Rtelementstquoted_nametpy2ktencodetUnicodeErrort	text_typeR(R((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyRO�s	
cCs�t|tj�r�tjr4tditd6�}ni}|rId}nd}|it|�d6tj|j	d|j
|��d6St|�SdS(Ntcompile_kwargst
literal_bindss%(prefix)stext(%(sql)r)s%(sql)rRCtdialectR(R
Rt
ClauseElementRtsqla_08tdictRlt_sqlalchemy_autogenerate_prefixR�RR�Ru(R|R
twrap_in_textt
compile_kwR�((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyRa�s		
cCs�tjr\g|jD]E}t|tj�rIttt|dd���nt
||�^qSg|jD]$}ttt|dd���^qfSdS(NR(RR�texpressionsR
t	sa_schematColumnRuROtgetattrRLRaRH(tidxR
texpRS((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyR_�s	Pc		Cs g}|j}|jr7|jdt|j�f�n|jr_|jdt|j�f�n|r�|r�|jjr�|jdt|jj�f�n|r�|jr�|jdt	||j�f�n|r�t
t	||j��g}|s|t
t|jj��g7}n|jt
g|jD]}t|j�^q(��|jg|D]\}}d||f^qT�dit
|�d6dj|�d	6Sg|jD]}t
t|j��^q�}|jg|D]\}}d||f^q��d
it|�d6dj|�d	6SdS(NRrRqRRs%s=%rs,%(prefix)screate_unique_constraint(%(args)s)RCs, RDs$%(prefix)sUniqueConstraint(%(args)s)(R^RrR;tstrRqRRRRORRRuRHR=RR R�(	RR
talterR7RcRDRSRVtv((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyRj�s6			""20
+0
cCs,|jd}|dkr$d|jS|SdS(Ntuser_module_prefixs%s.(R7RLR�(R
ttargetRC((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_user_autogenerate_prefix�s
cCs|jdpdS(Ntsqlalchemy_module_prefixR(R7(R
((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyR��scCs"|jr
dS|jdpdSdS(Ns	batch_op.talembic_module_prefixR(R^R7(R
((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyR�s	cCsNd|jkrJ|jd}|rJ||||�}|tk	rG|SqJntS(Ntrender_item(R7R9(R�tobject_R
trenderR�((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_user_defined_render�s

cCstd||�}|tk	r"|Sg}|jrbt|j|�}|rb|jd|f�qbn|js�|jd|jf�n|jdk	r�|jd|jf�ndit|�d6t	|j
�d6t|j|�d6d	j
g|D]\}}d
||f^q��d6S(NR�R�t
autoincrementR�s,%(prefix)sColumn(%(name)r, %(type)s, %(kw)s)RCRR�s, s%s=%sRP(R�R9R�R�R;R�R�RLR�RORR�R�R (R�R
R�R7tkwnameRf((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyRIs$		
cCs�td||�}|tk	r"|St|tj�rht|jtj�rU|j}qht|j|�Snt|t�r�|r�t	t
jdd|��}n|S(NR�s^'|'$R(R�R9R
R�t
DefaultClausetargRRRaRuRR(tdefaultR
trepr_R�((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyR�#scCs�td||�}|tk	r"|St|�j}|j}|jd�r�tjd|�jd�}|dk	r�|j
d|�nd||fS|jd�r�t|�}d||fSt||�}d||fSdS(	NR�ssqlalchemy.dialectsssqlalchemy\.dialects\.(\w+)is"from sqlalchemy.dialects import %ss%s.%rssqlalchemy.s%s%r(
R�R9R�R�Rt
startswithRtmatchtgroupRLtaddR�R�(R�R
R�tmodRtdnameRC((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyR�4s	cCstj|�}|||�S(N(t_constraint_renderersR2(RR
R4((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyRKKsc	Cs�td||�}|tk	r"|S|js/dSg}|jrf|jdtt||j��f�ndit|�d6dj	g|jD]}t|j
�^q�g|D]\}}d||f^q��d6S(Ntprimary_keyRs(%(prefix)sPrimaryKeyConstraint(%(args)s)RCs, s%s=%sRD(R�R9RHRLRR;RuRR�R Re(RR
R�R7tcR�Rf((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_render_primary_keyPs		
"cCs�|j�}|jd�}|d\}}|dk	r\t|�dkr\d||f}ndj|dd!�}|jdk	r�|jjdk	r�|jjj}||jkr�t	|j|j
|j�}q�nd||f}|S(soImplement a 'safe' version of ForeignKey._get_colspec() that
    never tries to resolve the remote table.

    t.i����is%s.%sii����N(t_get_colspectsplitRLRMR tparentRRtmetadatattablesROR�R(tfktmetadata_schematcolspecttokensRXtcolnamettable_fullnametparent_metadata((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_fk_colspecfs! cCs�|jr(|jdt|j�f�n|jrP|jdt|j�f�n|jrx|jdt|j�f�n|jr�|jdt|j�f�n|jr�|jdt|j�f�ndS(NRoRpRqRrRs(RoR;RuRpRqRrRs(RR7((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_populate_render_fk_opts�s					cs�td||�}|tk	r"|Sg}|jrY|jdtt||j��f�nt||�|jjj	�dit
|�d6djd�|jD��d6dj�fd�|jD��d	6djg|D]\}}d
||f^q��d6S(Ntforeign_keyRsC%(prefix)sForeignKeyConstraint([%(cols)s], [%(refcols)s], %(args)s)RCs, css%|]}dt|jj�VqdS(s%rN(ROR�R(t.0tf((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pys	<genexpr>�stcolsc3s$|]}tt|���VqdS(N(RuR�(R�R�(tapply_metadata_schema(sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pys	<genexpr>�strefcolss%s=%sRD(
R�R9RR;RuRR�R�R�RR�R R�(RR
R�R7R�Rf((R�sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_render_foreign_key�s$	

cCs2td||�}|tk	r"|St||t�S(NR[(R�R9Rj(RR
R�((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_render_unique_constraint�sc	Cs�td||�}|tk	r"|S|jrYt|jd�rYt|jjtj�rYdSg}|j	r�|j
dtt||j	��f�ndit
|�d6|r�ddjd�|D��ndd	6t|j|d
t�d6S(NtcheckR�Rs.%(prefix)sCheckConstraint(%(sqltext)s%(opts)s)RCs, css%|]\}}d||fVqdS(s%s=%sN((R�RVR�((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pys	<genexpr>�sRR7R�tsqltext(R�R9t_create_rulethasattrR
R�tsqltypest
TypeEngineRLRR;RuRR�R RaR�(RR
R�R7((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt_render_check_constraint�s(		
*(Tt
sqlalchemyRR�RR�Rt
operationsRRRRtutil.compatRRt
mako.pygenRRRNtsqlalchemy.sql.namingR	RtImportErrorRR&t
Dispatchertdefault_renderersR1RR)R5tdispatch_fortModifyTableOpsR@t
CreateTableOpRWtDropTableOpRZt
CreateIndexOpRgtDropIndexOpRitCreateUniqueConstraintOpRmtCreateForeignKeyOpR}tCreatePrimaryKeyOpR�tCreateCheckConstraintOpR�tDropConstraintOpR�tAddColumnOpR�tDropColumnOpR�t
AlterColumnOpR�tobjectRRORlRaR_RjR�R�RR�RIR�R�R�RKtPrimaryKeyConstraintR�R�R�tForeignKeyConstraintR�tUniqueConstraintR�tCheckConstraintR�tbranch(((sL/opt/alt/python27/lib/python2.7/site-packages/alembic/autogenerate/render.pyt<module>sj


					!(7
			%				
						"

Zerion Mini Shell 1.0