use super::{RuleConfigurability, RuleDefaultSeverity, RuleDefinition, RuleLanguage, RuleStatus};
pub(crate) const RULE_DEFINITIONS: &[RuleDefinition] = &[
RuleDefinition {
id: "cross_file_copy_paste_function",
language: RuleLanguage::Python,
family: "duplication",
default_severity: RuleDefaultSeverity::Info,
status: RuleStatus::Stable,
configurability: &[
RuleConfigurability::Disable,
RuleConfigurability::Ignore,
RuleConfigurability::SeverityOverride,
],
description: "Highly similar non-test function bodies repeated across multiple Python files.",
binding_location: super::bindings::PYTHON_DUPLICATION,
},
RuleDefinition {
id: "cross_file_repeated_literal",
language: RuleLanguage::Python,
family: "duplication",
default_severity: RuleDefaultSeverity::Info,
status: RuleStatus::Stable,
configurability: &[
RuleConfigurability::Disable,
RuleConfigurability::Ignore,
RuleConfigurability::SeverityOverride,
],
description: "Project repeats the same long string literal across multiple files.",
binding_location: super::bindings::PYTHON_DUPLICATION,
},
RuleDefinition {
id: "duplicate_error_handler_block",
language: RuleLanguage::Python,
family: "duplication",
default_severity: RuleDefaultSeverity::Info,
status: RuleStatus::Stable,
configurability: &[
RuleConfigurability::Disable,
RuleConfigurability::Ignore,
RuleConfigurability::SeverityOverride,
],
description: "Repeated exception-handling block shapes in one file.",
binding_location: super::bindings::PYTHON_DUPLICATION,
},
RuleDefinition {
id: "duplicate_query_fragment",
language: RuleLanguage::Python,
family: "duplication",
default_severity: RuleDefaultSeverity::Info,
status: RuleStatus::Stable,
configurability: &[
RuleConfigurability::Disable,
RuleConfigurability::Ignore,
RuleConfigurability::SeverityOverride,
],
description: "Repository repeats the same SQL-like query fragment across multiple files.",
binding_location: super::bindings::PYTHON_DUPLICATION,
},
RuleDefinition {
id: "duplicate_test_utility_logic",
language: RuleLanguage::Python,
family: "duplication",
default_severity: RuleDefaultSeverity::Info,
status: RuleStatus::Stable,
configurability: &[
RuleConfigurability::Disable,
RuleConfigurability::Ignore,
RuleConfigurability::SeverityOverride,
],
description: "Highly similar utility logic shared between test and production code.",
binding_location: super::bindings::PYTHON_DUPLICATION,
},
RuleDefinition {
id: "duplicate_transformation_pipeline",
language: RuleLanguage::Python,
family: "duplication",
default_severity: RuleDefaultSeverity::Info,
status: RuleStatus::Stable,
configurability: &[
RuleConfigurability::Disable,
RuleConfigurability::Ignore,
RuleConfigurability::SeverityOverride,
],
description: "Repository repeats the same data transformation pipeline stages across multiple functions.",
binding_location: super::bindings::PYTHON_DUPLICATION,
},
RuleDefinition {
id: "duplicate_validation_pipeline",
language: RuleLanguage::Python,
family: "duplication",
default_severity: RuleDefaultSeverity::Info,
status: RuleStatus::Stable,
configurability: &[
RuleConfigurability::Disable,
RuleConfigurability::Ignore,
RuleConfigurability::SeverityOverride,
],
description: "Repeated validation guard pipelines across functions in one file.",
binding_location: super::bindings::PYTHON_DUPLICATION,
},
RuleDefinition {
id: "repeated_string_literal",
language: RuleLanguage::Python,
family: "duplication",
default_severity: RuleDefaultSeverity::Info,
status: RuleStatus::Stable,
configurability: &[
RuleConfigurability::Disable,
RuleConfigurability::Ignore,
RuleConfigurability::SeverityOverride,
],
description: "Project repeats the same long string literal multiple times in one file.",
binding_location: super::bindings::PYTHON_DUPLICATION,
},
];