Skip to content

Commit

Permalink
Merge remote-tracking branch 'Gallaecio/no-callback' into no-callback
Browse files Browse the repository at this point in the history
  • Loading branch information
Gallaecio committed Jan 30, 2023
2 parents 389fd99 + e169947 commit 4239f7e
Show file tree
Hide file tree
Showing 205 changed files with 447 additions and 491 deletions.
15 changes: 6 additions & 9 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,6 @@ jobs:
fail-fast: false
matrix:
include:
- python-version: "3.11"
env:
TOXENV: security
- python-version: "3.11"
env:
TOXENV: flake8
- python-version: "3.11"
env:
TOXENV: pylint
Expand All @@ -26,9 +20,6 @@ jobs:
- python-version: "3.11"
env:
TOXENV: twinecheck
- python-version: "3.11"
env:
TOXENV: black

steps:
- uses: actions/checkout@v3
Expand All @@ -43,3 +34,9 @@ jobs:
run: |
pip install -U tox
tox
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pre-commit/action@v3.0.0
2 changes: 2 additions & 0 deletions .isort.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[settings]
profile = black
9 changes: 4 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,11 @@ repos:
rev: 6.0.0
hooks:
- id: flake8
- repo: https://github.com/PyCQA/pylint
rev: v2.15.6
hooks:
- id: pylint
args: [conftest.py, docs, extras, scrapy, setup.py, tests]
- repo: https://github.com/psf/black.git
rev: 22.12.0
hooks:
- id: black
- repo: https://github.com/pycqa/isort
rev: 5.12.0
hooks:
- id: isort
1 change: 0 additions & 1 deletion conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
from twisted.web.http import H2_ENABLED

from scrapy.utils.reactor import install_reactor

from tests.keys import generate_keys


Expand Down
3 changes: 2 additions & 1 deletion docs/_ext/scrapydocs.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from operator import itemgetter
from docutils.parsers.rst.roles import set_classes

from docutils import nodes
from docutils.parsers.rst import Directive
from docutils.parsers.rst.roles import set_classes
from sphinx.util.nodes import make_refnode


Expand Down
7 changes: 4 additions & 3 deletions extras/qps-bench-server.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
#!/usr/bin/env python
from time import time
from collections import deque
from twisted.web.server import Site, NOT_DONE_YET
from twisted.web.resource import Resource
from time import time

from twisted.internet import reactor
from twisted.web.resource import Resource
from twisted.web.server import NOT_DONE_YET, Site


class Root(Resource):
Expand Down
2 changes: 1 addition & 1 deletion extras/qpsclient.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
"""

from scrapy.spiders import Spider
from scrapy.http import Request
from scrapy.spiders import Spider


class QPSSpider(Spider):
Expand Down
7 changes: 3 additions & 4 deletions scrapy/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,10 @@
from twisted import version as _txv

# Declare top-level shortcuts
from scrapy.spiders import Spider
from scrapy.http import Request, FormRequest
from scrapy.http import FormRequest, Request
from scrapy.item import Field, Item
from scrapy.selector import Selector
from scrapy.item import Item, Field

from scrapy.spiders import Spider

__all__ = [
"__version__",
Expand Down
9 changes: 5 additions & 4 deletions scrapy/cmdline.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
import sys
import os
import argparse
import cProfile
import inspect
import os
import sys

import pkg_resources

import scrapy
from scrapy.commands import BaseRunSpiderCommand, ScrapyCommand, ScrapyHelpFormatter
from scrapy.crawler import CrawlerProcess
from scrapy.commands import ScrapyCommand, ScrapyHelpFormatter, BaseRunSpiderCommand
from scrapy.exceptions import UsageError
from scrapy.utils.misc import walk_modules
from scrapy.utils.project import inside_project, get_project_settings
from scrapy.utils.project import get_project_settings, inside_project
from scrapy.utils.python import garbage_collect


Expand Down
6 changes: 3 additions & 3 deletions scrapy/commands/__init__.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
"""
Base class for Scrapy commands
"""
import os
import argparse
import os
from pathlib import Path
from typing import Any, Dict, Optional

from twisted.python import failure
from scrapy.crawler import CrawlerProcess

from scrapy.utils.conf import arglist_to_dict, feed_process_params_from_cli
from scrapy.crawler import CrawlerProcess
from scrapy.exceptions import UsageError
from scrapy.utils.conf import arglist_to_dict, feed_process_params_from_cli


class ScrapyCommand:
Expand Down
2 changes: 1 addition & 1 deletion scrapy/commands/bench.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import subprocess
import sys
import time
import subprocess
from urllib.parse import urlencode

import scrapy
Expand Down
5 changes: 3 additions & 2 deletions scrapy/commands/check.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import time
from collections import defaultdict
from unittest import TextTestRunner, TextTestResult as _TextTestResult
from unittest import TextTestResult as _TextTestResult
from unittest import TextTestRunner

from scrapy.commands import ScrapyCommand
from scrapy.contracts import ContractsManager
from scrapy.utils.misc import load_object, set_environ
from scrapy.utils.conf import build_component_list
from scrapy.utils.misc import load_object, set_environ


class TextTestResult(_TextTestResult):
Expand Down
2 changes: 1 addition & 1 deletion scrapy/commands/edit.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import sys
import os
import sys

from scrapy.commands import ScrapyCommand
from scrapy.exceptions import UsageError
Expand Down
5 changes: 3 additions & 2 deletions scrapy/commands/fetch.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import sys

from w3lib.url import is_url

from scrapy.commands import ScrapyCommand
from scrapy.http import Request
from scrapy.exceptions import UsageError
from scrapy.http import Request
from scrapy.utils.datatypes import SequenceExclude
from scrapy.utils.spider import spidercls_for_request, DefaultSpider
from scrapy.utils.spider import DefaultSpider, spidercls_for_request


class Command(ScrapyCommand):
Expand Down
5 changes: 2 additions & 3 deletions scrapy/commands/genspider.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
import os
import shutil
import string

from pathlib import Path
from importlib import import_module
from pathlib import Path
from typing import Optional, cast
from urllib.parse import urlparse

import scrapy
from scrapy.commands import ScrapyCommand
from scrapy.utils.template import render_templatefile, string_camelcase
from scrapy.exceptions import UsageError
from scrapy.utils.template import render_templatefile, string_camelcase


def sanitize_module_name(module_name):
Expand Down
6 changes: 3 additions & 3 deletions scrapy/commands/parse.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
import logging
from typing import Dict

from itemadapter import is_item, ItemAdapter
from itemadapter import ItemAdapter, is_item
from twisted.internet.defer import maybeDeferred
from w3lib.url import is_url

from twisted.internet.defer import maybeDeferred
from scrapy.commands import BaseRunSpiderCommand
from scrapy.exceptions import UsageError
from scrapy.http import Request
from scrapy.utils import display
from scrapy.utils.spider import iterate_spider_output, spidercls_for_request
from scrapy.exceptions import UsageError

logger = logging.getLogger(__name__)

Expand Down
6 changes: 3 additions & 3 deletions scrapy/commands/runspider.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import sys
from importlib import import_module
from os import PathLike
from pathlib import Path
from importlib import import_module
from types import ModuleType
from typing import Union

from scrapy.utils.spider import iter_spider_classes
from scrapy.exceptions import UsageError
from scrapy.commands import BaseRunSpiderCommand
from scrapy.exceptions import UsageError
from scrapy.utils.spider import iter_spider_classes


def _import_file(filepath: Union[str, PathLike]) -> ModuleType:
Expand Down
2 changes: 1 addition & 1 deletion scrapy/commands/shell.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from scrapy.commands import ScrapyCommand
from scrapy.http import Request
from scrapy.shell import Shell
from scrapy.utils.spider import spidercls_for_request, DefaultSpider
from scrapy.utils.spider import DefaultSpider, spidercls_for_request
from scrapy.utils.url import guess_scheme


Expand Down
7 changes: 3 additions & 4 deletions scrapy/commands/startproject.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
import re
import os
import re
import string
from importlib.util import find_spec
from pathlib import Path
from shutil import ignore_patterns, move, copy2, copystat
from shutil import copy2, copystat, ignore_patterns, move
from stat import S_IWUSR as OWNER_WRITE_PERMISSION

import scrapy
from scrapy.commands import ScrapyCommand
from scrapy.utils.template import render_templatefile, string_camelcase
from scrapy.exceptions import UsageError

from scrapy.utils.template import render_templatefile, string_camelcase

TEMPLATES_TO_RENDER = (
("scrapy.cfg",),
Expand Down
1 change: 1 addition & 0 deletions scrapy/commands/view.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import argparse

from scrapy.commands import fetch
from scrapy.utils.response import open_in_browser

Expand Down
2 changes: 1 addition & 1 deletion scrapy/contracts/default.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import json

from itemadapter import is_item, ItemAdapter
from itemadapter import ItemAdapter, is_item

from scrapy.contracts import Contract
from scrapy.exceptions import ContractFail
Expand Down
12 changes: 6 additions & 6 deletions scrapy/core/downloader/__init__.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import random
from time import time
from datetime import datetime
from collections import deque
from datetime import datetime
from time import time

from twisted.internet import defer, task

from scrapy.utils.defer import mustbe_deferred
from scrapy.utils.httpobj import urlparse_cached
from scrapy.resolver import dnscache
from scrapy import signals
from scrapy.core.downloader.middleware import DownloaderMiddlewareManager
from scrapy.core.downloader.handlers import DownloadHandlers
from scrapy.core.downloader.middleware import DownloaderMiddlewareManager
from scrapy.resolver import dnscache
from scrapy.utils.defer import mustbe_deferred
from scrapy.utils.httpobj import urlparse_cached


class Slot:
Expand Down
6 changes: 3 additions & 3 deletions scrapy/core/downloader/contextfactory.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
from OpenSSL import SSL
from twisted.internet._sslverify import _setAcceptableProtocols
from twisted.internet.ssl import (
optionsForClientTLS,
AcceptableCiphers,
CertificateOptions,
optionsForClientTLS,
platformTrust,
AcceptableCiphers,
)
from twisted.web.client import BrowserLikePolicyForHTTPS
from twisted.web.iweb import IPolicyForHTTPS
Expand All @@ -15,8 +15,8 @@

from scrapy.core.downloader.tls import (
DEFAULT_CIPHERS,
openssl_methods,
ScrapyClientTLSOptions,
openssl_methods,
)
from scrapy.utils.misc import create_instance, load_object

Expand Down
1 change: 0 additions & 1 deletion scrapy/core/downloader/handlers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
from scrapy.utils.misc import create_instance, load_object
from scrapy.utils.python import without_none_values


logger = logging.getLogger(__name__)


Expand Down
6 changes: 3 additions & 3 deletions scrapy/core/downloader/handlers/http11.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@
from twisted.internet.error import TimeoutError
from twisted.python.failure import Failure
from twisted.web.client import (
URI,
Agent,
HTTPConnectionPool,
ResponseDone,
ResponseFailed,
URI,
)
from twisted.web.http import _DataLoss, PotentialDataLoss
from twisted.web.http import PotentialDataLoss, _DataLoss
from twisted.web.http_headers import Headers as TxHeaders
from twisted.web.iweb import IBodyProducer, UNKNOWN_LENGTH
from twisted.web.iweb import UNKNOWN_LENGTH, IBodyProducer
from zope.interface import implementer

from scrapy import signals
Expand Down
1 change: 0 additions & 1 deletion scrapy/core/downloader/handlers/http2.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
from scrapy.spiders import Spider
from scrapy.utils.python import to_bytes


H2DownloadHandlerOrSubclass = TypeVar(
"H2DownloadHandlerOrSubclass", bound="H2DownloadHandler"
)
Expand Down
2 changes: 1 addition & 1 deletion scrapy/core/downloader/middleware.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
from scrapy.exceptions import _InvalidOutput
from scrapy.http import Request, Response
from scrapy.middleware import MiddlewareManager
from scrapy.utils.defer import mustbe_deferred, deferred_from_coro
from scrapy.utils.conf import build_component_list
from scrapy.utils.defer import deferred_from_coro, mustbe_deferred


class DownloaderMiddlewareManager(MiddlewareManager):
Expand Down
Loading

0 comments on commit 4239f7e

Please sign in to comment.