Adrian
388d4fcf04
Add a _load_objects() helper for object-or-path setting lists ( #7857 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 11:56:46 +05:00
Andrey Rakhmatullin
3f3cb885ed
Address warnings in tests. ( #7637 )
2026-06-19 06:55:02 +02:00
JSap0914
b7824db573
Fix rel_has_nofollow to be case-insensitive per HTML spec ( #7632 )
...
The HTML specification states that link type keywords like 'nofollow'
are ASCII case-insensitive. Sites using rel="NoFollow" or rel="NOFOLLOW"
were incorrectly treated as follow links, causing Scrapy to crawl pages
it should skip.
Fix: add .lower() before the token split so all casing variants of
'nofollow' are correctly recognized.
Co-authored-by: JSap0914 <JSap0914@users.noreply.github.com>
2026-06-17 14:48:43 +05:00
Andrey Rakhmatullin
55c17a8985
Disable mypy allow_any_generics. ( #7532 )
2026-05-18 15:54:06 +02:00
Andrey Rakhmatullin
fc14a0ce59
Enable mypy warn_return_any. ( #7492 )
2026-05-04 22:24:47 +02:00
Albert Eduardovich N.
9776a72a6a
chore: simplify some code, get rid of nested fns where it's makes sence + pylint ( #7401 )
...
* chore: simplify some code, get rid of nested fns where it's makes sence
reasoning: https://wemake-python-styleguide.readthedocs.io/en/latest/pages/usage/violations/best_practices.html#wemake_python_styleguide.violations.best_practices.NestedFunctionViolation
* chore: address some pylint rules
* remove `pylint: disable=deprecated-class` from `reactor.py`
* fix typo
* fix another typo :)
* revert backward incompatible arg renames
---------
Co-authored-by: Andrey Rakhmatullin <wrar@wrar.name>
2026-05-04 23:32:46 +05: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
Albert Eduardovich N.
ed31dcbb10
deprecate `walk_modules` in favour of `walk_modules_iter` ( #7388 )
...
* deprecate `walk_modules` in favour of `walk_modules_iter`
* remove deprecation line from docstring
* addressing review
2026-04-01 22:11:35 +05:00
Andrey Rakhmatullin
61b4befc60
Remove code deprecated in 2.12.0 ( #7126 )
...
* Remove smaller things.
* Remove from_settings().
* Remove old MediaPipeline init code.
* Cleanup.
* Typo.
2025-10-27 17:14:38 +05:00
Andrey Rakhmatullin
4279f2837c
Enable the flake8-builtins rules. ( #6942 )
2025-07-05 21:43:18 +05:00
Andrey Rakhmatullin
df342eee6e
Bump tool versions. ( #6941 )
2025-07-05 10:30:30 +02:00
Mehraz Hossain Rumman
3ca882fba8
Syntax Error Fixed ( #6738 )
...
* Syntax error fix issue #6731
* test case added
* extra logic removed
* mock spider fixture
* Update scrapy/utils/misc.py
Co-authored-by: Adrián Chaves <adrian@chaves.gal>
* settings.rst updated
* settings.rst updated
* settings.rst updated
---------
Co-authored-by: Adrián Chaves <adrian@chaves.gal>
2025-03-20 17:02:10 +05:00
Andrey Rakhmatullin
838ff99f37
Enable RUF Ruff rules.
2025-01-01 21:41:08 +05:00
Andrey Rakhmatullin
cde0845ab2
Ruff: migrate pyupgrade and bandit, enable some other rules ( #6577 )
2024-12-10 19:53:27 +01:00
Adrián Chaves
10089c6fe2
2.12 release notes ( #6226 )
...
* Cover 2.12 in the release notes up to 9bb973dc54
* Add one more highlight
* Better merge of the news entries.
* Cover 2.12 in the release notes up to 642af40 .
* Cover 2.12 in the release notes up to 7a0a34b .
* Cover 2.12 in the release notes up to b4bad97 .
* Add not yet merged PRs #6463 , #6507 , #6511 to the 2.12 release notes.
* Cover 2.12 in the release notes up to d85c39f , small fixes.
* Cover 2.12 in the release notes up to d215669 .
* Cover #6527 in the release notes.
* Address PR feedback.
* Cover recent PRs.
* Finalize the 2.12.0 release notes, small additional fixes.
---------
Co-authored-by: Andrey Rakhmatullin <wrar@wrar.name>
2024-11-18 13:07:32 +05:00
Andrey Rakhmatullin
8700a5b7a9
Deprecate build_from_crawler() calling from_settings().
2024-11-13 00:20:10 +05:00
Andrey Rakhmatullin
eda3a89b3f
Remove build_from_settings().
2024-11-11 16:44:47 +05:00
Rohit Kumar Singh
d2156696c4
Deprecate unused scrapy utils ( #6519 )
...
* Added deprecation warnings for unused Scrapy.utils
* Grammatical corrections
* Exceptions class connected
* Deprecation of ScrapyJSONDecoder
* request_authenticate function deprecation
* Making all warning similar
* Added ignore statements for deprecation warning in tests
* Missing stacklevel attr. added
* Added Deprecation message
2024-11-04 21:09:45 +05:00
ThunderMind
5bbf8124ac
Updated deprecated ast.NameConstant with ast.Constant #6305 ( #6463 )
2024-10-29 10:28:00 +01:00
Andrey Rakhmatullin
c9095ef927
Remove --keep-runtime-typing from pyupgrade.
2024-10-17 21:26:02 +05:00
Vsevolod Breus
5391663072
Drop Python 3.8 Support ( #6472 )
2024-10-16 10:03:16 +02:00
Andrey Rakhmatullin
d08f559600
Add flake8-type-checking. ( #6413 )
2024-06-25 10:20:59 +02:00
Andrey Rakhmatullin
2e214210f6
Add parameters to iterable generics, replace generators with iterables.
2024-06-05 21:44:04 +05:00
Andrey Rakhmatullin
019f23e3b7
Add parameters to some of typing.Callable.
2024-06-02 18:42:01 +05:00
Andrey Rakhmatullin
70c56faf48
Add parameters to typing.IO.
2024-05-31 21:41:27 +05:00
Andrey Rakhmatullin
d7da298e06
Typing for build_from_*. ( #6326 )
2024-04-29 16:14:59 +02:00
Adrián Chaves
aa1bf69079
Mark hashlib usages as not intended for security ( #6264 )
2024-03-01 12:48:00 +01:00
Andrey Rakhmatullin
282767f23b
Bump black.
2024-02-28 14:30:38 +05:00
Swati Anshu
c67f730695
create_instance → build_from_crawler, build_from_settings ( #6169 )
2023-12-18 11:51:02 +01:00
Laerte Pereira
aa0a425826
Remove deprecated code moved to itemloaders
2023-10-17 18:20:12 -03:00
Andrey Rakhmatullin
e7124447f7
Remove unneeded code.
2023-06-26 16:57:46 +04:00
Andrey Rakhmatullin
4e21e3e59d
Merge remote-tracking branch 'origin/master' into addons
2023-06-26 14:25:35 +04:00
Andrey Rakhmatullin
c7f78a8305
Revert "Remove load_module_or_object."
...
This reverts commit 815af43120 .
2023-06-14 20:43:18 +04:00
Andrey Rakhmatullin
815af43120
Remove load_module_or_object.
2023-06-14 18:11:14 +04:00
Andrey Rakhmatullin
075ad6f196
Test, linter etc. fixes.
2023-06-14 16:34:18 +04:00
Andrey Rakhmatullin
898e3045a1
Merge branch 'master' into addons
2023-06-14 15:37:08 +04:00
Andrey Rakhmatullin
6998e1c905
Fix typing-related issued on Python < 3.9.
2023-05-10 14:21:18 +04:00
Andrey Rakhmatullin
ea299dfd7c
Add typing to scrapy/utils/misc.py.
2023-05-07 01:48:09 +04:00
Andrey Rakhmatullin
7347d02145
Add typing to scrapy/utils/datatypes.py.
2023-05-07 01:48:09 +04:00
Andrey Rakhmatullin
c7730627a0
Typing improvements for some core components ( #5889 )
2023-04-11 13:47:41 +02: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
Andrey Rahmatullin
c20b76d98f
Merge branch 'master' into patch-1
2022-10-27 12:04:00 +05:00
Godson-Gnanaraj
b0ddffc47b
Misc. changes:
...
- compile regex
- readability improvements
2022-10-26 06:53:43 +05:30
Godson-Gnanaraj
b61b71c6f0
Replace indentation of source before parsing with ast.
...
closes #5323
2022-10-25 08:54:16 +05:30
Alexandr N. Zamaraev
13c5ad7e68
Partial in is_generator_with_return_value
...
See path in #5592
2022-08-16 11:03:37 +07:00
Eugenio Lacuesta
bbfa185664
Remove deprecated BaseItem class
2022-02-06 18:12:28 -03:00
Georgiy Zatserklianyi
d3f1bf79e8
Use f-strings where appropriate ( #5246 )
2021-10-07 16:27:20 +02:00
Michel Ace
1ba0f68483
Allow comma-separated values in the rel tag
...
Comma-separated `rel` values are often seen in the wild, because Google allows it (see https://developers.google.com/search/docs/advanced/guidelines/qualify-outbound-links ).
2021-08-10 17:09:37 +02:00