Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

""" 

Download timeout middleware 

 

See documentation in docs/topics/downloader-middleware.rst 

""" 

from scrapy.utils.python import WeakKeyCache 

 

 

class DownloadTimeoutMiddleware(object): 

 

    def __init__(self): 

        self._cache = WeakKeyCache(self._download_timeout) 

 

    def _download_timeout(self, spider): 

16        if hasattr(spider, 'download_timeout'): 

            return spider.download_timeout 

        return spider.settings.getint('DOWNLOAD_TIMEOUT') 

 

    def process_request(self, request, spider): 

        timeout = self._cache[spider] 

exit        if timeout: 

            request.meta.setdefault('download_timeout', timeout)