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 :  /lib/python2.7/site-packages/south/creator/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python2.7/site-packages/south/creator/freezer.pyc
�
(��Pc@s+dZddlmZddlZddlmZddlmZmZddl	m
Z
ddlmZm
Z
ddlmZdd	lmZd
�Zd�Zd�Zd
�Zdd�Zdd�Zd�Zd�ZdddgZdddgZdgZeed�ZddgZ d�Z!dS(s+
Handles freezing of models into FakeORMs.
i����(tprint_functionN(tmodels(t	ModelBasetModel(tGenericRelation(t
get_attributetauto_through(tmodelsinspector(tstring_typesc
Cs�t|t�r|g}nt�}xd|D]\}xStjtj|��D]9}|jjrJt|jdt	�rJ|j
|�qJqJWq+Wx't|�D]}|jt
|��q�Wi}i}x4|D],}t|�|t|�<||t|�<q�Wt	}x�|j�D]�\}}x�|j�D]u\}	}
|
dkr$t}||}|jj|	�d}td||	f�td|jj|jjf�q$q$WqW|r�td�td�td�td�td	�tjd
�n|S(sP
    Takes a list of app labels, and returns a string of their frozen form.
    tproxyis ! Cannot freeze field '%s.%s's ! (this field has class %s.%s)tsP ! South cannot introspect some fields; this is probably because they are customsN ! fields. If they worked in 0.6 or below, this is because we have removed thes) ! models parser (it often broke things).sD ! To fix this, read http://south.aeracode.org/wiki/MyFieldsDontWorkiN(t
isinstanceRtsetRt
get_modelstget_appt_metatabstracttgetattrtFalsetaddtlisttupdatetmodel_dependenciestprep_for_freezet	model_keytitemstNonetTruetget_field_by_nametprintt	__class__t
__module__t__name__tsystexit(
tappst
frozen_modelstapptmodelt
model_defst
model_classestmissing_fieldstkeytfieldst
field_nametvaluetmodel_classtfield_class((s9/usr/lib/python2.7/site-packages/south/creator/freezer.pytfreeze_appss>	
#

+




cCstt|��S(N(tpprint_frozen_modelsR0(R#((s9/usr/lib/python2.7/site-packages/south/creator/freezer.pytfreeze_apps_to_string;scCs d|jj|jjj�fS(s.For a given model, return 'appname.modelname'.s%s.%s(Rt	app_labeltobject_nametlower(R&((s9/usr/lib/python2.7/site-packages/south/creator/freezer.pyR@scCs�tj|dt�}x*|j�D]\}}t|�||<q"Wttj|��|d<|jj|dd<t	|jdt�s�t
|jj�|dd<n|S(sq
    Takes a model and returns the ready-to-serialise dict (all you need
    to do is just pretty-print it).
    tm2mtMetaR4tmanaged(Rtget_model_fieldsRRtremove_useless_attributestremove_useless_metatget_model_metaRR4RtreprR8(R&R+tnametfield((s9/usr/lib/python2.7/site-packages/south/creator/freezer.pyRDsc	CsTt�}|pt�}x4|jj|jjD]}|jt||��q/WxO|jD]D}t|tj	�rYt
|d�rY|jjrY|j|�qYqYW||}x�|rO|j
�}||ks�||kr�q�n|j|�t||�}xO|D]G}||kr;||kr;||kr;|j|�n|j|�qWq�W|S(s�
    Returns a set of models this one depends on to be defined; things like
    OneToOneFields as ID, ForeignKeys everywhere, etc.
    R(RRR+tmany_to_manyRtfield_dependenciest	__bases__t
issubclassRRthasattrRRtpopR(	R&tchecked_modelstdependsR?tbasetnew_to_checkt
checked_modeltdepstdep((s9/usr/lib/python2.7/site-packages/south/creator/freezer.pyRWs&	.
	

$c	Cs�|pt�}t�}tj|�\}}xq|t|j��D]Y\}}|jdt�rtt|�rtqDn|jdt�r�|}nx|dkr�tt	|dd�d�r�|jj}nByt
||�}Wn,tk
r|jdt�rqDn�nXt|t�r"|j}nt|t�s7qDnt	|jdt�r[|jj}n||krmqDn|j|�|j|�|jt||��qDW|S(Ntignore_if_auto_throughtis_valuesrel.throughtrelt
through_modeltignore_missingR	(RRtmatching_detailsRtvaluestgetRRRDRRRORPRtAttributeErrorRRRRRtproxy_for_modelRRR(R?RFRGtarg_defst
kwarg_defstattrnametoptionsR-((s9/usr/lib/python2.7/site-packages/south/creator/freezer.pyRAus8	#	'


cCsFddjgt|j��D]"\}}d|t|�f^q�S(Ns{
        %s
    }s
,
        s%r: %s(tjointsortedRt
pprint_fields(RR>R+((s9/usr/lib/python2.7/site-packages/south/creator/freezer.pyR1�s	cCs@ddjgt|j��D]\}}d||f^q�S(Ns{
            %s
        }s,
            s%r: %r(R[R\R(R+R>tdefn((s9/usr/lib/python2.7/site-packages/south/creator/freezer.pyR]�s	tchoicest	help_texttverbose_nametrelated_nametdefaulttblanktdb_indexcCskt}|r|t7}n|r/|t7}n|rgx/|D]$}||dkr<|d|=q<q<Wn|S(s@Removes useless (for database) attributes from the field's defn.i(tUSELESS_KEYWORDStUSELESS_DB_KEYWORDStINDEX_KEYWORDS(R?tdbtindexestkeywordsR>((s9/usr/lib/python2.7/site-packages/south/creator/freezer.pyR:�s
tverbose_name_pluralcCs4|r0x'tD]}||kr
||=q
q
Wn|S(s@Removes useless (for database) attributes from the table's meta.(tUSELESS_META(tmetaR>((s9/usr/lib/python2.7/site-packages/south/creator/freezer.pyR;�s

("t__doc__t
__future__RR!t	django.dbRtdjango.db.models.baseRRt#django.contrib.contenttypes.genericRtsouth.utilsRRtsouthRtsouth.utils.py3RR0R2RRRRRAR1R]RfRgRhRR:RmR;(((s9/usr/lib/python2.7/site-packages/south/creator/freezer.pyt<module>s,	*			$			

https://t.me/AnonymousX5 - 2025