
    ,h              
         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) z5Establish 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       M/var/www/auris/envauris/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    zz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ZZ((- ryy(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"DJJOr#   c                &    U R                  US5      $ )Nkeyr5   r   r0   s     r    _key_column_X_key ConventionDict._key_column_X_keyH   s     ~~c5))r#   c                &    U R                  US5      $ )Nr   r=   r>   s     r    _key_column_X_name!ConventionDict._key_column_X_nameN   s    ~~c6**r#   c                &    U R                  US5      $ )N
_ddl_labelr=   r>   s     r    _key_column_X_label"ConventionDict._key_column_X_labelQ   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_nameT   sW    ZZ  #!!'',t9>*.'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_name]   s&    ZZ  % yy~~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__d   s   //!??3'

DJJ??T9s?++4S13388$@#FL"((+(..q1	{{ $

 3 3 $TZZ%7%7 8F%.u%5	&S9_c)JJ0"MM'$*=c*BC &6 "+!5!5c!:!:#C88F++"S[[c%::Dc(Ct**&t2377sm  . 0"*3-/0s    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    ++\!l6&: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%[IJ%**d##zz5::t,,JJ J.zzZ' U8+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     %   	!=	
 
E5	!	!ejj$''5::+C,UE: EJ  
"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   
 # 	   " #   (  (  $  a aJ 
4$Td$. C
)
) :455/0! 1 6!r#   