
    !hB                    z    S r SSKJr  SSKJr  SSKJrJrJr  \(       a  SSK	J
r
  SSKJr  SSKJr   " S S	5      rg
)zY
Download timeout middleware

See documentation in docs/topics/downloader-middleware.rst
    )annotations)TYPE_CHECKING)RequestSpidersignals)Self)Crawler)Responsec                  V    \ rS rSrSS	S jjr\S
S j5       rSS jr      SS jrSr	g)DownloadTimeoutMiddleware   c                    Xl         g )N_timeout)selftimeouts     s/root/1688_scrapy/alibaba-scraper/venv/lib/python3.13/site-packages/scrapy/downloadermiddlewares/downloadtimeout.py__init__"DownloadTimeoutMiddleware.__init__   s    &    c                    U " UR                   R                  S5      5      nUR                  R                  UR                  [        R                  S9  U$ )NDOWNLOAD_TIMEOUT)signal)settingsgetfloatr   connectspider_opened)clscrawleros      r   from_crawler&DownloadTimeoutMiddleware.from_crawler   sD      ))*<=>8M8MNr   c                <    [        USU R                  5      U l        g Ndownload_timeout)getattrr   )r   spiders     r   r   'DownloadTimeoutMiddleware.spider_opened   s    (:DMMJr   c                r    U R                   (       a&  UR                  R                  SU R                   5        g r$   )r   meta
setdefault)r   requestr'   s      r   process_request)DownloadTimeoutMiddleware.process_request"   s'     ==LL##$6Fr   r   N)   )r   float)r   r	   returnr   )r'   r   r1   None)r,   r   r'   r   r1   zRequest | Response | None)
__name__
__module____qualname____firstlineno__r   classmethodr!   r   r-   __static_attributes__ r   r   r   r      s>    '  
K(.	"r   r   N)__doc__
__future__r   typingr   scrapyr   r   r   typing_extensionsr   scrapy.crawlerr	   scrapy.httpr
   r   r9   r   r   <module>rA      s.    #   + +&&$ r   