[airflow] Add external_task.{ExternalTaskMarker, ExternalTaskSensor} for AIR302 (#16014)

## Summary

Apply suggestions similar to
https://github.com/astral-sh/ruff/pull/15922#discussion_r1940697704


## Test Plan

a test fixture has been updated
This commit is contained in:
Wei Lee 2025-02-07 19:08:34 +08:00 committed by GitHub
parent b1c61cb2ee
commit 618bfaf884
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 589 additions and 607 deletions

View file

@ -75,15 +75,10 @@ from airflow.secrets.local_filesystem import LocalFilesystemBackend, load_connec
from airflow.security.permissions import RESOURCE_DATASET from airflow.security.permissions import RESOURCE_DATASET
from airflow.sensors.base_sensor_operator import BaseSensorOperator from airflow.sensors.base_sensor_operator import BaseSensorOperator
from airflow.sensors.date_time_sensor import DateTimeSensor from airflow.sensors.date_time_sensor import DateTimeSensor
from airflow.sensors.external_task import (
ExternalTaskSensorLink as ExternalTaskSensorLinkFromExternalTask,
)
from airflow.sensors.external_task_sensor import ( from airflow.sensors.external_task_sensor import (
ExternalTaskMarker, ExternalTaskMarker,
ExternalTaskSensor, ExternalTaskSensor,
) ExternalTaskSensorLink,
from airflow.sensors.external_task_sensor import (
ExternalTaskSensorLink as ExternalTaskSensorLinkFromExternalTaskSensor,
) )
from airflow.sensors.time_delta_sensor import TimeDeltaSensor from airflow.sensors.time_delta_sensor import TimeDeltaSensor
from airflow.timetables.datasets import DatasetOrTimeSchedule from airflow.timetables.datasets import DatasetOrTimeSchedule
@ -249,11 +244,13 @@ BaseSensorOperator()
DateTimeSensor() DateTimeSensor()
# airflow.sensors.external_task # airflow.sensors.external_task
ExternalTaskSensorLinkFromExternalTask() ExternalTaskSensorLink()
# airflow.sensors.external_task_sensor
ExternalTaskMarker() ExternalTaskMarker()
ExternalTaskSensor() ExternalTaskSensor()
# airflow.sensors.external_task_sensor
ExternalTaskMarkerFromExternalTaskSensor()
ExternalTaskSensorFromExternalTaskSensor()
ExternalTaskSensorLinkFromExternalTaskSensor() ExternalTaskSensorLinkFromExternalTaskSensor()
# airflow.sensors.time_delta_sensor # airflow.sensors.time_delta_sensor

View file

@ -690,16 +690,7 @@ fn check_name(checker: &mut Checker, expr: &Expr, range: TextRange) {
["airflow", "operators", "branch_operator", "BaseBranchOperator"] => { ["airflow", "operators", "branch_operator", "BaseBranchOperator"] => {
Replacement::Name("airflow.operators.branch.BaseBranchOperator") Replacement::Name("airflow.operators.branch.BaseBranchOperator")
} }
["airflow", "operators", " dummy", "EmptyOperator"] => { ["airflow", "operators", "dummy" | "dummy_operator", "EmptyOperator" | "DummyOperator"] => {
Replacement::Name("airflow.operators.empty.EmptyOperator")
}
["airflow", "operators", "dummy", "DummyOperator"] => {
Replacement::Name("airflow.operators.empty.EmptyOperator")
}
["airflow", "operators", "dummy_operator", "EmptyOperator"] => {
Replacement::Name("airflow.operators.empty.EmptyOperator")
}
["airflow", "operators", "dummy_operator", "DummyOperator"] => {
Replacement::Name("airflow.operators.empty.EmptyOperator") Replacement::Name("airflow.operators.empty.EmptyOperator")
} }
["airflow", "operators", "email_operator", "EmailOperator"] => { ["airflow", "operators", "email_operator", "EmailOperator"] => {
@ -728,24 +719,21 @@ fn check_name(checker: &mut Checker, expr: &Expr, range: TextRange) {
} }
// airflow.sensors // airflow.sensors
["airflow", "sensors", "external_task", "ExternalTaskSensorLink"] => {
Replacement::Name("airflow.sensors.external_task.ExternalDagLink")
}
["airflow", "sensors", "base_sensor_operator", "BaseSensorOperator"] => { ["airflow", "sensors", "base_sensor_operator", "BaseSensorOperator"] => {
Replacement::Name("airflow.sensors.base.BaseSensorOperator") Replacement::Name("airflow.sensors.base.BaseSensorOperator")
} }
["airflow", "sensors", "date_time_sensor", "DateTimeSensor"] => { ["airflow", "sensors", "date_time_sensor", "DateTimeSensor"] => {
Replacement::Name("airflow.sensors.date_time.DateTimeSensor") Replacement::Name("airflow.sensors.date_time.DateTimeSensor")
} }
["airflow", "sensors", "external_task_sensor", "ExternalTaskMarker"] => { ["airflow", "sensors", "external_task" | "external_task_sensor", "ExternalTaskMarker"] => {
Replacement::Name("airflow.sensors.external_task.ExternalTaskMarker") Replacement::Name("airflow.sensors.external_task.ExternalTaskMarker")
} }
["airflow", "sensors", "external_task_sensor", "ExternalTaskSensor"] => { ["airflow", "sensors", "external_task" | "external_task_sensor", "ExternalTaskSensorLink"] => {
Replacement::Name("airflow.sensors.external_task.ExternalTaskSensor")
}
["airflow", "sensors", "external_task_sensor", "ExternalTaskSensorLink"] => {
Replacement::Name("airflow.sensors.external_task.ExternalDagLink") Replacement::Name("airflow.sensors.external_task.ExternalDagLink")
} }
["airflow", "sensors", "external_task" | "external_task_sensor", "ExternalTaskSensor"] => {
Replacement::Name("airflow.sensors.external_task.ExternalTaskSensor")
}
["airflow", "sensors", "time_delta_sensor", "TimeDeltaSensor"] => { ["airflow", "sensors", "time_delta_sensor", "TimeDeltaSensor"] => {
Replacement::Name("airflow.sensors.time_delta.TimeDeltaSensor") Replacement::Name("airflow.sensors.time_delta.TimeDeltaSensor")
} }
@ -764,10 +752,9 @@ fn check_name(checker: &mut Checker, expr: &Expr, range: TextRange) {
["airflow", "utils", "dates", "days_ago"] => { ["airflow", "utils", "dates", "days_ago"] => {
Replacement::Name("pendulum.today('UTC').add(days=-N, ...)") Replacement::Name("pendulum.today('UTC').add(days=-N, ...)")
} }
["airflow", "utils", "dates", "parse_execution_date"] => Replacement::None, ["airflow", "utils", "dates", "parse_execution_date" | "round_time" | "scale_time_units" | "infer_time_unit"] => {
["airflow", "utils", "dates", "round_time"] => Replacement::None, Replacement::None
["airflow", "utils", "dates", "scale_time_units"] => Replacement::None, }
["airflow", "utils", "dates", "infer_time_unit"] => Replacement::None,
// airflow.utils.file // airflow.utils.file
["airflow", "utils", "file", "TemporaryDirectory"] => Replacement::None, ["airflow", "utils", "file", "TemporaryDirectory"] => Replacement::None,
@ -784,12 +771,10 @@ fn check_name(checker: &mut Checker, expr: &Expr, range: TextRange) {
} }
// airflow.utils.state // airflow.utils.state
["airflow", "utils", "state", "SHUTDOWN"] => Replacement::None, ["airflow", "utils", "state", "SHUTDOWN" | "terminating_states"] => Replacement::None,
["airflow", "utils", "state", "terminating_states"] => Replacement::None,
// airflow.utils.trigger_rule // airflow.utils.trigger_rule
["airflow", "utils", "trigger_rule", "TriggerRule", "DUMMY"] => Replacement::None, ["airflow", "utils", "trigger_rule", "TriggerRule", "DUMMY" | "NONE_FAILED_OR_SKIPPED"] => {
["airflow", "utils", "trigger_rule", "TriggerRule", "NONE_FAILED_OR_SKIPPED"] => {
Replacement::None Replacement::None
} }