|
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 : /proc/self/root/lib/python2.7/site-packages/south/creator/ |
Upload File : |
�
��Rc @ s� d Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m
Z
m Z m Z d d l
m Z d d l m Z d e f d
� � YZ d e f d � � YZ d
e f d � � YZ d e f d � � YZ d S( sx
Contains things to detect changes - either using options passed in on the
commandline, or by using autodetection, etc.
i����( t print_function( t models( t GenericRelation( t
SortedDict( t remove_useless_attributest freeze_appst model_key( t auto_through( t string_typest BaseChangesc B s2 e Z d Z d � Z d � Z d � Z d � Z RS( s
Base changes class.
c C s d S( Nt ( ( t self( ( s9 /usr/lib/python2.7/site-packages/south/creator/changes.pyt suggest_name s c C s� t � } t � } t � } xh | j � D]Z \ } } | d k rI | } q( t | j j | � d t j � rx | | | <q( | | | <q( W| | | f S( s�
Given a model and its model def (a dict of field: triple), returns three
items: the real fields dict, the Meta dict, and the M2M fields dict.
t Metai ( R t itemst
isinstancet _metat get_field_by_nameR t ManyToManyField( R t modelt model_deft real_fieldst metat
m2m_fieldst namet triple( ( s9 /usr/lib/python2.7/site-packages/south/creator/changes.pyt split_model_def s "
c C s% | j d � \ } } t j | | � S( Nt .( t splitR t get_model( R t keyt app_labelt
model_name( ( s9 /usr/lib/python2.7/site-packages/south/creator/changes.pyt current_model_from_key( s c C su | j d � \ } } | d k rU t j � } d | _ d | _ d | _ d | _ | St j | | � j j | � d S( NR t _orderi (
R R t IntegerFieldR t attnamet columnt defaultR R R ( R R t fieldnameR R t field( ( s9 /usr/lib/python2.7/site-packages/south/creator/changes.pyt current_field_from_key, s ( t __name__t
__module__t __doc__R R R! R) ( ( ( s9 /usr/lib/python2.7/site-packages/south/creator/changes.pyR s
t AutoChangesc B sP e Z d Z e g Z d � Z d � Z d � Z e d � � Z e d � � Z
RS( sL
Detects changes by 'diffing' two sets of frozen model definitions.
c C s( | | _ | | _ | | _ | | _ d S( N( t
migrationst old_defst old_ormt new_defs( R R. R/ R0 R1 ( ( s9 /usr/lib/python2.7/site-packages/south/creator/changes.pyt __init__D s c C s� d g } x�| j � D]�\ } } | d k rR | j d | d j j j � � q | d k r� | j d | d j j j � � q | d k r� | j d | d j j j � | d j f � q | d
k r� | j d | d j j j � | d j f � q | d k r9| j d
| d j j j � | d j f � q | d k r�| j d | d j j j � d j g | d D] } | j ^ qr� f � q | d k r�| j d | d j j j � d j g | d D] } | j ^ q�� f � q | d k rD| j d | d j j j � d j g | d D] } | j ^ q$� f � q | d k r | j d | d j j j � d j g | d D] } | j ^ q}� f � q q Wd j | � d S( Nt autot AddModels add_%sR t DeleteModels del_%st AddFields add_field_%s_%sR( t DeleteFields del_field_%s_%st ChangeFields chg_field_%s_%st new_fieldt AddUniques add_unique_%s_%st _t fieldst DeleteUniques del_unique_%s_%st AddIndexs add_index_%s_%st DeleteIndexs del_index_%s_%st __iF ( t get_changest appendR t object_namet lowerR t join( R t partst change_namet paramst x( ( s9 /usr/lib/python2.7/site-packages/south/creator/changes.pyR J sF $$ 1 1 1 5c c s� t � } x�| j D]�} | | j k r | j | j | | j | � \ } } } | j d d � d k r�d i | j | d 6| d 6f VxR | D]J } | j | d | } t | � r� d i | j | d 6| d 6f Vq� q� Wx� d d! f D]� \ } } t | j | d � � }
|
r� t |
d t � r4|
g }
n x[ |
D]P } | i | j | d 6g | D]# } | j | j
j | � d ^ q\d 6f Vq;Wq� q� Wn | j | � q q Wx�| j D]�} | | j k r�| j | j
| � | j | � \ }
} } | j d d � d k rGd i | j
| � d 6|
d 6f VxQ | D]I } | j | | � } t | � r8d i | j
| � d 6| d 6f Vq8q8Wx� d"