useragent: if spider user_agent attribute is None, use default useragent instead of not including one

--HG--
extra : convert_revision : svn%3Ab85faa78-f9eb-468e-a121-7cced6da292c%401095
This commit is contained in:
Daniel Grana 2009-04-27 16:56:16 +00:00
parent 78fa0bc2d8
commit 560dd3fd8e
2 changed files with 8 additions and 1 deletions

View File

@ -9,6 +9,6 @@ class UserAgentMiddleware(object):
default_useragent = settings.get('USER_AGENT')
def process_request(self, request, spider):
ua = getattr(spider, 'user_agent', self.default_useragent)
ua = getattr(spider, 'user_agent', None) or self.default_useragent
if ua:
request.headers.setdefault('User-Agent', ua)

View File

@ -23,7 +23,14 @@ class CookiesMiddlewareTest(TestCase):
assert self.mw.process_request(req, self.spider) is None
self.assertEquals(req.headers['User-Agent'], 'default_useragent')
# None or not present user_agent attribute is the same
self.spider.user_agent = None
req = Request('http://scrapytest.org/')
assert self.mw.process_request(req, self.spider) is None
self.assertEquals(req.headers['User-Agent'], 'default_useragent')
def test_spider_agent(self):
self.mw.default_useragent = 'default_useragent'
self.spider.user_agent = 'spider_useragent'
req = Request('http://scrapytest.org/')
assert self.mw.process_request(req, self.spider) is None