
    5 f:                         d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 	 ddej
        ded	efd
Zdej
        d	dfdZdej
        d	dfdZd Zde	d	dfdZdS )z#Astroid hooks for the PyQT library.    )nodesparse)register_module_extender)AstroidBuilder)AstroidManager
pyqtSignalnodesignal_namereturnc                    | j                             dg           }|                                                     d          d         dv rt	          d |D                       S |r"	 |d         j        |k    S # t          $ r Y nw xY wdS )zDetect a Signal node.	__class__.r   >   PySide2PySide6c              3   F   K   | ]}|                                 d k    V  dS )SignalNqname).0clss     L/var/www/equiseq/venv/lib/python3.11/site-packages/astroid/brain/brain_qt.py	<genexpr>z%_looks_like_signal.<locals>.<genexpr>   s/      >>s399;;(*>>>>>>    F)instance_attrsgetr   	partitionanynameAttributeError)r	   r
   klassess      r   _looks_like_signalr!      s     !%%k266Gzz||c""1%)???>>g>>>>>> 	1:?k11 	 	 	D	 5s   'A8 8
BBNc                     t          d          }|d         }|d         g| j        d<   |d         g| j        d<   |d         g| j        d<   d S )Nz
    _UNSET = object()

    class pyqtSignal(object):
        def connect(self, slot, type=None, no_receiver_check=False):
            pass
        def disconnect(self, slot=_UNSET):
            pass
        def emit(self, *args):
            pass
    r   emit
disconnectconnectr   r   r	   module
signal_clss      r   transform_pyqt_signalr*      sg    
	 F "(!5J#-f#5"6D)3L)A(BD%&0&;%<D	"""r   c                     t          d          }|d         }|d         g| j        d<   |d         g| j        d<   |d         g| j        d<   d S )Nz
    class NotPySideSignal(object):
        def connect(self, receiver, type=None):
            pass
        def disconnect(self, receiver):
            pass
        def emit(self, *args):
            pass
    NotPySideSignalr%   r$   r#   r&   r'   s      r   transform_pyside_signalr-   2   sh    	
 
F "((9!:J&0&;%<D	")3L)A(BD%#-f#5"6Dr   c                  ^    t          t                                                    d          S )NzY

def SIGNAL(signal_name): pass

class QObject(object):
    def emit(self, signal): pass
)r   r   string_build r   r   pyqt4_qtcore_transformr1   D   s-    .**++88	  r   managerc                     t          | dt                     |                     t          j        t
          t                     |                     t          j        t          d            d S )NzPyQt4.QtCorec                 .    |                                  dv S )N>   PySide.QtCore.SignalPySide2.QtCore.Signalr   )r	   s    r   <lambda>zregister.<locals>.<lambda>X   s    TZZ\\%VV r   )	r   r1   register_transformr   FunctionDefr*   r!   ClassDefr-   )r2   s    r   registerr;   P   sk    Wn6LMMM02D   VV    r   )r   )__doc__astroidr   r   astroid.brain.helpersr   astroid.builderr   astroid.managerr   r9   strboolr!   r*   r-   r1   r;   r0   r   r   <module>rC      s  
 * )                 : : : : : : * * * * * * * * * * * * 1= 

*-	   "= 1 =d = = = =(7%"3 7 7 7 7 7$	 	 		n 	 	 	 	 	 	 	r   