MCPcopy
hub / github.com/scrapy/scrapy / __init__

Method __init__

scrapy/spidermiddlewares/referer.py:292–322  ·  view source on GitHub ↗
(self, settings: BaseSettings | None = None)

Source from the content-addressed store, hash-verified

290
291class RefererMiddleware(BaseSpiderMiddleware):
292 def __init__(self, settings: BaseSettings | None = None): # pylint: disable=super-init-not-called
293 self.default_policy: type[ReferrerPolicy] = DefaultReferrerPolicy
294 self.policies: dict[str, type[ReferrerPolicy]] = {
295 p.name: p
296 for p in (
297 NoReferrerPolicy,
298 NoReferrerWhenDowngradePolicy,
299 SameOriginPolicy,
300 OriginPolicy,
301 StrictOriginPolicy,
302 OriginWhenCrossOriginPolicy,
303 StrictOriginWhenCrossOriginPolicy,
304 UnsafeUrlPolicy,
305 DefaultReferrerPolicy,
306 )
307 }
308 # Reference: https://www.w3.org/TR/referrer-policy/#referrer-policy-empty-string
309 self.policies[""] = NoReferrerWhenDowngradePolicy
310 if settings is None:
311 return
312 setting_policies = settings.getdict("REFERRER_POLICIES")
313 for policy_name, policy_class_import_path in setting_policies.items():
314 if policy_class_import_path is None:
315 del self.policies[policy_name]
316 else:
317 self.policies[policy_name] = load_object(policy_class_import_path)
318 settings_policy = self._load_policy_class(
319 settings.get("REFERRER_POLICY"), allow_import_path=True
320 )
321 assert settings_policy
322 self.default_policy = settings_policy
323
324 @classmethod
325 def from_crawler(cls, crawler: Crawler) -> Self:

Callers

nothing calls this directly

Calls 5

_load_policy_classMethod · 0.95
load_objectFunction · 0.90
getdictMethod · 0.80
itemsMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected