-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pylint] - implement super-without-brackets
/W0245
#9257
Conversation
|
code | total | + violation | - violation | + fix | - fix |
---|---|---|---|---|---|
TID252 | 3306 | 1653 | 1653 | 0 | 0 |
Linter (preview)
ℹ️ ecosystem check detected linter changes. (+1572 -1572 violations, +0 -0 fixes in 2 projects; 39 projects unchanged)
apache/airflow (+42 -42 violations, +0 -0 fixes)
ruff check --no-cache --exit-zero --preview --select ALL
+ tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules ... 74 additional changes omitted for project
bokeh/bokeh (+1530 -1530 violations, +0 -0 fixes)
ruff check --no-cache --exit-zero --preview --select ALL
+ src/bokeh/application/handlers/code.py:45:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/code.py:45:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/code.py:46:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/code.py:46:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/code.py:47:1: TID252 Prefer absolute imports over relative imports from parent modules + src/bokeh/application/handlers/code.py:47:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/code.py:47:1: TID252 Relative imports from parent modules are banned - src/bokeh/application/handlers/code.py:47:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/code_runner.py:33:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/code_runner.py:33:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/code_runner.py:34:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/code_runner.py:34:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/directory.py:65:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/directory.py:65:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/directory.py:66:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/directory.py:66:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/directory.py:67:1: TID252 Prefer absolute imports over relative imports from parent modules + src/bokeh/application/handlers/directory.py:67:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/directory.py:67:1: TID252 Relative imports from parent modules are banned - src/bokeh/application/handlers/directory.py:67:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/directory.py:78:5: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/directory.py:78:5: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/document_lifecycle.py:25:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/document_lifecycle.py:25:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/function.py:44:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/function.py:44:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/function.py:45:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/function.py:45:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/handler.py:52:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/handler.py:52:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/handler.py:53:1: TID252 Prefer absolute imports over relative imports from parent modules + src/bokeh/application/handlers/handler.py:53:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/handler.py:53:1: TID252 Relative imports from parent modules are banned - src/bokeh/application/handlers/handler.py:53:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/lifecycle.py:28:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/lifecycle.py:28:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/lifecycle.py:29:1: TID252 Prefer absolute imports over relative imports from parent modules + src/bokeh/application/handlers/lifecycle.py:29:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/lifecycle.py:29:1: TID252 Relative imports from parent modules are banned - src/bokeh/application/handlers/lifecycle.py:29:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/notebook.py:36:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/notebook.py:36:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/notebook.py:37:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/notebook.py:37:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/script.py:52:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/script.py:52:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/server_lifecycle.py:29:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/server_lifecycle.py:29:1: TID252 Relative imports from parent modules are banned ... 3012 additional changes omitted for project
Changes by rule (1 rules affected)
code | total | + violation | - violation | + fix | - fix |
---|---|---|---|---|---|
TID252 | 3144 | 1572 | 1572 | 0 | 0 |
0234f8f
to
dbe0eaa
Compare
Is it possible to narrow the guard clauses down more? I'm unsure what the best way to have the semantic model know if we're within a subclass would be here. Please advise! |
pub(crate) fn super_without_brackets(checker: &mut Checker, func: &Expr) { | ||
if !checker.semantic().current_scope().kind.is_function() { | ||
return; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could probably check if we're in a function immediately within a class?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, can you try using function_type::classify
for this, to detect that we're in a method?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You will need to pass the parent scope via something like:
let Some(parent) = &checker.semantic().first_non_type_parent_scope(scope) else {
return;
};
Instead of the current scope.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated! Seems much better now, LMK!
And thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
515d055
to
cf269b1
Compare
Summary
Implement
super-without-brackets
/W0245
See: #970
Test Plan
cargo test