Stop using IFeedStorage.

This commit is contained in:
Andrey Rakhmatullin 2026-07-11 23:10:42 +05:00
parent 7f0e998662
commit c7d486b91c
2 changed files with 6 additions and 4 deletions

View File

@ -18,6 +18,11 @@ Backward-incompatible changes
- :func:`~scrapy.spiderloader.get_spider_loader` no longer checks that the
configured spider loader implements the ``ISpiderLoader`` interface.
- :class:`~scrapy.extensions.feedexport.BlockingFeedStorage`,
- :class:`~scrapy.extensions.feedexport.FileFeedStorage` and
- :class:`~scrapy.extensions.feedexport.StdoutFeedStorage` are no longer
marked as implementing the ``IFeedStorage`` interface.
(:issue:`6585`, :issue:`TBD`)
.. _release-2.17.0:

View File

@ -22,7 +22,7 @@ from urllib.parse import unquote, urlparse
from twisted.internet.defer import Deferred, DeferredList
from w3lib.url import file_uri_to_path
from zope.interface import Interface, implementer
from zope.interface import Interface
from scrapy import Spider, signals
from scrapy.exceptions import NotConfigured, ScrapyDeprecationWarning
@ -120,7 +120,6 @@ class FeedStorageProtocol(Protocol):
"""Store the given file stream"""
@implementer(IFeedStorage)
class BlockingFeedStorage(ABC):
def open(self, spider: Spider) -> IO[bytes]:
path = spider.crawler.settings["FEED_TEMPDIR"]
@ -137,7 +136,6 @@ class BlockingFeedStorage(ABC):
raise NotImplementedError
@implementer(IFeedStorage)
class StdoutFeedStorage:
def __init__(
self,
@ -164,7 +162,6 @@ class StdoutFeedStorage:
pass
@implementer(IFeedStorage)
class FileFeedStorage:
def __init__(self, uri: str, *, feed_options: dict[str, Any] | None = None):
self.path: str = file_uri_to_path(uri) if uri.startswith("file:") else uri