
    ZeIi                         d dl mZ d dlmZ d dlmZ  G d d          Z G d d          Z G d d	          Z G d
 d          Z	 G d d          Z
 G d d          Z G d d          ZdS )    )zip_longest)schema)
ClauseListc                        e Zd Zd Zd Zd ZdS )CompareTablec                     || _         d S N)table)selfr
   s     b/var/www/html/MCyber-Diagnostic/venv/lib/python3.11/site-packages/alembic/testing/schemacompare.py__init__zCompareTable.__init__   s    


    c                     | j         j        |j        k    s| j         j        |j        k    rdS t          | j         j        |j                  D ]&\  }}|||| dS t          |          |k    r dS 'dS NFT)r
   namer   r   cCompareColumn)r   otherc1c2s       r   __eq__zCompareTable.__eq__   s    :?ej((DJ,=,M,M5!$*,88 	 	FB
r~
r~uuR  B&&uu ' tr   c                 .    |                      |           S r	   r   r   r   s     r   __ne__zCompareTable.__ne__       ;;u%%%%r   N__name__
__module____qualname__r   r   r    r   r   r   r      sA             & & & & &r   r   c                        e Zd Zd Zd Zd ZdS )r   c                     || _         d S r	   )column)r   r$   s     r   r   zCompareColumn.__init__    s    r   c                 V    | j         j        |j        k    o| j         j        |j        k    S r	   )r$   r   nullabler   s     r   r   zCompareColumn.__eq__#   s*    K
* 7$6	
r   c                 .    |                      |           S r	   r   r   s     r   r   zCompareColumn.__ne__*   r   r   Nr   r!   r   r   r   r      sA          
 
 
& & & & &r   r   c                   (    e Zd ZddZd Zd Zd ZdS )CompareIndexFc                 "    || _         || _        d S r	   )index	name_only)r   r+   r,   s      r   r   zCompareIndex.__init__/   s    
"r   c                     | j         r| j        j        |j        k    S t          t	          j        | j                            t          t	          j        |                    k    o| j        j        |j        k    S r	   )r,   r+   r   strr   CreateIndexdialect_kwargsr   s     r   r   zCompareIndex.__eq__3   sm    > 	:?ej00 F&tz2233v)%00112 FJ-1EEr   c                 .    |                      |           S r	   r   r   s     r   r   zCompareIndex.__ne__=   r   r   c                     t          | j        j         }	 |                                j        }n# t
          $ r t          |          }Y nw xY wd| j        j         d| dS )Nz<CompareIndex (z)>)r   r+   expressionscompilestring	Exceptionr.   r   )r   exprexpr_strs      r   __repr__zCompareIndex.__repr__@   so    4:12	!||~~,HH 	! 	! 	!4yyHHH	!>
>>(>>>>s   / A
AN)F)r   r   r    r   r   r   r:   r!   r   r   r)   r)   .   sU        # # # #  & & &? ? ? ? ?r   r)   c                        e Zd Zd Zd Zd ZdS )CompareCheckConstraintc                     || _         d S r	   
constraintr   r?   s     r   r   zCompareCheckConstraint.__init__J       $r   c                 :   t          |t          j                  o| j        j        |j        k    olt          | j        j                  t          |j                  k    o=|j        j        | j        j        j        k    o|j        j        | j        j        j        k    S r	   )
isinstancer   CheckConstraintr?   r   r.   sqltextr
   r   s     r   r   zCompareCheckConstraint.__eq__M   s    uf455 C$
2CT_,--U]1C1CCC !T_%:%??C "do&;&BB	
r   c                 .    |                      |           S r	   r   r   s     r   r   zCompareCheckConstraint.__ne__V   r   r   Nr   r!   r   r   r<   r<   I   sA        % % %
 
 
& & & & &r   r<   c                        e Zd Zd Zd Zd ZdS )CompareForeignKeyc                     || _         d S r	   r>   r@   s     r   r   zCompareForeignKey.__init__[   rA   r   c                 t   t          |t          j                  oR| j        j        |j        k    o=|j        j        | j        j        j        k    o|j        j        | j        j        j        k    }|sdS t          | j        j        |j                  D ]&\  }}|||| dS t          |          |k    r dS 'dS r   )	rC   r   ForeignKeyConstraintr?   r   r
   r   columnsr   r   r   r1r   r   s        r   r   zCompareForeignKey.__eq__^   s    uf9:: C$
2C!T_%:%??C "do&;&BB	 	  	5!$/"95=II 	 	FB
r~
r~uuR  B&&uu 'tr   c                 .    |                      |           S r	   r   r   s     r   r   zCompareForeignKey.__ne__p   r   r   Nr   r!   r   r   rH   rH   Z   sA        % % %  $& & & & &r   rH   c                        e Zd Zd Zd Zd ZdS )ComparePrimaryKeyc                     || _         d S r	   r>   r@   s     r   r   zComparePrimaryKey.__init__u   rA   r   c                 t   t          |t          j                  oR| j        j        |j        k    o=|j        j        | j        j        j        k    o|j        j        | j        j        j        k    }|sdS t          | j        j        |j                  D ]&\  }}|||| dS t          |          |k    r dS 'dS r   )	rC   r   PrimaryKeyConstraintr?   r   r
   r   rL   r   rM   s        r   r   zComparePrimaryKey.__eq__x   s    uf9:: C$
2C!T_%:%??C "do&;&BB	 	  	5!$/"95=II 	 	FB
r~
r~uuR  B&&uu ' tr   c                 .    |                      |           S r	   r   r   s     r   r   zComparePrimaryKey.__ne__   r   r   Nr   r!   r   r   rQ   rQ   t   A        % % %  (& & & & &r   rQ   c                        e Zd Zd Zd Zd ZdS )CompareUniqueConstraintc                     || _         d S r	   r>   r@   s     r   r   z CompareUniqueConstraint.__init__   rA   r   c                 t   t          |t          j                  oR| j        j        |j        k    o=|j        j        | j        j        j        k    o|j        j        | j        j        j        k    }|sdS t          | j        j        |j                  D ]&\  }}|||| dS t          |          |k    r dS 'dS r   )	rC   r   UniqueConstraintr?   r   r
   r   rL   r   rM   s        r   r   zCompareUniqueConstraint.__eq__   s    uf566 C$
2C!T_%:%??C "do&;&BB	 	  	5!$/"95=II 	 	FB
r~
r~uuR  B&&uu ' tr   c                 .    |                      |           S r	   r   r   s     r   r   zCompareUniqueConstraint.__ne__   r   r   Nr   r!   r   r   rX   rX      rV   r   rX   N)	itertoolsr   
sqlalchemyr   sqlalchemy.sql.elementsr   r   r   r)   r<   rH   rQ   rX   r!   r   r   <module>r`      s]   ! ! ! ! ! !       . . . . . .& & & & & & & &0& & & & & & & &? ? ? ? ? ? ? ?6& & & & & & & &"& & & & & & & &4& & & & & & & &8& & & & & & & & & &r   