ó
    Ñ]jÇ  ã            
      ó€  • S r SSKJr  SSKrSSKJr  SSKJr  SSKJ	r	  SSK
Jr  SS	K
Jr  SS
K
Jr  SSK
Jr  SSK
Jr  SSK
Jr  SSK
Jr  SSK
Jr  SSKJr  SSKJr   " S S5      r\S\S\S\S\S0rS rS r\R2                  " \S5      S 5       r\R2                  " \S5      \R2                  " \S5      S 5       5       rg) z2Establish constraint and index naming conventions.é    )ÚannotationsNé   )Úevents)Ú
_NONE_NAME)Úconv)ÚCheckConstraint)ÚColumn)Ú
Constraint)ÚForeignKeyConstraint)ÚIndex)ÚPrimaryKeyConstraint)ÚTable)ÚUniqueConstrainté   )Úevent)Úexcc                  óP   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rSrg)ÚConventionDicté   c                ót   • Xl         [        U[        5      U l        X l        X0l        UR                  U l        g ©N)ÚconstÚ
isinstancer   Ú_is_fkÚtableÚ
conventionÚnameÚ_const_name)Úselfr   r   r   s       ÚR/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sqlalchemy/sql/naming.pyÚ__init__ÚConventionDict.__init__   s,   € ØŒ
Ü  Ô(<Ó=ˆŒØŒ
Ø$ŒØ Ÿ:™:ˆÕó    c                ó.   • U R                   R                  $ r   )r   r   ©r   s    r    Ú_key_table_nameÚConventionDict._key_table_name&   s   € Ø�z‰z�‰Ðr#   c                ó"  • U R                   (       a0   U R                  R                  U   n[        UR                  U5      $ [        U R                  R                  5      n XA   n[        XR5      $ ! [
         a     gf = f! [
         a     gf = f)NÚ )r   r   ÚelementsÚgetattrÚparentÚ
IndexErrorÚlistÚcolumns)r   ÚidxÚattrnameÚfkÚcolsÚcols         r    Ú	_column_XÚConventionDict._column_X)   s‰   € Ø�;�;ð4Ø—Z‘Z×(Ñ(¨Ñ-�ô ˜rŸy™y¨(Ó3Ð3ä˜Ÿ
™
×*Ñ*Ó+ˆDð.Ø‘i�ô ˜sÓ-Ð-øô ó Ùðûô ó Ùðús#   “A1 Á"B Á1
A>Á=A>Â
BÂBc                óÒ   • U R                   S [        4;   a  [        R                  " S5      e[	        U R                   [
        5      (       d  S U R                  l        U R                   $ )NzcNaming convention including %(constraint_name)s token requires that constraint is explicitly named.)r   r   r   ÚInvalidRequestErrorr   r   r   r   r%   s    r    Ú_key_constraint_nameÚ#ConventionDict._key_constraint_name:   sY   € Ø×Ñ ¤jÐ1Ó1Ü×)Ò)ð2óð ô
 ˜$×*Ñ*¬D×1Ñ1Ø"ˆD�J‰JŒOØ×ÑÐr#   c                ó&   • U R                  US5      $ )NÚkey©r5   ©r   r0   s     r    Ú_key_column_X_keyÚ ConventionDict._key_column_X_keyE   s   € ð �~‰~˜c 5Ó)Ð)r#   c                ó&   • U R                  US5      $ )Nr   r=   r>   s     r    Ú_key_column_X_nameÚ!ConventionDict._key_column_X_nameK   s   € Ø�~‰~˜c 6Ó*Ð*r#   c                ó&   • U R                  US5      $ )NÚ
_ddl_labelr=   r>   s     r    Ú_key_column_X_labelÚ"ConventionDict._key_column_X_labelN   s   € Ø�~‰~˜c <Ó0Ð0r#   c                ó¢   • U R                   R                  S   nUR                  R                  S5      n[	        U5      S:X  a  Uu  p4nU$ Uu  pEU$ )Nr   Ú.é   )r   r*   Útarget_fullnameÚsplitÚlen)r   r2   ÚrefsÚ	refschemaÚreftableÚrefcols         r    Ú_key_referred_table_nameÚ'ConventionDict._key_referred_table_nameQ   sW   € Ø�Z‰Z× Ñ  Ñ#ˆØ×!Ñ!×'Ñ'¨Ó,ˆÜˆt‹9˜‹>Ø*.Ñ'ˆI ð ˆð  $ÑˆHØˆr#   c                ó`   • U R                   R                  U   nUR                  R                  $ r   )r   r*   Úcolumnr   )r   r0   r2   s      r    Ú_key_referred_column_X_nameÚ*ConventionDict._key_referred_column_X_nameZ   s&   € Ø�Z‰Z× Ñ  Ñ%ˆð �y‰y�~‰~Ðr#   c                ó   • XR                   ;   a*  U R                   U   " U R                  U R                  5      $ [        U SU-  5      (       a  [	        U SU-  5      " 5       $ [
        R                  " SU5      nU(       Ga+  UR                  S5      nUR                  S5      nU(       aÁ  U R                  (       a  U R                  R                  nO[        U R                  R                  5      n/ n[        U5       H>  u  p7SUR                  SU-   S5      -   n UR                  [	        X5      " U5      5        M@     UR#                  S5      (       a  SOS	n	U	R%                  U5      $ SUR                  US5      -   n['        U5      n[        X5      (       a  [	        X5      " U5      $ [!        U5      e! [         a    [!        U5      ef = f)
Nz_key_%sz.*_?column_(\d+)(_?N)?_.+r   r   Ú_key_Ú0ÚXÚ_r)   )r   r   r   Úhasattrr+   ÚreÚmatchÚgroupr   r*   r.   r/   Ú	enumerateÚreplaceÚappendÚAttributeErrorÚKeyErrorÚ
startswithÚjoinÚint)
r   r<   Úcol_templater0   Ú	multiplesÚelemsÚtokensÚelemÚattrÚseps
             r    Ú__getitem__ÚConventionDict.__getitem__a   s€  € Ø—/‘/Ó!Ø—?‘? 3Ò'¨¯
©
°D·J±JÓ?Ð?Ü�T˜9 s™?×+Ñ+Ü˜4 ¨S¡Ô1Ó3Ð3äŸ8š8Ð$@À#ÓFˆLßØ"×(Ñ(¨Ó+�Ø(×.Ñ.¨qÓ1�	æØ—{—{Ø $§
¡
× 3Ñ 3™ä $ T§Z¡Z×%7Ñ%7Ó 8˜Ø�FÜ%.¨uÖ%5™	˜Ø&¨¯©°S¸9±_ÀcÓ)JÑJ˜ð0Ø"ŸM™M¬'°$Ô*=¸cÓ*BÖCñ &6ð "+×!5Ñ!5°c×!:Ñ!:™#À�CØŸ8™8 FÓ+Ð+à" S§[¡[°°cÓ%:Ñ:�DÜ˜c›(�CÜ˜t×*Ñ*Ü& tÔ2°3Ó7Ð7Ü�s‹mÐøô  .ó 0Ü"*¨3£-Ð/ð0ús   Ä F7Æ7G)r   r   r   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r!   r&   r5   r9   r?   rB   rF   rR   rV   rp   Ú__static_attributes__© r#   r    r   r      s4   † ò&òò.ò"	 ò*ò+ò1òòõr#   r   ÚixÚpkÚckÚuqr2   c                óŠ   • UR                    H3  nU[        ;   a  [        U   U ;   a  U [        U      s  $ X ;   d  M/  X   s  $    g r   )Ú__mro__Ú_prefix_dict)Údict_r<   Úsuper_s      r    Ú_get_conventionr�   ‹   sF   € Ø—+”+ˆØ”\Ó!¤l°6Ñ&:¸eÓ&CØœ fÑ-Ñ.Ò.Ø�_Ø‘=Ò ñ	 ð r#   c                ó˜  • UR                   n[        UR                  [        U 5      5      n[	        U R
                  [        5      (       a  U R
                  $ Ubg  [	        U R
                  [        5      (       dH  U R
                  b  SU;   d  U R
                  [        L a"  [        U[        XUR                  5      -  5      $ U[        L a  g g )NÚconstraint_name)	Úmetadatar�   Únaming_conventionÚtyper   r   r   r   r   )r   r   r„   r   s       r    Ú_constraint_name_for_tabler‡   •   s«   € Ø�~‰~€HÜ  ×!;Ñ!;¼TÀ%»[ÓI€Jä�%—*‘*œd×#Ñ#Ø�z‰zÐàÑÜ˜5Ÿ:™:¤t×,Ñ,à�J‰JÑØ  JÓ.Ø�z‰zœZÒ'ô ØÜ˜U¨8×+EÑ+EÓFñGó
ð 	
ð 
”zÒ	!Øð 
"r#   Ú'_sa_event_column_added_to_pk_constraintc                ó€   • U R                   (       a-  U R                  nS U l        [        X5      nU(       a  X0l        g g g r   )Ú_implicit_generatedr   r   r‡   )Úpk_constraintr4   r   Únewnames       r    Ú_column_added_to_pk_constraintr�   ¬   s?   € ð ×(×(ð
 ×#Ñ#ˆØ!ˆÔÜ,¨]ÓBˆÞØ!(Õð ð )r#   Úafter_parent_attachc                ó2  ^ • [        U[        5      (       a  [        R                  " USU 4S j5        g [        U[        5      (       aO  [        T R
                  [        5      (       d  T R
                  [        L a  g [        T U5      nU(       a  UT l        g g g )NrŽ   c                ó   >• [        TU5      $ r   )Ú_constraint_name)r4   r   r   s     €r    Ú<lambda>Ú"_constraint_name.<locals>.<lambda>È   s   ø€ Ô/°°uÔ=r#   )	r   r	   r   Úlistenr   r   r   r   r‡   )r   r   rŒ   s   `  r    r‘   r‘   ¼   sw   ø€ ô �%œ× Ñ ô 	�ŠØØ!Ü=õ	
ô 
�Eœ5×	!Ñ	!Ü�e—j‘j¤$×'Ñ'¨5¯:©:¼Ò+CØä,¨U°EÓ:ˆÞØ ˆE�Jð ð 
"r#   )Ú__doc__Ú
__future__r   r^   r)   r   Úbaser   r*   r   Úschemar   r	   r
   r   r   r   r   r   r   r   r   r~   r�   r‡   Úlistens_forr�   r‘   rw   r#   r    Ú<module>rš      sÍ   ðñ 9å "ã 	å Ý Ý "Ý #Ý Ý Ý (Ý Ý (Ý Ý $Ý Ý ÷añ aðJ 
ˆ4Ø˜$Ø�TØ�dØ˜$ð€òòð. ×ÒØÐCóñ
)óð
)ð ×Ò�:Ð4Ó5Ø×Ò�5Ð/Ó0ñ!ó 1ó 6ñ!r#   