mirror of https://github.com/scrapy/scrapy.git
Exclude deprecated code from coverage. (#7241)
This commit is contained in:
parent
6a42bc6450
commit
16929c0991
|
|
@ -147,8 +147,8 @@ source = [
|
|||
|
||||
[tool.coverage.report]
|
||||
exclude_also = [
|
||||
"if TYPE_CHECKING:",
|
||||
"@(abc\\.)?abstractmethod",
|
||||
'\A(?s:.*# pragma: no file cover.*)\Z',
|
||||
]
|
||||
|
||||
[tool.pylint.MASTER]
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
# pragma: no file cover
|
||||
import warnings
|
||||
|
||||
from scrapy.core.downloader.handlers.http10 import HTTP10DownloadHandler
|
||||
|
|
|
|||
|
|
@ -159,7 +159,9 @@ class ExecutionEngine:
|
|||
)
|
||||
return scheduler_cls
|
||||
|
||||
def start(self, _start_request_processing=True) -> Deferred[None]:
|
||||
def start(
|
||||
self, _start_request_processing=True
|
||||
) -> Deferred[None]: # pragma: no cover
|
||||
warnings.warn(
|
||||
"ExecutionEngine.start() is deprecated, use start_async() instead",
|
||||
ScrapyDeprecationWarning,
|
||||
|
|
@ -197,7 +199,7 @@ class ExecutionEngine:
|
|||
self._start_request_processing_awaitable = Deferred.fromCoroutine(coro)
|
||||
await maybe_deferred_to_future(self._closewait)
|
||||
|
||||
def stop(self) -> Deferred[None]:
|
||||
def stop(self) -> Deferred[None]: # pragma: no cover
|
||||
warnings.warn(
|
||||
"ExecutionEngine.stop() is deprecated, use stop_async() instead",
|
||||
ScrapyDeprecationWarning,
|
||||
|
|
@ -233,7 +235,7 @@ class ExecutionEngine:
|
|||
if self._closewait:
|
||||
self._closewait.callback(None)
|
||||
|
||||
def close(self) -> Deferred[None]:
|
||||
def close(self) -> Deferred[None]: # pragma: no cover
|
||||
warnings.warn(
|
||||
"ExecutionEngine.close() is deprecated, use close_async() instead",
|
||||
ScrapyDeprecationWarning,
|
||||
|
|
@ -510,7 +512,9 @@ class ExecutionEngine:
|
|||
finally:
|
||||
self._slot.nextcall.schedule()
|
||||
|
||||
def open_spider(self, spider: Spider, close_if_idle: bool = True) -> Deferred[None]:
|
||||
def open_spider(
|
||||
self, spider: Spider, close_if_idle: bool = True
|
||||
) -> Deferred[None]: # pragma: no cover
|
||||
warnings.warn(
|
||||
"ExecutionEngine.open_spider() is deprecated, use open_spider_async() instead",
|
||||
ScrapyDeprecationWarning,
|
||||
|
|
@ -573,7 +577,9 @@ class ExecutionEngine:
|
|||
assert isinstance(ex, CloseSpider) # typing
|
||||
_schedule_coro(self.close_spider_async(reason=ex.reason))
|
||||
|
||||
def close_spider(self, spider: Spider, reason: str = "cancelled") -> Deferred[None]:
|
||||
def close_spider(
|
||||
self, spider: Spider, reason: str = "cancelled"
|
||||
) -> Deferred[None]: # pragma: no cover
|
||||
warnings.warn(
|
||||
"ExecutionEngine.close_spider() is deprecated, use close_spider_async() instead",
|
||||
ScrapyDeprecationWarning,
|
||||
|
|
|
|||
|
|
@ -426,7 +426,7 @@ class Scheduler(BaseScheduler):
|
|||
key="",
|
||||
start_queue_cls=self._smqclass,
|
||||
)
|
||||
except TypeError:
|
||||
except TypeError: # pragma: no cover
|
||||
warn(
|
||||
f"The __init__ method of {global_object_name(self.pqclass)} "
|
||||
f"does not support a `start_queue_cls` keyword-only "
|
||||
|
|
@ -455,7 +455,7 @@ class Scheduler(BaseScheduler):
|
|||
startprios=state,
|
||||
start_queue_cls=self._sdqclass,
|
||||
)
|
||||
except TypeError:
|
||||
except TypeError: # pragma: no cover
|
||||
warn(
|
||||
f"The __init__ method of {global_object_name(self.pqclass)} "
|
||||
f"does not support a `start_queue_cls` keyword-only "
|
||||
|
|
|
|||
|
|
@ -151,7 +151,9 @@ class Scraper:
|
|||
else:
|
||||
self._itemproc_has_async[method] = True
|
||||
|
||||
def open_spider(self, spider: Spider | None = None) -> Deferred[None]:
|
||||
def open_spider(
|
||||
self, spider: Spider | None = None
|
||||
) -> Deferred[None]: # pragma: no cover
|
||||
warnings.warn(
|
||||
"Scraper.open_spider() is deprecated, use open_spider_async() instead",
|
||||
ScrapyDeprecationWarning,
|
||||
|
|
@ -176,7 +178,9 @@ class Scraper:
|
|||
self.itemproc.open_spider(self.crawler.spider)
|
||||
)
|
||||
|
||||
def close_spider(self, spider: Spider | None = None) -> Deferred[None]:
|
||||
def close_spider(
|
||||
self, spider: Spider | None = None
|
||||
) -> Deferred[None]: # pragma: no cover
|
||||
warnings.warn(
|
||||
"Scraper.close_spider() is deprecated, use close_spider_async() instead",
|
||||
ScrapyDeprecationWarning,
|
||||
|
|
@ -294,7 +298,7 @@ class Scraper:
|
|||
|
||||
def call_spider(
|
||||
self, result: Response | Failure, request: Request, spider: Spider | None = None
|
||||
) -> Deferred[Iterable[Any] | AsyncIterator[Any]]:
|
||||
) -> Deferred[Iterable[Any] | AsyncIterator[Any]]: # pragma: no cover
|
||||
warnings.warn(
|
||||
"Scraper.call_spider() is deprecated, use call_spider_async() instead",
|
||||
ScrapyDeprecationWarning,
|
||||
|
|
@ -388,7 +392,7 @@ class Scraper:
|
|||
request: Request,
|
||||
response: Response | Failure,
|
||||
spider: Spider | None = None,
|
||||
) -> Deferred[None]:
|
||||
) -> Deferred[None]: # pragma: no cover
|
||||
"""Pass items/requests produced by a callback to ``_process_spidermw_output()`` in parallel."""
|
||||
warnings.warn(
|
||||
"Scraper.handle_spider_output() is deprecated, use handle_spider_output_async() instead",
|
||||
|
|
@ -467,7 +471,7 @@ class Scraper:
|
|||
|
||||
def start_itemproc(
|
||||
self, item: Any, *, response: Response | Failure | None
|
||||
) -> Deferred[None]:
|
||||
) -> Deferred[None]: # pragma: no cover
|
||||
"""Send *item* to the item pipelines for processing.
|
||||
|
||||
*response* is the source of the item data. If the item does not come
|
||||
|
|
|
|||
|
|
@ -383,7 +383,7 @@ class SpiderMiddlewareManager(MiddlewareManager):
|
|||
response: Response,
|
||||
request: Request,
|
||||
spider: Spider,
|
||||
) -> Deferred[MutableChain[_T] | MutableAsyncChain[_T]]:
|
||||
) -> Deferred[MutableChain[_T] | MutableAsyncChain[_T]]: # pragma: no cover
|
||||
warn(
|
||||
"SpiderMiddlewareManager.scrape_response() is deprecated, use scrape_response_async() instead",
|
||||
ScrapyDeprecationWarning,
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ _P = ParamSpec("_P")
|
|||
_DEFER_DELAY = 0.1
|
||||
|
||||
|
||||
def defer_fail(_failure: Failure) -> Deferred[Any]:
|
||||
def defer_fail(_failure: Failure) -> Deferred[Any]: # pragma: no cover
|
||||
"""Same as twisted.internet.defer.fail but delay calling errback until
|
||||
next reactor loop
|
||||
|
||||
|
|
@ -64,7 +64,7 @@ def defer_fail(_failure: Failure) -> Deferred[Any]:
|
|||
return d
|
||||
|
||||
|
||||
def defer_succeed(result: _T) -> Deferred[_T]:
|
||||
def defer_succeed(result: _T) -> Deferred[_T]: # pragma: no cover
|
||||
"""Same as twisted.internet.defer.succeed but delay calling callback until
|
||||
next reactor loop
|
||||
|
||||
|
|
@ -99,7 +99,7 @@ async def _defer_sleep_async() -> None:
|
|||
await d
|
||||
|
||||
|
||||
def defer_result(result: Any) -> Deferred[Any]:
|
||||
def defer_result(result: Any) -> Deferred[Any]: # pragma: no cover
|
||||
warnings.warn(
|
||||
"scrapy.utils.defer.defer_result() is deprecated, use"
|
||||
" twisted.internet.defer.success() and twisted.internet.defer.fail(),"
|
||||
|
|
@ -137,7 +137,7 @@ def mustbe_deferred(
|
|||
f: Callable[_P, Deferred[_T] | _T],
|
||||
*args: _P.args,
|
||||
**kw: _P.kwargs,
|
||||
) -> Deferred[_T]:
|
||||
) -> Deferred[_T]: # pragma: no cover
|
||||
"""Same as twisted.internet.defer.maybeDeferred, but delay calling
|
||||
callback/errback to next reactor loop
|
||||
"""
|
||||
|
|
@ -299,7 +299,7 @@ def process_chain(
|
|||
input: _T, # noqa: A002
|
||||
*a: _P.args,
|
||||
**kw: _P.kwargs,
|
||||
) -> Deferred[_T]:
|
||||
) -> Deferred[_T]: # pragma: no cover
|
||||
"""Return a Deferred built by chaining the given callbacks"""
|
||||
warnings.warn(
|
||||
"process_chain() is deprecated.",
|
||||
|
|
@ -452,7 +452,7 @@ def _maybeDeferred_coro(
|
|||
return result
|
||||
if asyncio.isfuture(result) or inspect.isawaitable(result):
|
||||
return deferred_from_coro(result)
|
||||
if isinstance(result, failure.Failure):
|
||||
if isinstance(result, failure.Failure): # pragma: no cover
|
||||
if warn:
|
||||
warnings.warn(
|
||||
f"{global_object_name(f)} returned a Failure, this is deprecated."
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ def csviter(
|
|||
quotechar is the character used to enclosure fields on the given obj.
|
||||
"""
|
||||
|
||||
if encoding is not None:
|
||||
if encoding is not None: # pragma: no cover
|
||||
warn(
|
||||
"The encoding argument of csviter() is ignored and will be removed"
|
||||
" in a future Scrapy version.",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ if TYPE_CHECKING:
|
|||
_T = TypeVar("_T")
|
||||
|
||||
|
||||
def assert_gcs_environ() -> None:
|
||||
def assert_gcs_environ() -> None: # pragma: no cover
|
||||
warnings.warn(
|
||||
"The assert_gcs_environ() function is deprecated and will be removed in a future version of Scrapy."
|
||||
" Check GCS_PROJECT_ID directly.",
|
||||
|
|
@ -48,7 +48,7 @@ def assert_gcs_environ() -> None:
|
|||
raise SkipTest("GCS_PROJECT_ID not found")
|
||||
|
||||
|
||||
def skip_if_no_boto() -> None:
|
||||
def skip_if_no_boto() -> None: # pragma: no cover
|
||||
warnings.warn(
|
||||
"The skip_if_no_boto() function is deprecated and will be removed in a future version of Scrapy."
|
||||
" Check scrapy.utils.boto.is_botocore_available() directly.",
|
||||
|
|
@ -61,7 +61,7 @@ def skip_if_no_boto() -> None:
|
|||
|
||||
def get_gcs_content_and_delete(
|
||||
bucket: Any, path: str
|
||||
) -> tuple[bytes, list[dict[str, str]], Any]:
|
||||
) -> tuple[bytes, list[dict[str, str]], Any]: # pragma: no cover
|
||||
from google.cloud import storage # noqa: PLC0415
|
||||
|
||||
warnings.warn(
|
||||
|
|
@ -85,7 +85,7 @@ def get_ftp_content_and_delete(
|
|||
username: str,
|
||||
password: str,
|
||||
use_active_mode: bool = False,
|
||||
) -> bytes:
|
||||
) -> bytes: # pragma: no cover
|
||||
warnings.warn(
|
||||
"The get_ftp_content_and_delete() function is deprecated and will be removed in a future version of Scrapy.",
|
||||
category=ScrapyDeprecationWarning,
|
||||
|
|
@ -185,7 +185,7 @@ def get_from_asyncio_queue(value: _T) -> Awaitable[_T]:
|
|||
return getter
|
||||
|
||||
|
||||
def mock_google_cloud_storage() -> tuple[Any, Any, Any]:
|
||||
def mock_google_cloud_storage() -> tuple[Any, Any, Any]: # pragma: no cover
|
||||
"""Creates autospec mocks for google-cloud-storage Client, Bucket and Blob
|
||||
classes and set their proper return values.
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
# pragma: no file cover
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
# pragma: no file cover
|
||||
import warnings
|
||||
from urllib.parse import urljoin
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ def get_versions(
|
|||
return [(item, _version(item)) for item in software]
|
||||
|
||||
|
||||
def scrapy_components_versions() -> list[tuple[str, str]]:
|
||||
def scrapy_components_versions() -> list[tuple[str, str]]: # pragma: no cover
|
||||
warn(
|
||||
(
|
||||
"scrapy.utils.versions.scrapy_components_versions() is deprecated, "
|
||||
|
|
|
|||
Loading…
Reference in New Issue