From e338d9acbe651c7912617bb0f2fc65eecc01db65 Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Wed, 7 Dec 2022 20:10:36 -0500 Subject: [PATCH] Remove 'consider' language from check messages (#1135) --- README.md | 6 +++--- src/check_ast.rs | 6 +++--- src/checks.rs | 14 +++++++------- ...r_merging_isinstance.rs => merge_isinstance.rs} | 7 +------ src/pylint/plugins/mod.rs | 12 ++++++------ ...der_using_from_import.rs => use_from_import.rs} | 2 +- ...{consider_using_sys_exit.rs => use_sys_exit.rs} | 7 +++++-- ...ests__PLR1722_consider_using_sys_exit_0.py.snap | 12 ++++++++---- ...ests__PLR1722_consider_using_sys_exit_1.py.snap | 12 ++++++++---- ...ests__PLR1722_consider_using_sys_exit_2.py.snap | 12 ++++++++---- ...ests__PLR1722_consider_using_sys_exit_3.py.snap | 6 ++++-- ...ests__PLR1722_consider_using_sys_exit_4.py.snap | 12 ++++++++---- ...ests__PLR1722_consider_using_sys_exit_5.py.snap | 6 ++++-- ...ests__PLR1722_consider_using_sys_exit_6.py.snap | 6 ++++-- 14 files changed, 70 insertions(+), 50 deletions(-) rename src/pylint/plugins/{consider_merging_isinstance.rs => merge_isinstance.rs} (92%) rename src/pylint/plugins/{consider_using_from_import.rs => use_from_import.rs} (87%) rename src/pylint/plugins/{consider_using_sys_exit.rs => use_sys_exit.rs} (94%) diff --git a/README.md b/README.md index f1d7f52fe4..2e5dc48bf7 100644 --- a/README.md +++ b/README.md @@ -808,9 +808,9 @@ For more, see [Pylint](https://pypi.org/project/pylint/2.15.7/) on PyPI. | PLC3002 | UnnecessaryDirectLambdaCall | Lambda expression called directly. Execute the expression inline instead. | | | PLE1142 | AwaitOutsideAsync | `await` should be used within an async function | | | PLR0206 | PropertyWithParameters | Cannot have defined parameters for properties | | -| PLR0402 | ConsiderUsingFromImport | Consider using `from ... import ...` | | -| PLR1701 | ConsiderMergingIsinstance | Consider merging these isinstance calls: `isinstance(..., (...))` | | -| PLR1722 | ConsiderUsingSysExit | Consider using `sys.exit()` | 🛠 | +| PLR0402 | ConsiderUsingFromImport | Use `from ... import ...` in lieu of alias | | +| PLR1701 | ConsiderMergingIsinstance | Merge these isinstance calls: `isinstance(..., (...))` | | +| PLR1722 | UseSysExit | Use `sys.exit()` instead of `exit` | 🛠 | | PLW0120 | UselessElseOnLoop | Else clause on loop without a break statement, remove the else and de-indent all the code inside it | | ### Ruff-specific rules (RUF) diff --git a/src/check_ast.rs b/src/check_ast.rs index 121bae8f30..7881897a45 100644 --- a/src/check_ast.rs +++ b/src/check_ast.rs @@ -673,7 +673,7 @@ where pylint::plugins::useless_import_alias(self, alias); } if self.settings.enabled.contains(&CheckCode::PLR0402) { - pylint::plugins::consider_using_from_import(self, alias); + pylint::plugins::use_from_import(self, alias); } if let Some(asname) = &alias.node.asname { @@ -1773,7 +1773,7 @@ where pylint::plugins::unnecessary_direct_lambda_call(self, expr, func); } if self.settings.enabled.contains(&CheckCode::PLR1722) { - pylint::plugins::consider_using_sys_exit(self, func); + pylint::plugins::use_sys_exit(self, func); } } ExprKind::Dict { keys, .. } => { @@ -2129,7 +2129,7 @@ where } ExprKind::BoolOp { op, values } => { if self.settings.enabled.contains(&CheckCode::PLR1701) { - pylint::plugins::consider_merging_isinstance(self, expr, op, values); + pylint::plugins::merge_isinstance(self, expr, op, values); } } _ => {} diff --git a/src/checks.rs b/src/checks.rs index 275475e7f2..31667c5efd 100644 --- a/src/checks.rs +++ b/src/checks.rs @@ -638,7 +638,7 @@ pub enum CheckKind { ConsiderUsingFromImport(String, String), AwaitOutsideAsync, UselessElseOnLoop, - ConsiderUsingSysExit, + UseSysExit(String), // flake8-builtins BuiltinVariableShadowing(String), BuiltinArgumentShadowing(String), @@ -950,7 +950,7 @@ impl CheckCode { CheckCode::PLR1701 => { CheckKind::ConsiderMergingIsinstance("...".to_string(), vec!["...".to_string()]) } - CheckCode::PLR1722 => CheckKind::ConsiderUsingSysExit, + CheckCode::PLR1722 => CheckKind::UseSysExit("exit".to_string()), CheckCode::PLW0120 => CheckKind::UselessElseOnLoop, // flake8-builtins CheckCode::A001 => CheckKind::BuiltinVariableShadowing("...".to_string()), @@ -1523,7 +1523,7 @@ impl CheckKind { CheckKind::ConsiderMergingIsinstance(..) => &CheckCode::PLR1701, CheckKind::PropertyWithParameters => &CheckCode::PLR0206, CheckKind::ConsiderUsingFromImport(..) => &CheckCode::PLR0402, - CheckKind::ConsiderUsingSysExit => &CheckCode::PLR1722, + CheckKind::UseSysExit(_) => &CheckCode::PLR1722, CheckKind::UselessElseOnLoop => &CheckCode::PLW0120, // flake8-builtins CheckKind::BuiltinVariableShadowing(_) => &CheckCode::A001, @@ -1921,7 +1921,7 @@ impl CheckKind { } CheckKind::ConsiderMergingIsinstance(obj, types) => { let types = types.join(", "); - format!("Consider merging these isinstance calls: `isinstance({obj}, ({types}))`") + format!("Merge these isinstance calls: `isinstance({obj}, ({types}))`") } CheckKind::MisplacedComparisonConstant(comprison) => { format!("Comparison should be {comprison}") @@ -1933,7 +1933,7 @@ impl CheckKind { "Cannot have defined parameters for properties".to_string() } CheckKind::ConsiderUsingFromImport(module, name) => { - format!("Consider using `from {module} import {name}`") + format!("Use `from {module} import {name}` in lieu of alias") } CheckKind::AwaitOutsideAsync => { "`await` should be used within an async function".to_string() @@ -1941,7 +1941,7 @@ impl CheckKind { CheckKind::UselessElseOnLoop => "Else clause on loop without a break statement, \ remove the else and de-indent all the code inside it" .to_string(), - CheckKind::ConsiderUsingSysExit => "Consider using `sys.exit()`".to_string(), + CheckKind::UseSysExit(name) => format!("Use `sys.exit()` instead of `{name}`"), // flake8-builtins CheckKind::BuiltinVariableShadowing(name) => { format!("Variable `{name}` is shadowing a python builtin") @@ -2599,7 +2599,6 @@ impl CheckKind { | CheckKind::BlankLineBeforeSection(..) | CheckKind::CapitalizeSectionName(..) | CheckKind::CommentedOutCode - | CheckKind::ConsiderUsingSysExit | CheckKind::ConvertNamedTupleFunctionalToClass(..) | CheckKind::ConvertTypedDictFunctionalToClass(..) | CheckKind::DashedUnderlineAfterSection(..) @@ -2665,6 +2664,7 @@ impl CheckKind { | CheckKind::UnusedNOQA(..) | CheckKind::UsePEP585Annotation(..) | CheckKind::UsePEP604Annotation + | CheckKind::UseSysExit(..) | CheckKind::UselessImportAlias | CheckKind::UselessMetaclassType | CheckKind::UselessObjectInheritance(..) diff --git a/src/pylint/plugins/consider_merging_isinstance.rs b/src/pylint/plugins/merge_isinstance.rs similarity index 92% rename from src/pylint/plugins/consider_merging_isinstance.rs rename to src/pylint/plugins/merge_isinstance.rs index 4f67f22e23..499fa1638f 100644 --- a/src/pylint/plugins/consider_merging_isinstance.rs +++ b/src/pylint/plugins/merge_isinstance.rs @@ -8,12 +8,7 @@ use crate::checks::CheckKind; use crate::Check; /// PLR1701 -pub fn consider_merging_isinstance( - checker: &mut Checker, - expr: &Expr, - op: &Boolop, - values: &[Expr], -) { +pub fn merge_isinstance(checker: &mut Checker, expr: &Expr, op: &Boolop, values: &[Expr]) { if !matches!(op, Boolop::Or) || !checker.is_builtin("isinstance") { return; } diff --git a/src/pylint/plugins/mod.rs b/src/pylint/plugins/mod.rs index b1f37ce8fb..5b2517a50c 100644 --- a/src/pylint/plugins/mod.rs +++ b/src/pylint/plugins/mod.rs @@ -1,19 +1,19 @@ pub use await_outside_async::await_outside_async; -pub use consider_merging_isinstance::consider_merging_isinstance; -pub use consider_using_from_import::consider_using_from_import; -pub use consider_using_sys_exit::consider_using_sys_exit; +pub use merge_isinstance::merge_isinstance; pub use misplaced_comparison_constant::misplaced_comparison_constant; pub use property_with_parameters::property_with_parameters; pub use unnecessary_direct_lambda_call::unnecessary_direct_lambda_call; +pub use use_from_import::use_from_import; +pub use use_sys_exit::use_sys_exit; pub use useless_else_on_loop::useless_else_on_loop; pub use useless_import_alias::useless_import_alias; mod await_outside_async; -mod consider_merging_isinstance; -mod consider_using_from_import; -mod consider_using_sys_exit; +mod merge_isinstance; mod misplaced_comparison_constant; mod property_with_parameters; mod unnecessary_direct_lambda_call; +mod use_from_import; +mod use_sys_exit; mod useless_else_on_loop; mod useless_import_alias; diff --git a/src/pylint/plugins/consider_using_from_import.rs b/src/pylint/plugins/use_from_import.rs similarity index 87% rename from src/pylint/plugins/consider_using_from_import.rs rename to src/pylint/plugins/use_from_import.rs index c17f475bc2..a9a478029c 100644 --- a/src/pylint/plugins/consider_using_from_import.rs +++ b/src/pylint/plugins/use_from_import.rs @@ -6,7 +6,7 @@ use crate::checks::CheckKind; use crate::Check; /// PLR0402 -pub fn consider_using_from_import(checker: &mut Checker, alias: &Alias) { +pub fn use_from_import(checker: &mut Checker, alias: &Alias) { let Some(asname) = &alias.node.asname else { return; }; diff --git a/src/pylint/plugins/consider_using_sys_exit.rs b/src/pylint/plugins/use_sys_exit.rs similarity index 94% rename from src/pylint/plugins/consider_using_sys_exit.rs rename to src/pylint/plugins/use_sys_exit.rs index 189245270e..29ede5576b 100644 --- a/src/pylint/plugins/consider_using_sys_exit.rs +++ b/src/pylint/plugins/use_sys_exit.rs @@ -60,7 +60,7 @@ fn get_member_import_name_alias(checker: &Checker, module: &str, member: &str) - } /// RUF004 -pub fn consider_using_sys_exit(checker: &mut Checker, func: &Expr) { +pub fn use_sys_exit(checker: &mut Checker, func: &Expr) { let ExprKind::Name { id, .. } = &func.node else { return; }; @@ -74,7 +74,10 @@ pub fn consider_using_sys_exit(checker: &mut Checker, func: &Expr) { if !checker.is_builtin(name) { continue; } - let mut check = Check::new(CheckKind::ConsiderUsingSysExit, Range::from_located(func)); + let mut check = Check::new( + CheckKind::UseSysExit(name.to_string()), + Range::from_located(func), + ); if checker.patch(check.kind.code()) { if let Some(content) = get_member_import_name_alias(checker, "sys", "exit") { check.amend(Fix::replacement( diff --git a/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_0.py.snap b/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_0.py.snap index 1e6b0ee99d..9e5328ffb3 100644 --- a/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_0.py.snap +++ b/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_0.py.snap @@ -2,7 +2,8 @@ source: src/pylint/mod.rs expression: checks --- -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: exit location: row: 1 column: 0 @@ -10,7 +11,8 @@ expression: checks row: 1 column: 4 fix: ~ -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: quit location: row: 2 column: 0 @@ -18,7 +20,8 @@ expression: checks row: 2 column: 4 fix: ~ -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: exit location: row: 6 column: 4 @@ -26,7 +29,8 @@ expression: checks row: 6 column: 8 fix: ~ -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: quit location: row: 7 column: 4 diff --git a/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_1.py.snap b/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_1.py.snap index e4663404df..09b9ef5a7f 100644 --- a/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_1.py.snap +++ b/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_1.py.snap @@ -2,7 +2,8 @@ source: src/pylint/mod.rs expression: checks --- -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: exit location: row: 3 column: 0 @@ -17,7 +18,8 @@ expression: checks end_location: row: 3 column: 4 -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: quit location: row: 4 column: 0 @@ -32,7 +34,8 @@ expression: checks end_location: row: 4 column: 4 -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: exit location: row: 8 column: 4 @@ -47,7 +50,8 @@ expression: checks end_location: row: 8 column: 8 -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: quit location: row: 9 column: 4 diff --git a/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_2.py.snap b/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_2.py.snap index e9a6424e2a..8b46a0959d 100644 --- a/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_2.py.snap +++ b/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_2.py.snap @@ -2,7 +2,8 @@ source: src/pylint/mod.rs expression: checks --- -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: exit location: row: 3 column: 0 @@ -17,7 +18,8 @@ expression: checks end_location: row: 3 column: 4 -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: quit location: row: 4 column: 0 @@ -32,7 +34,8 @@ expression: checks end_location: row: 4 column: 4 -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: exit location: row: 8 column: 4 @@ -47,7 +50,8 @@ expression: checks end_location: row: 8 column: 8 -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: quit location: row: 9 column: 4 diff --git a/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_3.py.snap b/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_3.py.snap index 8017d7d59d..7d186710c1 100644 --- a/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_3.py.snap +++ b/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_3.py.snap @@ -2,7 +2,8 @@ source: src/pylint/mod.rs expression: checks --- -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: quit location: row: 4 column: 0 @@ -17,7 +18,8 @@ expression: checks end_location: row: 4 column: 4 -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: quit location: row: 9 column: 4 diff --git a/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_4.py.snap b/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_4.py.snap index 753a353456..26936b8f17 100644 --- a/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_4.py.snap +++ b/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_4.py.snap @@ -2,7 +2,8 @@ source: src/pylint/mod.rs expression: checks --- -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: exit location: row: 3 column: 0 @@ -17,7 +18,8 @@ expression: checks end_location: row: 3 column: 4 -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: quit location: row: 4 column: 0 @@ -32,7 +34,8 @@ expression: checks end_location: row: 4 column: 4 -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: exit location: row: 8 column: 4 @@ -47,7 +50,8 @@ expression: checks end_location: row: 8 column: 8 -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: quit location: row: 9 column: 4 diff --git a/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_5.py.snap b/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_5.py.snap index 8017d7d59d..7d186710c1 100644 --- a/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_5.py.snap +++ b/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_5.py.snap @@ -2,7 +2,8 @@ source: src/pylint/mod.rs expression: checks --- -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: quit location: row: 4 column: 0 @@ -17,7 +18,8 @@ expression: checks end_location: row: 4 column: 4 -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: quit location: row: 9 column: 4 diff --git a/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_6.py.snap b/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_6.py.snap index 222d6ec469..5e679e13af 100644 --- a/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_6.py.snap +++ b/src/pylint/snapshots/ruff__pylint__tests__PLR1722_consider_using_sys_exit_6.py.snap @@ -2,7 +2,8 @@ source: src/pylint/mod.rs expression: checks --- -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: exit location: row: 1 column: 0 @@ -10,7 +11,8 @@ expression: checks row: 1 column: 4 fix: ~ -- kind: ConsiderUsingSysExit +- kind: + UseSysExit: quit location: row: 2 column: 0