未验证 提交 440e45d1 编写于 作者: A Andrey Rahmatullin 提交者: GitHub

Merge pull request #4900 from elacuesta/deprecate_utils_py36

Deprecate scrapy.utils.py36 module
async def collect_asyncgen(result):
results = []
async for x in result:
results.append(x)
return results
""" import warnings
Helpers using Python 3.6+ syntax (ignore SyntaxError on import).
"""
from scrapy.exceptions import ScrapyDeprecationWarning
from scrapy.utils.asyncgen import collect_asyncgen # noqa: F401
async def collect_asyncgen(result):
results = [] warnings.warn(
async for x in result: "Module `scrapy.utils.py36` is deprecated, please import from `scrapy.utils.asyncgen` instead.",
results.append(x) category=ScrapyDeprecationWarning,
return results stacklevel=2,
)
...@@ -4,17 +4,14 @@ import logging ...@@ -4,17 +4,14 @@ import logging
from scrapy.spiders import Spider from scrapy.spiders import Spider
from scrapy.utils.defer import deferred_from_coro from scrapy.utils.defer import deferred_from_coro
from scrapy.utils.misc import arg_to_iter from scrapy.utils.misc import arg_to_iter
try: from scrapy.utils.asyncgen import collect_asyncgen
from scrapy.utils.py36 import collect_asyncgen
except SyntaxError:
collect_asyncgen = None
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
def iterate_spider_output(result): def iterate_spider_output(result):
if collect_asyncgen and hasattr(inspect, 'isasyncgen') and inspect.isasyncgen(result): if inspect.isasyncgen(result):
d = deferred_from_coro(collect_asyncgen(result)) d = deferred_from_coro(collect_asyncgen(result))
d.addCallback(iterate_spider_output) d.addCallback(iterate_spider_output)
return d return d
......
...@@ -55,9 +55,6 @@ ignore_errors = True ...@@ -55,9 +55,6 @@ ignore_errors = True
[mypy-scrapy.utils.response] [mypy-scrapy.utils.response]
ignore_errors = True ignore_errors = True
[mypy-scrapy.utils.spider]
ignore_errors = True
[mypy-scrapy.utils.trackref] [mypy-scrapy.utils.trackref]
ignore_errors = True ignore_errors = True
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册