Adrian
508bd7faec
Type late Crawler attributes as always set instead of None ( #7882 )
2026-08-10 09:07:34 +02:00
Adrian
3180116cd0
Improve test coverage for scrapy.commands ( #7829 )
2026-07-31 12:19:49 +05:00
Laerte Pereira
01447f9965
fix(commands/parse): Restore request callback before invoking spider ( #7803 )
...
* fix(commands/parse): restore request callback before invoking spider
* Add other test
2026-07-29 16:00:24 +05:00
Andrey Rakhmatullin
fc14a0ce59
Enable mypy warn_return_any. ( #7492 )
2026-05-04 22:24:47 +02:00
Albert Eduardovich N.
58d85282cf
chore: more ruff rules and overall minor improvements ( #7386 )
...
* overall prettyfication
- don't create empty mutable containers (lists, dicts) where it is appropriate
- removed from ignore section and applied some rules from ruff (but keep them ignored in tests)
- use `deque` in `_AsyncCooperatorAdapter` instead of `list.pop(0)`
- remove `f` prefix from strings without any formatting
* return `SIM300` to ignore
* apply ruff rules to all files
* another one
* remove extra space in pyproject.toml
* simplify `__getattr__` in `scrapy.utils.url`
* lazy `url_is_from_any_domain` and `url_is_from_spider`
* improve typing
* specify `arg_to_iter` with None as arg
2026-04-03 19:00:13 +05:00
Andrey Rakhmatullin
dd0b071bcc
Deprecate sync methods of ItemPipelineManager/ITEM_PROCESSOR. ( #7043 )
2025-10-03 14:15:42 +02:00
Andrey Rakhmatullin
baa579df62
Deprecate various `spider` args in `MiddlewareManager` subclasses ( #6984 )
...
* Add a crawler argument to MiddlewareManager.__init__().
* Deprecate the spider argument in some MiddlewareManager subclasses.
* Remove the spider argument from ExecutionEngine.open_spider_async().
* Remove the spider argument from Scraper.open_spider().
* Fix the Scraper.close_spider() type hint.
* Remove the spider argument from Downloader internals.
* Deprecate the spider arg of download_func.
* Deprecate the spider arg of Downloader.fetch().
* Deprecate the spider arg of ItemPipelineManager.process_item().
* Fix pylint.
* Tests for MiddlewareManager spider code.
* Deprecated spider arg handling for custom pipeline managers.
* Add a test for the deprecated spider arg in a custom downloader.
* Remove TODO.
* Fix pylint.
2025-08-05 12:21:08 +05:00
Andrey Rakhmatullin
b86f00327a
Refactor more Deferred functions. ( #6795 )
2025-05-13 20:47:57 +02:00
Adrián Chaves
036f3e5627
Support asynchronous start requests ( #6729 )
2025-05-07 19:04:03 +02:00
Adrián Chaves
5a0690c89d
Remove or post-pone the use of itemadapter.is_item, as a potentially expensive call ( #6719 )
2025-03-11 14:52:48 +01:00
Andrey Rakhmatullin
c87354cd46
Enable SIM Ruff rules.
2025-01-02 01:03:36 +05:00
Andrey Rakhmatullin
838ff99f37
Enable RUF Ruff rules.
2025-01-01 21:41:08 +05:00
Andrey Rakhmatullin
e7595837a6
Add flake8-raise rules to ruff.
2024-12-12 20:33:35 +05:00
Andrey Rakhmatullin
897e124a27
Add flake8-return rules to ruff.
2024-12-12 20:32:25 +05:00
Andrey Rakhmatullin
d47f142d0f
Add flake8-type-checking rules to ruff.
2024-12-10 01:28:20 +05:00
Andrey Rakhmatullin
b042ad255d
Address some previously ignored pylint messages. ( #6531 )
2024-11-11 11:49:52 +01:00
Andrey Rakhmatullin
c9095ef927
Remove --keep-runtime-typing from pyupgrade.
2024-10-17 21:26:02 +05:00
Andrey Rakhmatullin
f65e64a724
Misc typing improvements. ( #6494 )
2024-10-16 18:38:43 +02:00
Vsevolod Breus
5391663072
Drop Python 3.8 Support ( #6472 )
2024-10-16 10:03:16 +02:00
Andrey Rakhmatullin
558b1d11d2
Use CallbackT for Request.callback. ( #6422 )
2024-07-01 09:30:49 +02:00
Andrey Rakhmatullin
e47110f9a5
Add parameteres to most Deferred instances. ( #6414 )
2024-06-26 10:01:43 +02:00
Andrey Rakhmatullin
d08f559600
Add flake8-type-checking. ( #6413 )
2024-06-25 10:20:59 +02:00
Andrey Rakhmatullin
480a11b68b
Add mssing __future__ imports.
2024-06-05 22:48:16 +05:00
Andrey Rakhmatullin
262c10d85b
Use typing.Coroutine instead of types.CoroutineType.
2024-06-05 22:11:34 +05:00
Andrey Rakhmatullin
2e214210f6
Add parameters to iterable generics, replace generators with iterables.
2024-06-05 21:44:04 +05:00
Andrey Rakhmatullin
6ecc9e0a34
Add typing for scrapy/commands ( #6268 )
2024-03-06 13:21:08 +01:00
Adrián Chaves
e8dadb9592
scrapy parse: fix the signature of callbacks from the CLI ( #6182 )
2024-01-15 13:37:03 +01:00
Mohammadtaher Abbasi
afafc2781a
Fix parse command issues with asyncio ( #5824 )
2023-03-10 16:20:15 +01:00
Jalil SA
a5c1ef8276
sort imports with isort
2023-01-25 14:25:15 -06:00
Emmanuel Rondan
e211ec0aa2
adding black formatter to all the code
2022-11-29 11:30:46 -03:00
Mark Mayo
f9a29f03d9
Address some issues reported by Pylint ( #5677 )
...
Co-authored-by: Felipe Boff Nunes <51033921+felipeboffnunes@users.noreply.github.com>
Co-authored-by: Andrey Rahmatullin <wrar@wrar.name>
2022-11-27 11:00:13 +01:00
Mohammadtaher Abbasi
043575123c
Add async callback support to the parse command ( #5577 )
2022-10-15 10:11:05 +02:00
Adrián Chaves
00ccb02f1f
Merge remote-tracking branch 'upstream/2.6'
2022-07-25 14:13:22 +02:00
Andreas Tziortziortziopoulos
83c1939281
Issue #3264 , fix error handling when spider is not matched
...
Changes
Implementation:
- Check whether Spider exists or is None, and if it's None skip execution of start_requests() with non existing Spider
Testing:
- Add a test case with invalid url inside test_command_parse
Test proves that non-matched Spider does not throw an AttributeError
2022-05-06 03:59:30 +03:00
Alex
915c288205
edit
2022-04-24 15:17:48 -07:00
Alex
56c9098d6a
changed default depth to 1
2022-04-24 15:17:48 -07:00
Alex
b0f5503cb8
Fixes Issue #5481
2022-04-24 15:17:48 -07:00
Alex
e2e2ffd0d1
Move from optparse to argparse ( #5374 )
2022-02-09 20:52:07 +01:00
Eugenio Lacuesta
ef09e0d10f
Some type hints
2020-12-02 10:39:10 -03:00
Ammar Najjar
58ca8bbf6d
Use f-strings ( #4307 )
2020-08-26 07:11:05 +02:00
Aditya Kumar
3f7e8635f4
Allow the parse command to write data to a file ( #4377 )
2020-07-11 08:48:24 +02:00
Eugenio Lacuesta
ec98dabfab
Support for dataclass and attrs items ( #3881 )
2020-06-14 11:45:27 +02:00
Eugenio Lacuesta
ee13c3e95f
Merge branch 'master' into deprecate-baseitem
2020-05-14 13:31:16 -03:00
Eugenio Lacuesta
5256eae60d
Meta class to handle isinstance checks for BaseItem
2020-05-07 14:37:41 -03:00
Eugenio Lacuesta
2af34873cc
Flake8: Remove E128 (commands module)
2020-05-06 17:25:14 -03:00
Eugenio Lacuesta
c887fe37ad
Simplify parse command
2020-04-04 22:15:36 -03:00
Eugenio Lacuesta
4270e0a0da
Fix E731: do not assign a lambda expression
2020-04-04 21:54:55 -03:00
Marc Hernandez Cabot
6fb85951ce
fix E22X flake8
2020-02-21 08:39:14 +01:00
Eugenio Lacuesta
415526d922
Remove __future__ imports
2019-11-02 23:26:38 -03:00
s-sanjay
2c14692e60
remove .keys() to avoid creating a tmp list/keyview obj ( #4031 )
...
Also add --verbose and --nolinks for code coverage
2019-09-27 09:56:43 +02:00