mirror of
https://github.com/astral-sh/ruff.git
synced 2025-10-27 18:36:35 +00:00
<!-- 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? --> Add utility functions `generate_import_edit` and `generate_remove_and_runtime_import_edit` to generate the fix needed for the airflow rules. 1. `generate_import_edit` is for the cases where the member name has changed. (e.g., `airflow.datasts.Dataset` to `airflow.sdk.Asset`) It's just extracted from the original logic 2. `generate_remove_and_runtime_import_edit` is for cases where the member name has not changed. (e.g., `airflow.operators.pig_operator.PigOperator` to `airflow.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 fix --- * rules fix * `airflow.sensors.external_task_sensor.ExternalTaskSensorLink` → `airflow.providers.standard.sensors.external_task.ExternalDagLink` ## Test Plan <!-- How was it tested? --> The existing test fixtures have been updated
34 lines
995 B
Python
34 lines
995 B
Python
from __future__ import annotations
|
|
|
|
from airflow.hooks.S3_hook import (
|
|
S3Hook,
|
|
provide_bucket_name,
|
|
)
|
|
from airflow.operators.gcs_to_s3 import GCSToS3Operator
|
|
from airflow.operators.google_api_to_s3_transfer import GoogleApiToS3Operator
|
|
from airflow.operators.redshift_to_s3_operator import RedshiftToS3Operator
|
|
from airflow.operators.s3_file_transform_operator import S3FileTransformOperator
|
|
from airflow.operators.s3_to_redshift_operator import S3ToRedshiftOperator
|
|
from airflow.sensors.s3_key_sensor import S3KeySensor
|
|
|
|
S3Hook()
|
|
provide_bucket_name()
|
|
|
|
GCSToS3Operator()
|
|
GoogleApiToS3Operator()
|
|
RedshiftToS3Operator()
|
|
S3FileTransformOperator()
|
|
S3ToRedshiftOperator()
|
|
S3KeySensor()
|
|
|
|
from airflow.operators.google_api_to_s3_transfer import GoogleApiToS3Transfer
|
|
|
|
GoogleApiToS3Transfer()
|
|
|
|
from airflow.operators.redshift_to_s3_operator import RedshiftToS3Transfer
|
|
|
|
RedshiftToS3Transfer()
|
|
|
|
from airflow.operators.s3_to_redshift_operator import S3ToRedshiftTransfer
|
|
|
|
S3ToRedshiftTransfer()
|