§
    3¾ dW	  ã                   ó8   — d dl mZ d dlmZ  G d„ d¦  «        ZdS )é    )Ú
dispatcher)Úsignalc                   ó@   — e Zd Zej        fd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
dS )ÚSignalManagerc                 ó   — || _         d S )N)Úsender)Úselfr   s     ú4lib/python3.11/site-packages/scrapy/signalmanager.pyÚ__init__zSignalManager.__init__   s   € ØˆŒˆˆó    c                 ó^   — |                      d| j        ¦  «         t          j        ||fi |¤ŽS )a”  
        Connect a receiver function to a signal.

        The signal can be any object, although Scrapy comes with some
        predefined signals that are documented in the :ref:`topics-signals`
        section.

        :param receiver: the function to be connected
        :type receiver: collections.abc.Callable

        :param signal: the signal to connect to
        :type signal: object
        r   )Ú
setdefaultr   r   Úconnect©r	   Úreceiverr   Úkwargss       r
   r   zSignalManager.connect
   s7   € ð 	×Ò˜( D¤KÑ0Ô0Ð0ÝÔ! (¨FÐ=Ð=°fÐ=Ð=Ð=r   c                 ó^   — |                      d| j        ¦  «         t          j        ||fi |¤ŽS )z«
        Disconnect a receiver function from a signal. This has the
        opposite effect of the :meth:`connect` method, and the arguments
        are the same.
        r   )r   r   r   Ú
disconnectr   s       r
   r   zSignalManager.disconnect   s7   € ð 	×Ò˜( D¤KÑ0Ô0Ð0ÝÔ$ X¨vÐ@Ð@¸Ð@Ð@Ð@r   c                 ó\   — |                      d| j        ¦  «         t          j        |fi |¤ŽS )z¸
        Send a signal, catch exceptions and log them.

        The keyword arguments are passed to the signal handlers (connected
        through the :meth:`connect` method).
        r   )r   r   Ú_signalÚsend_catch_log©r	   r   r   s      r
   r   zSignalManager.send_catch_log$   ó5   € ð 	×Ò˜( D¤KÑ0Ô0Ð0ÝÔ% fÐ7Ð7°Ð7Ð7Ð7r   c                 ó\   — |                      d| j        ¦  «         t          j        |fi |¤ŽS )až  
        Like :meth:`send_catch_log` but supports returning
        :class:`~twisted.internet.defer.Deferred` objects from signal handlers.

        Returns a Deferred that gets fired once all signal handlers
        deferreds were fired. Send a signal, catch exceptions and log them.

        The keyword arguments are passed to the signal handlers (connected
        through the :meth:`connect` method).
        r   )r   r   r   Úsend_catch_log_deferredr   s      r
   r   z%SignalManager.send_catch_log_deferred.   s5   € ð 	×Ò˜( D¤KÑ0Ô0Ð0ÝÔ.¨vÐ@Ð@¸Ð@Ð@Ð@r   c                 ó\   — |                      d| j        ¦  «         t          j        |fi |¤ŽS )z”
        Disconnect all receivers from the given signal.

        :param signal: the signal to disconnect from
        :type signal: object
        r   )r   r   r   Údisconnect_allr   s      r
   r   zSignalManager.disconnect_all<   r   r   N)Ú__name__Ú
__module__Ú__qualname__r   Ú	Anonymousr   r   r   r   r   r   © r   r
   r   r      s   € € € € € Ø(Ô2ð ð ð ð ð>ð >ð >ð"Að Að Að8ð 8ð 8ðAð Að Að8ð 8ð 8ð 8ð 8r   r   N)Ú
pydispatchr   Úscrapy.utilsr   r   r   r"   r   r
   ú<module>r%      s[   ðØ !Ð !Ð !Ð !Ð !Ð !à *Ð *Ð *Ð *Ð *Ð *ð>8ð >8ð >8ð >8ð >8ñ >8ô >8ð >8ð >8ð >8r   