From ec8b4c1a9bfd004960d730b41078b9f0633627d8 Mon Sep 17 00:00:00 2001 From: Paul Tremberth Date: Tue, 11 Oct 2016 20:00:34 +0200 Subject: [PATCH] Change __init__ default "settings" arg handling --- scrapy/spidermiddlewares/referer.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/scrapy/spidermiddlewares/referer.py b/scrapy/spidermiddlewares/referer.py index deda7b284..2a3790bde 100644 --- a/scrapy/spidermiddlewares/referer.py +++ b/scrapy/spidermiddlewares/referer.py @@ -222,18 +222,18 @@ _policy_classes = {p.name: p for p in ( class RefererMiddleware(object): - def __init__(self, settings={}): - policy = settings.get('REFERER_POLICY') - if policy is not None: - try: - self.default_policy = load_object(policy) - except ValueError: + def __init__(self, settings=None): + self.default_policy = DefaultReferrerPolicy + if settings is not None: + policy = settings.get('REFERER_POLICY') + if policy is not None: try: - self.default_policy = _policy_classes[policy.lower()] - except: - raise NotConfigured("Unknown referrer policy name %r" % policy) - else: - self.default_policy = DefaultReferrerPolicy + self.default_policy = load_object(policy) + except ValueError: + try: + self.default_policy = _policy_classes[policy.lower()] + except: + raise NotConfigured("Unknown referrer policy name %r" % policy) @classmethod def from_crawler(cls, crawler):