Skip to content

Commit 618bfaf

Browse files
authored
[airflow] Add external_task.{ExternalTaskMarker, ExternalTaskSensor} for AIR302 (#16014)
## Summary Apply suggestions similar to #15922 (comment) ## Test Plan a test fixture has been updated
1 parent b1c61cb commit 618bfaf

File tree

3 files changed

+588
-606
lines changed

3 files changed

+588
-606
lines changed

crates/ruff_linter/resources/test/fixtures/airflow/AIR302_names.py

+6-9
Original file line numberDiff line numberDiff line change
@@ -75,15 +75,10 @@
7575
from airflow.security.permissions import RESOURCE_DATASET
7676
from airflow.sensors.base_sensor_operator import BaseSensorOperator
7777
from airflow.sensors.date_time_sensor import DateTimeSensor
78-
from airflow.sensors.external_task import (
79-
ExternalTaskSensorLink as ExternalTaskSensorLinkFromExternalTask,
80-
)
8178
from airflow.sensors.external_task_sensor import (
8279
ExternalTaskMarker,
8380
ExternalTaskSensor,
84-
)
85-
from airflow.sensors.external_task_sensor import (
86-
ExternalTaskSensorLink as ExternalTaskSensorLinkFromExternalTaskSensor,
81+
ExternalTaskSensorLink,
8782
)
8883
from airflow.sensors.time_delta_sensor import TimeDeltaSensor
8984
from airflow.timetables.datasets import DatasetOrTimeSchedule
@@ -249,11 +244,13 @@
249244
DateTimeSensor()
250245

251246
# airflow.sensors.external_task
252-
ExternalTaskSensorLinkFromExternalTask()
253-
254-
# airflow.sensors.external_task_sensor
247+
ExternalTaskSensorLink()
255248
ExternalTaskMarker()
256249
ExternalTaskSensor()
250+
251+
# airflow.sensors.external_task_sensor
252+
ExternalTaskMarkerFromExternalTaskSensor()
253+
ExternalTaskSensorFromExternalTaskSensor()
257254
ExternalTaskSensorLinkFromExternalTaskSensor()
258255

259256
# airflow.sensors.time_delta_sensor

crates/ruff_linter/src/rules/airflow/rules/removal_in_3.rs

+11-26
Original file line numberDiff line numberDiff line change
@@ -690,16 +690,7 @@ fn check_name(checker: &mut Checker, expr: &Expr, range: TextRange) {
690690
["airflow", "operators", "branch_operator", "BaseBranchOperator"] => {
691691
Replacement::Name("airflow.operators.branch.BaseBranchOperator")
692692
}
693-
["airflow", "operators", " dummy", "EmptyOperator"] => {
694-
Replacement::Name("airflow.operators.empty.EmptyOperator")
695-
}
696-
["airflow", "operators", "dummy", "DummyOperator"] => {
697-
Replacement::Name("airflow.operators.empty.EmptyOperator")
698-
}
699-
["airflow", "operators", "dummy_operator", "EmptyOperator"] => {
700-
Replacement::Name("airflow.operators.empty.EmptyOperator")
701-
}
702-
["airflow", "operators", "dummy_operator", "DummyOperator"] => {
693+
["airflow", "operators", "dummy" | "dummy_operator", "EmptyOperator" | "DummyOperator"] => {
703694
Replacement::Name("airflow.operators.empty.EmptyOperator")
704695
}
705696
["airflow", "operators", "email_operator", "EmailOperator"] => {
@@ -728,24 +719,21 @@ fn check_name(checker: &mut Checker, expr: &Expr, range: TextRange) {
728719
}
729720

730721
// airflow.sensors
731-
["airflow", "sensors", "external_task", "ExternalTaskSensorLink"] => {
732-
Replacement::Name("airflow.sensors.external_task.ExternalDagLink")
733-
}
734722
["airflow", "sensors", "base_sensor_operator", "BaseSensorOperator"] => {
735723
Replacement::Name("airflow.sensors.base.BaseSensorOperator")
736724
}
737725
["airflow", "sensors", "date_time_sensor", "DateTimeSensor"] => {
738726
Replacement::Name("airflow.sensors.date_time.DateTimeSensor")
739727
}
740-
["airflow", "sensors", "external_task_sensor", "ExternalTaskMarker"] => {
728+
["airflow", "sensors", "external_task" | "external_task_sensor", "ExternalTaskMarker"] => {
741729
Replacement::Name("airflow.sensors.external_task.ExternalTaskMarker")
742730
}
743-
["airflow", "sensors", "external_task_sensor", "ExternalTaskSensor"] => {
744-
Replacement::Name("airflow.sensors.external_task.ExternalTaskSensor")
745-
}
746-
["airflow", "sensors", "external_task_sensor", "ExternalTaskSensorLink"] => {
731+
["airflow", "sensors", "external_task" | "external_task_sensor", "ExternalTaskSensorLink"] => {
747732
Replacement::Name("airflow.sensors.external_task.ExternalDagLink")
748733
}
734+
["airflow", "sensors", "external_task" | "external_task_sensor", "ExternalTaskSensor"] => {
735+
Replacement::Name("airflow.sensors.external_task.ExternalTaskSensor")
736+
}
749737
["airflow", "sensors", "time_delta_sensor", "TimeDeltaSensor"] => {
750738
Replacement::Name("airflow.sensors.time_delta.TimeDeltaSensor")
751739
}
@@ -764,10 +752,9 @@ fn check_name(checker: &mut Checker, expr: &Expr, range: TextRange) {
764752
["airflow", "utils", "dates", "days_ago"] => {
765753
Replacement::Name("pendulum.today('UTC').add(days=-N, ...)")
766754
}
767-
["airflow", "utils", "dates", "parse_execution_date"] => Replacement::None,
768-
["airflow", "utils", "dates", "round_time"] => Replacement::None,
769-
["airflow", "utils", "dates", "scale_time_units"] => Replacement::None,
770-
["airflow", "utils", "dates", "infer_time_unit"] => Replacement::None,
755+
["airflow", "utils", "dates", "parse_execution_date" | "round_time" | "scale_time_units" | "infer_time_unit"] => {
756+
Replacement::None
757+
}
771758

772759
// airflow.utils.file
773760
["airflow", "utils", "file", "TemporaryDirectory"] => Replacement::None,
@@ -784,12 +771,10 @@ fn check_name(checker: &mut Checker, expr: &Expr, range: TextRange) {
784771
}
785772

786773
// airflow.utils.state
787-
["airflow", "utils", "state", "SHUTDOWN"] => Replacement::None,
788-
["airflow", "utils", "state", "terminating_states"] => Replacement::None,
774+
["airflow", "utils", "state", "SHUTDOWN" | "terminating_states"] => Replacement::None,
789775

790776
// airflow.utils.trigger_rule
791-
["airflow", "utils", "trigger_rule", "TriggerRule", "DUMMY"] => Replacement::None,
792-
["airflow", "utils", "trigger_rule", "TriggerRule", "NONE_FAILED_OR_SKIPPED"] => {
777+
["airflow", "utils", "trigger_rule", "TriggerRule", "DUMMY" | "NONE_FAILED_OR_SKIPPED"] => {
793778
Replacement::None
794779
}
795780

0 commit comments

Comments
 (0)