Add class names to NamedTuple and TypedDict rules (#829)

This commit is contained in:
Charlie Marsh
2022-11-20 10:29:47 -05:00
committed by GitHub
parent 40f38c94a5
commit 98cab5cdba
5 changed files with 40 additions and 27 deletions

View File

@@ -501,8 +501,8 @@ pub enum CheckKind {
UnnecessaryFutureImport(Vec<String>),
UnnecessaryLRUCacheParams,
UnnecessaryEncodeUTF8,
ConvertTypedDictFunctionalToClass,
ConvertNamedTupleFunctionalToClass,
ConvertTypedDictFunctionalToClass(String),
ConvertNamedTupleFunctionalToClass(String),
// pydocstyle
BlankLineAfterLastSection(String),
BlankLineAfterSection(String),
@@ -775,8 +775,8 @@ impl CheckCode {
CheckCode::U010 => CheckKind::UnnecessaryFutureImport(vec!["...".to_string()]),
CheckCode::U011 => CheckKind::UnnecessaryLRUCacheParams,
CheckCode::U012 => CheckKind::UnnecessaryEncodeUTF8,
CheckCode::U013 => CheckKind::ConvertTypedDictFunctionalToClass,
CheckCode::U014 => CheckKind::ConvertNamedTupleFunctionalToClass,
CheckCode::U013 => CheckKind::ConvertTypedDictFunctionalToClass("...".to_string()),
CheckCode::U014 => CheckKind::ConvertNamedTupleFunctionalToClass("...".to_string()),
// pydocstyle
CheckCode::D100 => CheckKind::PublicModule,
CheckCode::D101 => CheckKind::PublicClass,
@@ -1231,8 +1231,8 @@ impl CheckKind {
CheckKind::UnnecessaryFutureImport(_) => &CheckCode::U010,
CheckKind::UnnecessaryLRUCacheParams => &CheckCode::U011,
CheckKind::UnnecessaryEncodeUTF8 => &CheckCode::U012,
CheckKind::ConvertTypedDictFunctionalToClass => &CheckCode::U013,
CheckKind::ConvertNamedTupleFunctionalToClass => &CheckCode::U014,
CheckKind::ConvertTypedDictFunctionalToClass(_) => &CheckCode::U013,
CheckKind::ConvertNamedTupleFunctionalToClass(_) => &CheckCode::U014,
// pydocstyle
CheckKind::BlankLineAfterLastSection(_) => &CheckCode::D413,
CheckKind::BlankLineAfterSection(_) => &CheckCode::D410,
@@ -1781,11 +1781,11 @@ impl CheckKind {
"Unnecessary parameters to `functools.lru_cache`".to_string()
}
CheckKind::UnnecessaryEncodeUTF8 => "Unnecessary call to `encode` as UTF-8".to_string(),
CheckKind::ConvertTypedDictFunctionalToClass => {
"Convert `TypedDict` functional syntax to class syntax".to_string()
CheckKind::ConvertTypedDictFunctionalToClass(name) => {
format!("Convert `{name}` from `TypedDict` functional to class syntax")
}
CheckKind::ConvertNamedTupleFunctionalToClass => {
"Convert `NamedTuple` functional syntax to class syntax".to_string()
CheckKind::ConvertNamedTupleFunctionalToClass(name) => {
format!("Convert `{name}` from `NamedTuple` functional to class syntax")
}
// pydocstyle
CheckKind::FitsOnOneLine => "One-line docstring should fit on one line".to_string(),
@@ -2053,8 +2053,8 @@ impl CheckKind {
| CheckKind::BlankLineAfterSummary
| CheckKind::BlankLineBeforeSection(..)
| CheckKind::CapitalizeSectionName(..)
| CheckKind::ConvertNamedTupleFunctionalToClass
| CheckKind::ConvertTypedDictFunctionalToClass
| CheckKind::ConvertNamedTupleFunctionalToClass(..)
| CheckKind::ConvertTypedDictFunctionalToClass(..)
| CheckKind::DashedUnderlineAfterSection(..)
| CheckKind::DeprecatedUnittestAlias(..)
| CheckKind::DoNotAssertFalse

View File

@@ -190,7 +190,7 @@ pub fn convert_named_tuple_functional_to_class(
Ok(defaults) => {
if let Ok(properties) = create_properties_from_args(args, defaults) {
let mut check = Check::new(
CheckKind::ConvertNamedTupleFunctionalToClass,
CheckKind::ConvertNamedTupleFunctionalToClass(typename.to_string()),
Range::from_located(stmt),
);
if checker.patch(check.kind.code()) {

View File

@@ -230,7 +230,7 @@ pub fn convert_typed_dict_functional_to_class(
Err(err) => error!("Failed to parse TypedDict: {}", err),
Ok((body, total_keyword)) => {
let mut check = Check::new(
CheckKind::ConvertTypedDictFunctionalToClass,
CheckKind::ConvertTypedDictFunctionalToClass(class_name.to_string()),
Range::from_located(stmt),
);
if checker.patch(check.kind.code()) {

View File

@@ -2,7 +2,8 @@
source: src/linter.rs
expression: checks
---
- kind: ConvertTypedDictFunctionalToClass
- kind:
ConvertTypedDictFunctionalToClass: MyType1
location:
row: 5
column: 0
@@ -19,7 +20,8 @@ expression: checks
row: 5
column: 52
applied: false
- kind: ConvertTypedDictFunctionalToClass
- kind:
ConvertTypedDictFunctionalToClass: MyType2
location:
row: 8
column: 0
@@ -36,7 +38,8 @@ expression: checks
row: 8
column: 50
applied: false
- kind: ConvertTypedDictFunctionalToClass
- kind:
ConvertTypedDictFunctionalToClass: MyType3
location:
row: 11
column: 0
@@ -53,7 +56,8 @@ expression: checks
row: 11
column: 44
applied: false
- kind: ConvertTypedDictFunctionalToClass
- kind:
ConvertTypedDictFunctionalToClass: MyType4
location:
row: 14
column: 0
@@ -70,7 +74,8 @@ expression: checks
row: 14
column: 30
applied: false
- kind: ConvertTypedDictFunctionalToClass
- kind:
ConvertTypedDictFunctionalToClass: MyType5
location:
row: 17
column: 0
@@ -87,7 +92,8 @@ expression: checks
row: 17
column: 46
applied: false
- kind: ConvertTypedDictFunctionalToClass
- kind:
ConvertTypedDictFunctionalToClass: MyType6
location:
row: 18
column: 0
@@ -104,7 +110,8 @@ expression: checks
row: 18
column: 41
applied: false
- kind: ConvertTypedDictFunctionalToClass
- kind:
ConvertTypedDictFunctionalToClass: MyType7
location:
row: 21
column: 0
@@ -121,7 +128,8 @@ expression: checks
row: 21
column: 56
applied: false
- kind: ConvertTypedDictFunctionalToClass
- kind:
ConvertTypedDictFunctionalToClass: MyType8
location:
row: 24
column: 0
@@ -138,7 +146,8 @@ expression: checks
row: 24
column: 65
applied: false
- kind: ConvertTypedDictFunctionalToClass
- kind:
ConvertTypedDictFunctionalToClass: MyType10
location:
row: 30
column: 0
@@ -155,7 +164,8 @@ expression: checks
row: 30
column: 59
applied: false
- kind: ConvertTypedDictFunctionalToClass
- kind:
ConvertTypedDictFunctionalToClass: MyType11
location:
row: 33
column: 0

View File

@@ -2,7 +2,8 @@
source: src/linter.rs
expression: checks
---
- kind: ConvertNamedTupleFunctionalToClass
- kind:
ConvertNamedTupleFunctionalToClass: NT1
location:
row: 5
column: 0
@@ -19,7 +20,8 @@ expression: checks
row: 5
column: 61
applied: false
- kind: ConvertNamedTupleFunctionalToClass
- kind:
ConvertNamedTupleFunctionalToClass: NT2
location:
row: 8
column: 0
@@ -36,7 +38,8 @@ expression: checks
row: 12
column: 1
applied: false
- kind: ConvertNamedTupleFunctionalToClass
- kind:
ConvertNamedTupleFunctionalToClass: NT3
location:
row: 15
column: 0