File tree Expand file tree Collapse file tree 3 files changed +50
-3
lines changed Expand file tree Collapse file tree 3 files changed +50
-3
lines changed Original file line number Diff line number Diff line change
1
+ .. _scp30 :
2
+
3
+ ======================
4
+ SCP30: Removed setting
5
+ ======================
6
+
7
+ What it does
8
+ ============
9
+
10
+ Reports setting names that have been removed from package versions frozen in
11
+ your project requirements but do exist in lower versions of those packages.
12
+
13
+ It also reports the package that defined the setting, the version in which the
14
+ setting was deprecated, and the version in which it was removed, so that you
15
+ can check the corresponging release notes for sunset guidance.
16
+
17
+ Sometimes sunset guidance is also provided in the error message.
18
+
19
+ Why is this bad?
20
+ ================
21
+
22
+ Removed settings have stopped working the way they used to, and instead are
23
+ silently ignored.
24
+
Original file line number Diff line number Diff line change @@ -125,8 +125,9 @@ def check_known_name(
125
125
if name not in SETTINGS :
126
126
return
127
127
setting = SETTINGS [name ]
128
- deprecated_in = setting .deprecated_in
129
128
added_in = setting .added_in
129
+ deprecated_in = setting .deprecated_in
130
+ removed_in = setting .removed_in
130
131
if not deprecated_in and not added_in :
131
132
return
132
133
package = setting .package
@@ -154,11 +155,16 @@ def check_known_name(
154
155
if version < deprecated_in :
155
156
return
156
157
detail = f"deprecated in { package } { deprecated_in } "
158
+ if removed_in and version >= removed_in :
159
+ detail += f", removed in { removed_in } "
160
+ code , message = 30 , "removed setting"
161
+ else :
162
+ code , message = 28 , "deprecated setting"
157
163
if setting .sunset_guidance :
158
164
detail += f"; { setting .sunset_guidance } "
159
165
yield Issue (
160
- 28 ,
161
- "deprecated setting" ,
166
+ code ,
167
+ message ,
162
168
detail = detail ,
163
169
node = resolved_node ,
164
170
column = column ,
Original file line number Diff line number Diff line change @@ -1133,6 +1133,23 @@ def default_issues(
1133
1133
),
1134
1134
),
1135
1135
),
1136
+ # SCP30 removed setting
1137
+ (
1138
+ ("scrapy==2.1.0" ,),
1139
+ "LOG_UNSERIALIZABLE_REQUESTS" ,
1140
+ (
1141
+ Issue (
1142
+ "SCP15 insecure requirement: scrapy 2.11.2 implements security fixes" ,
1143
+ path = "requirements.txt" ,
1144
+ ),
1145
+ Issue (
1146
+ "SCP30 removed setting: deprecated in scrapy 2.0.1 or "
1147
+ "lower, removed in 2.1.0; use SCHEDULER_DEBUG instead" ,
1148
+ path = path ,
1149
+ column = column ,
1150
+ ),
1151
+ ),
1152
+ ),
1136
1153
)
1137
1154
),
1138
1155
# scrapy_known_settings silences SCP27
You can’t perform that action at this time.
0 commit comments