From eb1bc9f092eb6552803b49f8f8208404f2dda886 Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Sun, 6 Nov 2022 14:19:02 -0500 Subject: [PATCH] Allow underscore names in N803 (#622) --- resources/test/fixtures/N803.py | 8 ++++---- src/check_ast.rs | 2 +- src/pep8_naming/checks.rs | 14 +++++++------- .../ruff__linter__tests__N803_N803.py.snap | 8 ++++---- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/resources/test/fixtures/N803.py b/resources/test/fixtures/N803.py index 6f030e09d1..42f6ecc916 100644 --- a/resources/test/fixtures/N803.py +++ b/resources/test/fixtures/N803.py @@ -1,7 +1,7 @@ -def func(a, A): - return a, A +def func(_, a, A): + return _, a, A class Class: - def method(self, a, A): - return a, A + def method(self, _, a, A): + return _, a, A diff --git a/src/check_ast.rs b/src/check_ast.rs index eb46b8ca6f..f95c9ad1a1 100644 --- a/src/check_ast.rs +++ b/src/check_ast.rs @@ -1717,7 +1717,7 @@ where if self.settings.enabled.contains(&CheckCode::N803) { if let Some(check) = - pep8_naming::checks::invalid_argument_name(Range::from_located(arg), &arg.node.arg) + pep8_naming::checks::invalid_argument_name(&arg.node.arg, Range::from_located(arg)) { self.checks.push(check); } diff --git a/src/pep8_naming/checks.rs b/src/pep8_naming/checks.rs index 0f8d068b11..0f1ede1848 100644 --- a/src/pep8_naming/checks.rs +++ b/src/pep8_naming/checks.rs @@ -25,7 +25,7 @@ pub fn invalid_class_name(class_def: &Stmt, name: &str) -> Option { /// N802 pub fn invalid_function_name(func_def: &Stmt, name: &str, settings: &Settings) -> Option { - if !is_lower(name) + if name.to_lowercase() != name && !settings .ignore_names .iter() @@ -40,8 +40,8 @@ pub fn invalid_function_name(func_def: &Stmt, name: &str, settings: &Settings) - } /// N803 -pub fn invalid_argument_name(location: Range, name: &str) -> Option { - if !is_lower(name) { +pub fn invalid_argument_name(name: &str, location: Range) -> Option { + if name.to_lowercase() != name { return Some(Check::new( CheckKind::InvalidArgumentName(name.to_string()), location, @@ -164,7 +164,7 @@ pub fn lowercase_imported_as_non_lowercase( name: &str, asname: &str, ) -> Option { - if is_lower(name) && asname.to_lowercase() != asname { + if !is_upper(name) && is_lower(name) && asname.to_lowercase() != asname { return Some(Check::new( CheckKind::LowercaseImportedAsNonLowercase(name.to_string(), asname.to_string()), Range::from_located(import_from), @@ -194,7 +194,7 @@ pub fn camelcase_imported_as_constant( name: &str, asname: &str, ) -> Option { - if is_camelcase(name) && is_upper(asname) && !is_acronym(name, asname) { + if is_camelcase(name) && !is_lower(asname) && is_upper(asname) && !is_acronym(name, asname) { return Some(Check::new( CheckKind::CamelcaseImportedAsConstant(name.to_string(), asname.to_string()), Range::from_located(import_from), @@ -241,7 +241,7 @@ pub fn camelcase_imported_as_acronym( name: &str, asname: &str, ) -> Option { - if is_camelcase(name) && is_upper(asname) && is_acronym(name, asname) { + if is_camelcase(name) && !is_lower(asname) && is_upper(asname) && is_acronym(name, asname) { return Some(Check::new( CheckKind::CamelcaseImportedAsAcronym(name.to_string(), asname.to_string()), Range::from_located(import_from), @@ -290,7 +290,7 @@ fn is_upper(s: &str) -> bool { for c in s.chars() { if c.is_lowercase() { return false; - } else if (!cased) && c.is_uppercase() { + } else if !cased && c.is_uppercase() { cased = true; } } diff --git a/src/snapshots/ruff__linter__tests__N803_N803.py.snap b/src/snapshots/ruff__linter__tests__N803_N803.py.snap index 8fda19b60f..52b959cbf3 100644 --- a/src/snapshots/ruff__linter__tests__N803_N803.py.snap +++ b/src/snapshots/ruff__linter__tests__N803_N803.py.snap @@ -6,18 +6,18 @@ expression: checks InvalidArgumentName: A location: row: 1 - column: 12 + column: 15 end_location: row: 1 - column: 13 + column: 16 fix: ~ - kind: InvalidArgumentName: A location: row: 6 - column: 24 + column: 27 end_location: row: 6 - column: 25 + column: 28 fix: ~