mirror of https://github.com/scrapy/scrapy.git
Address typing issues
This commit is contained in:
parent
d2bb2579f7
commit
4a23215ce3
|
|
@ -13,7 +13,7 @@ from scrapy.linkextractors import LinkExtractor
|
|||
|
||||
if TYPE_CHECKING:
|
||||
import argparse
|
||||
from collections.abc import AsyncIterable
|
||||
from collections.abc import AsyncIterator
|
||||
|
||||
|
||||
class Command(ScrapyCommand):
|
||||
|
|
@ -59,7 +59,7 @@ class _BenchSpider(scrapy.Spider):
|
|||
baseurl = "http://localhost:8998"
|
||||
link_extractor = LinkExtractor()
|
||||
|
||||
async def start(self) -> AsyncIterable[Any]:
|
||||
async def start(self) -> AsyncIterator[Any]:
|
||||
qargs = {"total": self.total, "show": self.show}
|
||||
url = f"{self.baseurl}?{urlencode(qargs, doseq=True)}"
|
||||
yield scrapy.Request(url, dont_filter=True)
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ from scrapy.utils.misc import build_from_crawler, load_object
|
|||
from scrapy.utils.reactor import CallLaterOnce
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from collections.abc import AsyncIterable, Callable
|
||||
from collections.abc import AsyncIterator, Callable
|
||||
|
||||
from scrapy.core.downloader import Downloader
|
||||
from scrapy.core.scheduler import BaseScheduler
|
||||
|
|
@ -101,7 +101,7 @@ class ExecutionEngine:
|
|||
spider_closed_callback
|
||||
)
|
||||
self.start_time: float | None = None
|
||||
self._start: AsyncIterable[Any] | None = None
|
||||
self._start: AsyncIterator[Any] | None = None
|
||||
self._started_request_processing = False
|
||||
downloader_cls: type[Downloader] = load_object(self.settings["DOWNLOADER"])
|
||||
try:
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ See documentation in docs/topics/spider-middleware.rst
|
|||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
from collections.abc import AsyncIterable, Callable, Iterable
|
||||
from collections.abc import AsyncIterable, AsyncIterator, Callable, Iterable
|
||||
from inspect import isasyncgenfunction, iscoroutine
|
||||
from itertools import islice
|
||||
from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
|
||||
|
|
@ -388,14 +388,14 @@ class SpiderMiddlewareManager(MiddlewareManager):
|
|||
return dfd2
|
||||
|
||||
@deferred_f_from_coro_f
|
||||
async def process_start(self, spider: Spider) -> AsyncIterable[Any] | None:
|
||||
async def process_start(self, spider: Spider) -> AsyncIterator[Any] | None:
|
||||
self._check_deprecated_start_requests_use(spider)
|
||||
if self._use_start_requests:
|
||||
sync_start = iter(spider.start_requests())
|
||||
sync_start = await maybe_deferred_to_future(
|
||||
self._process_chain("process_start_requests", sync_start, spider)
|
||||
)
|
||||
start = as_async_generator(sync_start)
|
||||
start: AsyncIterator[Any] = as_async_generator(sync_start)
|
||||
else:
|
||||
start = spider.start()
|
||||
start = await maybe_deferred_to_future(
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ from scrapy.utils.trackref import object_ref
|
|||
from scrapy.utils.url import url_is_from_spider
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from collections.abc import AsyncIterable, Iterable
|
||||
from collections.abc import AsyncIterator, Iterable
|
||||
|
||||
from twisted.internet.defer import Deferred
|
||||
|
||||
|
|
@ -78,7 +78,7 @@ class Spider(object_ref):
|
|||
self.settings: BaseSettings = crawler.settings
|
||||
crawler.signals.connect(self.close, signals.spider_closed)
|
||||
|
||||
async def start(self) -> AsyncIterable[Any]:
|
||||
async def start(self) -> AsyncIterator[Any]:
|
||||
"""Yield the initial :class:`~scrapy.Request` objects to send.
|
||||
|
||||
.. versionadded:: VERSION
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import warnings
|
||||
from collections.abc import AsyncIterable, Iterable
|
||||
from collections.abc import AsyncIterator, Iterable
|
||||
from typing import TYPE_CHECKING, Any, cast
|
||||
|
||||
from scrapy import Request
|
||||
|
|
@ -29,7 +29,7 @@ class InitSpider(Spider):
|
|||
stacklevel=2,
|
||||
)
|
||||
|
||||
async def start(self) -> AsyncIterable[Any]:
|
||||
async def start(self) -> AsyncIterator[Any]:
|
||||
for item_or_request in self.start_requests():
|
||||
yield item_or_request
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import logging
|
|||
import re
|
||||
|
||||
# Iterable is needed at the run time for the SitemapSpider._parse_sitemap() annotation
|
||||
from collections.abc import AsyncIterable, Iterable, Sequence # noqa: TC003
|
||||
from collections.abc import AsyncIterator, Iterable, Sequence # noqa: TC003
|
||||
from typing import TYPE_CHECKING, Any, cast
|
||||
|
||||
from scrapy.http import Request, Response, XmlResponse
|
||||
|
|
@ -53,7 +53,7 @@ class SitemapSpider(Spider):
|
|||
self._cbs.append((regex(r), c))
|
||||
self._follow: list[re.Pattern[str]] = [regex(x) for x in self.sitemap_follow]
|
||||
|
||||
async def start(self) -> AsyncIterable[Any]:
|
||||
async def start(self) -> AsyncIterator[Any]:
|
||||
for item_or_request in self.start_requests():
|
||||
yield item_or_request
|
||||
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ class CallLaterOnce(Generic[_T]):
|
|||
self._a: tuple[Any, ...] = a
|
||||
self._kw: dict[str, Any] = kw
|
||||
self._call: DelayedCall | None = None
|
||||
self._deferreds = []
|
||||
self._deferreds: list[Deferred] = []
|
||||
|
||||
def schedule(self, delay: float = 0) -> None:
|
||||
from twisted.internet import reactor
|
||||
|
|
|
|||
Loading…
Reference in New Issue