-
Notifications
You must be signed in to change notification settings - Fork 1.5k
[airflow
] Add unsafe fix module moved cases (AIR302
)
#18093
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
Conversation
crates/ruff_linter/src/rules/airflow/rules/moved_to_provider_in_3.rs
Outdated
Show resolved
Hide resolved
fe83dee
to
6938e72
Compare
|
6938e72
to
1b900fe
Compare
airflow
] Add unsafe fix module moved cases (AIR302
)
1b900fe
to
deb0476
Compare
cb45fa0
to
f6f7bd1
Compare
@ntBre Didn't notice another PR was merged 🤦♂️ Just rebased and fix this PR! If the idea looks good, I'm going to apply it to other rules. Thanks! |
It looks like one of my PRs today caused another conflict. I was going to fix it and push here for you, but it looks like I can't edit the branch. I think you can see the diff here if it helps. I'll go ahead and take a look now anyway. |
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. I didn't review all of the snaps in depth, but this makes sense to me. Just a couple of suggestions and the merge conflicts and then this is good to go.
crates/ruff_linter/src/rules/airflow/rules/moved_to_provider_in_3.rs
Outdated
Show resolved
Hide resolved
…ove_and_runtime_import_edit
…nsor.ExternalTaskSensorLink
f6f7bd1
to
6afbe90
Compare
<!-- Thank you for contributing to Ruff/ty! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? (Please prefix with `[ty]` for ty pull requests.) - Does this pull request include references to any relevant issues? --> ## Summary <!-- What's the purpose of the change? What does it do, and why? --> Follow up on #18093 and apply it to AIR301 ## Test Plan <!-- How was it tested? --> The existing test fixtures have been updated
<!-- Thank you for contributing to Ruff/ty! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? (Please prefix with `[ty]` for ty pull requests.) - Does this pull request include references to any relevant issues? --> ## Summary <!-- What's the purpose of the change? What does it do, and why? --> Follow up on #18093 and apply it to AIR311 --- Rules fixed * `airflow.models.datasets.expand_alias_to_datasets` → `airflow.models.asset.expand_alias_to_assets` * `airflow.models.baseoperatorlink.BaseOperatorLink` → `airflow.sdk.BaseOperatorLink` ## Test Plan <!-- How was it tested? --> The existing test fixtures have been updated
<!-- Thank you for contributing to Ruff/ty! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? (Please prefix with `[ty]` for ty pull requests.) - Does this pull request include references to any relevant issues? --> ## Summary <!-- What's the purpose of the change? What does it do, and why? --> Follow up on #18093 and apply it to AIR312 ## Test Plan <!-- How was it tested? --> The existing test fixtures have been updated
* main: [ty] support callability of bound/constrained typevars (#18389) [ty] Minor tweaks to "list all members" docs and tests (#18388) [ty] Fix broken property tests for disjointness (#18384) [ty] List available members for a given type (#18251) [`airflow`] Add unsafe fix for module moved cases (`AIR312`) (#18363) Add a `SourceFile` to `OldDiagnostic` (#18356) Update salsa past generational id change (#18362) [`airflow`] Add unsafe fix for module moved cases (`AIR311`) (#18366) [`airflow`] Add unsafe fix for module moved cases (`AIR301`) (#18367) [ty] Improve tests for `site-packages` discovery (#18374) [ty] _typeshed.Self is not a special form (#18377) [ty] Callable types are disjoint from non-callable `@final` nominal instance types (#18368) [ty] Add diagnosis for function with no return statement but with return type annotation (#18359) [`airflow`] Add unsafe fix module moved cases (`AIR302`) (#18093) Rename `ruff_linter::Diagnostic` to `OldDiagnostic` (#18355) [`refurb`] Add coverage of `set` and `frozenset` calls (`FURB171`) (#18035)
Summary
Add utility functions
generate_import_edit
andgenerate_remove_and_runtime_import_edit
to generate the fix needed for the airflow rules.generate_import_edit
is for the cases where the member name has changed. (e.g.,airflow.datasts.Dataset
toairflow.sdk.Asset
) It's just extracted from the original logicgenerate_remove_and_runtime_import_edit
is for cases where the member name has not changed. (e.g.,airflow.operators.pig_operator.PigOperator
toairflow.providers.apache.pig.hooks.pig.PigCliHook
) This is newly introduced. As it introduced runtime import, I mark it as an unsafe fix. Under the hook, it tried to find the original import statement, remove it, and add a new import fixairflow.sensors.external_task_sensor.ExternalTaskSensorLink
→airflow.providers.standard.sensors.external_task.ExternalDagLink
Test Plan
The existing test fixtures have been updated