Ë
    ¹ûàg]-  ã                   óÀ   — d dl Z d dl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 d dlmZ d dlmZmZ d d	lmZ d d
lmZ d dlmZ  G d„ d«      Z G d„ d«      ZdZdZy)é    N)Úimport_module)Úget_version)Úapps)ÚSettingsReference)Ú
migrations)ÚMigrationLoader)Ú
SerializerÚserializer_factory)Úget_func_args)Ú
module_dir)Únowc                   ó2   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zy)	ÚOperationWriterc                 ó.   — || _         g | _        || _        y ©N)Ú	operationÚbuffÚindentation)Úselfr   r   s      úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/django/db/migrations/writer.pyÚ__init__zOperationWriter.__init__   s   € Ø"ˆŒØˆŒ	Ø&ˆÕó    c                 ó  ‡ ‡
— ˆ
ˆ fd„}t        «       Š
‰ j                  j                  «       \  }}}t        ‰ j                  j                  «      }t        t        |d «      ‰ j                  j                  k(  r‰ j                  d|z  «       ng‰
j                  d‰ j                  j                  j                  z  «       ‰ j                  ‰ j                  j                  j                  ›d|›d�«       ‰ j                  «        t        |«      D ]  \  }}|}||   }	 ||	|«       Œ t        |«      }||d  D ]  }	|	|v sŒ||	   } ||	|«       Œ ‰ j                  «        ‰ j                  d«       ‰ j                  «       ‰
fS )Nc                 óþ  •— | ‰j                   j                  v �r9t        |t        t        t
        f«      �rt        |t
        «      �r1‰j                  d| z  «       ‰j                  «        |j                  «       D ]Ø  \  }}t        j                  |«      \  }}t        j                  |«      \  }}|j                  «       }t        |«      dkD  rL‰j                  |›d|d   ›�«       |dd D ]  }	‰j                  |	«       Œ ‰j                  d|d   z  «       n‰j                  |›d|›d�«       ‰j                  |«       ‰j                  |«       ŒÚ ‰j                  «        ‰j                  d«       y ‰j                  d	| z  «       ‰j                  «        |D ]�  }
t        j                  |
«      \  }}|j                  «       }t        |«      dkD  r3|d d D ]  }	‰j                  |	«       Œ ‰j                  d|d   z  «       n‰j                  d|z  «       ‰j                  |«       Œ’ ‰j                  «        ‰j                  d
«       y t        j                  |«      \  }}|j                  «       }t        |«      dkD  rL‰j                  | ›d|d   ›�«       |dd D ]  }	‰j                  |	«       Œ ‰j                  d|d   z  «       n‰j                  | ›d|›d�«       ‰j                  |«       y )Nz%s={é   z: r   éÿÿÿÿz%s,ú,z},z%s=[z],ú=)r   Úserialization_expand_argsÚ
isinstanceÚlistÚtupleÚdictÚfeedÚindentÚitemsÚMigrationWriterÚ	serializeÚ
splitlinesÚlenÚupdateÚunindent)Ú	_arg_nameÚ
_arg_valueÚkeyÚvalueÚ
key_stringÚkey_importsÚ
arg_stringÚarg_importsÚargsÚargÚitemÚimportsr   s              €€r   Ú_writez)OperationWriter.serialize.<locals>._write   s‹  ø€ Ø˜DŸN™N×DÑDÒDÌØœT¤5¬$Ð/õJô ˜j¬$Õ/Ø—I‘I˜f yÑ0Ô1Ø—K‘K”MØ&0×&6Ñ&6Ó&8ò 4™
˜˜UÜ2A×2KÑ2KÈCÓ2PÑ/˜
 KÜ2A×2KÑ2KÈEÓ2RÑ/˜
 KØ)×4Ñ4Ó6˜Ü˜t›9 qš=Ø ŸI™I²*¸dÀ1ºgÐ&FÔGØ'+¨A¨b zò / Ø $§	¡	¨#¥ð/à ŸI™I e¨d°2©hÑ&6Õ7à ŸI™I²:ºzÐ&JÔKØŸ™ {Ô3ØŸ™ {Õ3ð4ð —M‘M”OØ—I‘I˜d•Oà—I‘I˜f yÑ0Ô1Ø—K‘K”MØ *ò 	4˜Ü2A×2KÑ2KÈDÓ2QÑ/˜
 KØ)×4Ñ4Ó6˜Ü˜t›9 qš=Ø'+¨C¨R yò / Ø $§	¡	¨#¥ð/à ŸI™I e¨d°2©hÑ&6Õ7à ŸI™I e¨jÑ&8Ô9ØŸ™ {Õ3ð	4ð —M‘M”OØ—I‘I˜d•Oä*9×*CÑ*CÀJÓ*OÑ'�
˜KØ!×,Ñ,Ó.�Ü�t“9˜q’=Ø—I‘Iª°D¸²GÐ<Ô=Ø# A b˜zò '˜ØŸ	™	 #�ð'à—I‘I˜e d¨2¡hÑ.Õ/à—I‘Iª)²ZÐ@ÔAØ—‘˜{Õ+r   zmigrations.%s(z	import %sú.ú(z),)Úsetr   Údeconstructr   r   Úgetattrr   Ú	__class__r$   ÚaddÚ
__module__r%   Ú	enumerater*   r,   Úrender)r   r9   Únamer5   ÚkwargsÚoperation_argsÚir6   Ú	arg_valueÚarg_namer8   s   `         @r   r(   zOperationWriter.serialize   sM  ù€ õ/	,ôb “%ˆØ!Ÿ^™^×7Ñ7Ó9Ñˆˆd�FÜ& t§~¡~×'>Ñ'>Ó?ˆô
 ”:˜t TÓ*¨d¯n©n×.FÑ.FÒFØ�I‰IÐ&¨Ñ-Õ.à�K‰K˜ t§~¡~×'?Ñ'?×'JÑ'JÑKÔLØ�I‰I $§.¡.×":Ñ":×"EÓ"EÂtÐLÔMà�‰Œä “oò 	(‰FˆAˆsØˆIØ% aÑ(ˆHÙ�8˜YÕ'ð	(ô
 �‹Iˆà& q rÐ*ò 	,ˆHØ˜6Ò!Ø" 8Ñ,�	Ù�x Õ+ð	,ð
 	�‰ŒØ�	‰	�$ŒØ�{‰{‹}˜gÐ%Ð%r   c                 ó.   — | xj                   dz  c_         y ©Nr   ©r   ©r   s    r   r%   zOperationWriter.indenti   ó   € Ø×Ò˜AÑÖr   c                 ó.   — | xj                   dz  c_         y rK   rL   rM   s    r   r,   zOperationWriter.unindentl   rN   r   c                 ó`   — | j                   j                  d| j                  dz  z  |z   «       y )Nú é   )r   Úappendr   )r   Úlines     r   r$   zOperationWriter.feedo   s)   € Ø�	‰	×Ñ˜ × 0Ñ 0°1Ñ 4Ñ5¸Ñ<Õ=r   c                 ó8   — dj                  | j                  «      S )Nú
)Újoinr   rM   s    r   rC   zOperationWriter.renderr   s   € Ø�y‰y˜Ÿ™Ó#Ð#r   N)é   )	Ú__name__rA   Ú__qualname__r   r(   r%   r,   r$   rC   © r   r   r   r      s"   „ ó'ò
O&òbòò>ó$r   r   c                   ó~   — e Zd ZdZdd„Zd„ Zed„ «       Zed„ «       Zed„ «       Z	e
d„ «       Ze
d„ «       Ze
d	„ «       Zy
)r'   zj
    Take a Migration instance and is able to produce the contents
    of the migration file from it.
    c                 ó.   — || _         || _        d| _        y )NF)Ú	migrationÚinclude_headerÚneeds_manual_porting)r   r^   r_   s      r   r   zMigrationWriter.__init__|   s   € Ø"ˆŒØ,ˆÔØ$)ˆÕ!r   c           	      ó–  — dddœ}t        «       }g }| j                  j                  D ]@  }t        |«      j	                  «       \  }}|j                  |«       |j                  |«       ŒB |rdj                  |«      dz   nd|d<   g }| j                  j                  D ]Y  }|d   dk(  r)|j                  d|d   z  «       |j                  d	«       Œ4|j                  d
| j	                  |«      d   z  «       Œ[ |rdj                  t        |«      «      dz   nd|d<   t        «       }	t        |«      D ]b  }
t        j                  d|
«      sŒ|	j                  |
j                  d«      d   j                  «       «       |j!                  |
«       d| _        Œd d|v r#|j%                  d«       |j                  d«       n|j                  d«       t        |d„ ¬«      }|rdj                  |«      dz   nd|d<   |	r(|dxx   ddj                  t        |	«      «      z  z  cc<   | j                  j&                  r.d| j	                  | j                  j&                  «      d   z  |d<   | j(                  r/t*        t-        «       t/        «       j1                  d«      dœz  |d<   nd|d<   | j                  j2                  rd|d<   t4        |z  S )z%Return a string of the file contents.Ú )Úreplaces_strÚinitial_strrV   Ú
operationsr   Ú__setting__z5        migrations.swappable_dependency(settings.%s),r   z from django.conf import settingsz        %s,Údependenciesz^import (.*)\.\d+[^\s]*$ÚimportTzfrom django.db import modelsz(from django.db import migrations, modelsz from django.db import migrationsc                 óT   — | j                  «       d   dk(  | j                  «       d   fS )Nr   Úfromr   )Úsplit)rG   s    r   ú<lambda>z+MigrationWriter.as_string.<locals>.<lambda>¶   s$   €  A§G¡G£I¨a¡L°FÑ$:¸A¿G¹G»IÀa¹LÐ#I€ r   )r/   r8   z½

# Functions from the following migrations need manual copying.
# Move them and any dependencies into this file, then update the
# RunPython operations to refer to the local versions:
# %sz
# z
    replaces = %s
rc   z%Y-%m-%d %H:%M)ÚversionÚ	timestampÚmigration_headerz
    initial = True
rd   )r<   r^   re   r   r(   r+   rS   rW   rg   r@   Úsortedr!   ÚreÚmatchrk   ÚstripÚremover`   ÚdiscardÚreplacesr_   ÚMIGRATION_HEADER_TEMPLATEr   r   ÚstrftimeÚinitialÚMIGRATION_TEMPLATE)r   r&   r8   re   r   Úoperation_stringÚoperation_importsrg   Ú
dependencyÚmigration_importsrT   Úsorted_importss               r   Ú	as_stringzMigrationWriter.as_string�   sÈ  € ð Øñ
ˆô
 “%ˆð ˆ
ØŸ™×2Ñ2ò 	0ˆIÜ2AÀ)Ó2L×2VÑ2VÓ2XÑ/ÐÐ/Ø�N‰NÐ,Ô-Ø×ÑÐ.Õ/ð	0ñ ?I˜dŸi™i¨
Ó3°dÒ:ÈbˆˆlÑð ˆØŸ.™.×5Ñ5ò 	SˆJØ˜!‰} Ò-Ø×#Ñ#ØKØ  ‘mñ$ôð —‘Ð>Õ?à×#Ñ# M°D·N±NÀ:Ó4NÈqÑ4QÑ$QÕRð	Sñ 7CˆD�I‰I”f˜\Ó*Ó+¨dÒ2Èð 	ˆnÑô  ›EÐÜ˜“Mò 	1ˆDÜ�x‰xÐ3°TÕ:Ø!×%Ñ% d§j¡j°Ó&:¸1Ñ&=×&CÑ&CÓ&EÔFØ—‘˜tÔ$Ø,0�Õ)ð		1ð *¨WÑ4Ø�O‰OÐ:Ô;Ø�K‰KÐBÕCà�K‰KÐ:Ô;ô
  ØÑIô
ˆñ @G˜4Ÿ9™9 ^Ó4°tÒ;ÈBˆˆiÑÙØ�)Óð"ð —‘œFÐ#4Ó5Ó6ñ!7ñ 7Óð �>‰>×"Ò"à'¨$¯.©.¸¿¹×9PÑ9PÓ*QÐRSÑ*TÑTð �.Ñ!ð ×ÒÜ(AÜ&›=Ü ›UŸ^™^Ð,<Ó=ñEñ )ˆEÐ$Ò%ð
 )+ˆEÐ$Ñ%à�>‰>×!Ò!Ø#;ˆE�-Ñ ä! EÑ)Ð)r   c                 ó\  — t        j                  | j                  j                  «      \  }}|€"t	        d| j                  j                  z  «      ‚	 t        |«      }	 t        |«      S # t        $ r Y nw xY w# t        $ r Y nw xY wt        j                  | j                  j                  «      }|j                  d«      \  }}}|j                  |k(  r*t        j                  j                  |j                  |«      S |j                  d«      g }}|rm|j!                  d|j#                  d«      «       	 t        dj                  |«      «      }		 t        |	«      }
n2# t        $ r Y ŒVw xY w# t        t        f$ r Y Œkw xY wt	        d|z  «      ‚t        j                  j                  |
g|¢­Ž }t        j$                  |d¬«       |D ]b  }t        j                  j                  |
|«      }
t'        t        j                  j                  |
d«      d	«      5  	 d d d «       ŒX# 1 sw Y   ŒaxY w |S )
NztDjango can't create migrations for app '%s' because migrations have been disabled via the MIGRATION_MODULES setting.r:   r   r   z„Could not locate an appropriate location to create migrations package %s. Make sure the toplevel package exists and can be imported.T)Úexist_okz__init__.pyÚw)r   Úmigrations_moduler^   Ú	app_labelÚ
ValueErrorr   r   ÚImportErrorr   Úget_app_configÚ
rpartitionrD   ÚosÚpathrW   rk   ÚinsertÚpopÚmakedirsÚopen)r   Úmigrations_package_nameÚ_r„   Ú
app_configÚmaybe_app_nameÚmigrations_package_basenameÚexisting_dirsÚmissing_dirsÚbase_moduleÚbase_dirÚ	final_dirÚmissing_dirs                r   ÚbasedirzMigrationWriter.basedirÓ   s$  € ä%4×%FÑ%FØ�N‰N×$Ñ$ó&
Ñ"Ð ð #Ð*Üðà!Ÿ^™^×5Ñ5ñ6óð ð	Ü -Ð.EÓ FÐðÜ!Ð"3Ó4Ð4øÜò Ùðûô ò 	Ùð	úô ×(Ñ(¨¯©×)AÑ)AÓBˆ
ð
 $×.Ñ.¨sÓ3ñ		
ØØØ'à�?‰?˜nÒ,Ü—7‘7—<‘< 
§¡Ð1LÓMÐMð '>×&CÑ&CÀCÓ&HÈ"�|ˆÙØ×Ñ  =×#4Ñ#4°RÓ#8Ô9ð
Ü+¨C¯H©H°]Ó,CÓD�ðÜ)¨+Ó6�Hð øô "ò Ùðûô  ¤Ð,ò Ùðúô ð6à8OñPóð ô —G‘G—L‘L Ð9¨LÒ9ˆ	Ü
�‰�I¨Õ-Ø'ò 	ˆKÜ—w‘w—|‘| H¨kÓ:ˆHÜ”b—g‘g—l‘l 8¨]Ó;¸SÓAñ Ø÷÷ ñ úð	ð
 ÐsT   ÁA8 Á
A) Á)	A5Á4A5Á8	BÂBÄ5E+ ÅE Å	E(Å'E(Å+E=Å<E=ÈHÈH(	c                 ó4   — d| j                   j                  z  S )Nz%s.py)r^   rD   rM   s    r   ÚfilenamezMigrationWriter.filename  s   € à˜Ÿ™×,Ñ,Ñ,Ð,r   c                 ój   — t         j                  j                  | j                  | j                  «      S r   )rŠ   r‹   rW   r›   r�   rM   s    r   r‹   zMigrationWriter.path  s   € ä�w‰w�|‰|˜DŸL™L¨$¯-©-Ó8Ð8r   c                 ó4   — t        |«      j                  «       S r   )r
   r(   )Úclsr0   s     r   r(   zMigrationWriter.serialize  s   € ä! %Ó(×2Ñ2Ó4Ð4r   c                 ó0   — t        j                  ||«       y r   )r	   Úregister)r    Útype_Ú
serializers      r   Úregister_serializerz#MigrationWriter.register_serializer!  s   € ä×Ñ˜E :Õ.r   c                 ó.   — t        j                  |«       y r   )r	   Ú
unregister)r    r£   s     r   Úunregister_serializerz%MigrationWriter.unregister_serializer%  s   € ä×Ñ˜eÕ$r   N)T)rY   rA   rZ   Ú__doc__r   r€   Úpropertyr›   r�   r‹   Úclassmethodr(   r¥   r¨   r[   r   r   r'   r'   v   sŒ   „ ñó
*ò
P*ðd ñ?ó ð?ðB ñ-ó ð-ð ñ9ó ð9ð ñ5ó ð5ð ñ/ó ð/ð ñ%ó ñ%r   r'   z4# Generated by Django %(version)s on %(timestamp)s

z»%(migration_header)s%(imports)s

class Migration(migrations.Migration):
%(replaces_str)s%(initial_str)s
    dependencies = [
%(dependencies)s    ]

    operations = [
%(operations)s    ]
)rŠ   rq   Ú	importlibr   Údjangor   Údjango.appsr   Údjango.confr   Ú	django.dbr   Údjango.db.migrations.loaderr   Údjango.db.migrations.serializerr	   r
   Údjango.utils.inspectr   Údjango.utils.module_loadingr   Údjango.utils.timezoner   r   r'   rw   rz   r[   r   r   ú<module>r¶      sU   ðÛ 	Û 	Ý #å Ý õ *Ý  Ý 7ß JÝ .Ý 2Ý %÷a$ñ a$÷Hq%ñ q%ðhÐ ðÑ r   