From 3ba2dc4d682c459ca3fa4419a68ae18b52a47642 Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Mon, 24 Jul 2023 17:49:04 +0400 Subject: [PATCH] Fixes for addon docs. --- docs/topics/addons.rst | 17 ++++++++--------- docs/topics/api.rst | 11 ----------- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/docs/topics/addons.rst b/docs/topics/addons.rst index 8733f9bde..f02399671 100644 --- a/docs/topics/addons.rst +++ b/docs/topics/addons.rst @@ -14,10 +14,8 @@ developers. Activating and configuring add-ons ================================== -Add-ons and their configuration live in Scrapy's -:class:`~scrapy.addons.AddonManager`. During a :class:`~scrapy.crawler.Crawler` -initialization the add-on manager will read a list of enabled add-ons from your -``ADDONS`` setting. +During :class:`~scrapy.crawler.Crawler` initialization, the list of enabled +add-ons is read from your ``ADDONS`` setting. The ``ADDONS`` setting is a dict in which every key is an add-on class or its import path and the value is its priority. @@ -27,7 +25,7 @@ This is an example where two add-ons are enabled in a project's ADDONS = { 'path.to.someaddon': 0, - path.to.someaddon2: 1, + SomeAddonClass: 1, } @@ -158,14 +156,14 @@ Use a fallback component: from scrapy.core.downloader.handlers.http import HTTPDownloadHandler - fallback_setting = "MY_FALLBACK_DOWNLOAD_HANDLER" + FALLBACK_SETTING = "MY_FALLBACK_DOWNLOAD_HANDLER" class MyHandler: lazy = False def __init__(self, settings, crawler): - dhcls = load_object(settings.get(fallback_setting)) + dhcls = load_object(settings.get(FALLBACK_SETTING)) self._fallback_handler = create_instance( dhcls, settings=None, @@ -182,9 +180,10 @@ Use a fallback component: class MyAddon: def update_settings(self, settings): - if not settings.get(fallback_setting): + if not settings.get(FALLBACK_SETTING): settings.set( - fallback_setting, + FALLBACK_SETTING, settings.getwithbase("DOWNLOAD_HANDLERS")["https"], "addon", ) + settings["DOWNLOAD_HANDLERS"]["http"] = "path.to.MyHandler" diff --git a/docs/topics/api.rst b/docs/topics/api.rst index d1a5497fb..16c28405c 100644 --- a/docs/topics/api.rst +++ b/docs/topics/api.rst @@ -155,17 +155,6 @@ Settings API .. autoclass:: BaseSettings :members: -.. _topics-api-addonmanager: - -AddonManager API -================ - -.. module:: scrapy.addons - :synopsis: Add-on manager - -.. autoclass:: AddonManager - :members: - .. _topics-api-spiderloader: SpiderLoader API