Skip to content

Commit

Permalink
feat(air302): extend removed names
Browse files Browse the repository at this point in the history
  • Loading branch information
Lee-W committed Dec 2, 2024
1 parent 76d2e56 commit d37fbad
Show file tree
Hide file tree
Showing 3 changed files with 206 additions and 33 deletions.
25 changes: 25 additions & 0 deletions crates/ruff_linter/resources/test/fixtures/airflow/AIR302_names.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
from airflow.utils import dates
from airflow.utils.dates import date_range, datetime_to_nano, days_ago
from airflow.triggers.external_task import TaskStateTrigger
from airflow.utils.file import TemporaryDirectory
from airflow.utils.file import mkdirs
from airflow.utils.decorators import apply_defaults
from airflow.utils.dates import parse_execution_date
from airflow.utils.dates import round_time
from airflow.utils.dates import scale_time_units
from airflow.utils.dates import infer_time_unit
from airflow.utils.state import SHUTDOWN
from airflow.utils.state import terminating_states
from airflow.utils.dag_cycle_tester import test_cycle


date_range
days_ago
Expand All @@ -10,3 +22,16 @@
# This one was not deprecated.
datetime_to_nano
dates.datetime_to_nano

TaskStateTrigger
TemporaryDirectory
mkdirs
date_range
apply_defaults
parse_execution_date
round_time
scale_time_units
infer_time_unit
test_cycle
SHUTDOWN
terminating_states
33 changes: 33 additions & 0 deletions crates/ruff_linter/src/rules/airflow/rules/removal_in_3.rs
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,39 @@ fn removed_name(checker: &mut Checker, expr: &Expr, ranged: impl Ranged) {
["airflow", "utils", "dates", "date_range"] => {
Some((qualname.to_string(), Replacement::None))
}
["airflow", "triggers", "external_task", "TaskStateTrigger"] => {
Some((qualname.to_string(), Replacement::None))
}
["airflow", "utils", "file", "TemporaryDirectory"] => {
Some((qualname.to_string(), Replacement::None))
}
["airflow", "utils", "file", "mkdirs"] => {
Some((qualname.to_string(), Replacement::None))
}
["airflow", "utils", "decorators", "apply_defaults"] => {
Some((qualname.to_string(), Replacement::None))
}
["airflow", "utils", "dates", "parse_execution_date"] => {
Some((qualname.to_string(), Replacement::None))
}
["airflow", "utils", "dates", "round_time"] => {
Some((qualname.to_string(), Replacement::None))
}
["airflow", "utils", "dates", "scale_time_units"] => {
Some((qualname.to_string(), Replacement::None))
}
["airflow", "utils", "dates", "infer_time_unit"] => {
Some((qualname.to_string(), Replacement::None))
}
["airflow", "utils", "state", "SHUTDOWN"] => {
Some((qualname.to_string(), Replacement::None))
}
["airflow", "utils", "state", "terminating_states"] => {
Some((qualname.to_string(), Replacement::None))
}
["airflow", "utils", "dag_cycle_tester", "test_cycle"] => {
Some((qualname.to_string(), Replacement::None))
}
["airflow", "utils", "dates", "days_ago"] => Some((
qualname.to_string(),
Replacement::Name("datetime.timedelta()".to_string()),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,38 +1,153 @@
---
source: crates/ruff_linter/src/rules/airflow/mod.rs
snapshot_kind: text
---
AIR302_names.py:4:1: AIR302 `airflow.utils.dates.date_range` is removed in Airflow 3.0
|
2 | from airflow.utils.dates import date_range, datetime_to_nano, days_ago
3 |
4 | date_range
| ^^^^^^^^^^ AIR302
5 | days_ago
|

AIR302_names.py:5:1: AIR302 `airflow.utils.dates.days_ago` is removed in Airflow 3.0; use datetime.timedelta() instead
|
4 | date_range
5 | days_ago
| ^^^^^^^^ AIR302
6 |
7 | dates.date_range
|

AIR302_names.py:7:7: AIR302 `airflow.utils.dates.date_range` is removed in Airflow 3.0
|
5 | days_ago
6 |
7 | dates.date_range
| ^^^^^^^^^^ AIR302
8 | dates.days_ago
|

AIR302_names.py:8:7: AIR302 `airflow.utils.dates.days_ago` is removed in Airflow 3.0; use datetime.timedelta() instead
|
7 | dates.date_range
8 | dates.days_ago
AIR302_names.py:16:1: AIR302 `airflow.utils.dates.date_range` is removed in Airflow 3.0
|
16 | date_range
| ^^^^^^^^^^ AIR302
17 | days_ago
|

AIR302_names.py:17:1: AIR302 `airflow.utils.dates.days_ago` is removed in Airflow 3.0; use datetime.timedelta() instead
|
16 | date_range
17 | days_ago
| ^^^^^^^^ AIR302
18 |
19 | dates.date_range
|

AIR302_names.py:19:7: AIR302 `airflow.utils.dates.date_range` is removed in Airflow 3.0
|
17 | days_ago
18 |
19 | dates.date_range
| ^^^^^^^^^^ AIR302
20 | dates.days_ago
|

AIR302_names.py:20:7: AIR302 `airflow.utils.dates.days_ago` is removed in Airflow 3.0; use datetime.timedelta() instead
|
19 | dates.date_range
20 | dates.days_ago
| ^^^^^^^^ AIR302
9 |
10 | # This one was not deprecated.
21 |
22 | # This one was not deprecated.
|

AIR302_names.py:26:1: AIR302 `airflow.triggers.external_task.TaskStateTrigger` is removed in Airflow 3.0
|
24 | dates.datetime_to_nano
25 |
26 | TaskStateTrigger
| ^^^^^^^^^^^^^^^^ AIR302
27 | TemporaryDirectory
28 | mkdirs
|

AIR302_names.py:27:1: AIR302 `airflow.utils.file.TemporaryDirectory` is removed in Airflow 3.0
|
26 | TaskStateTrigger
27 | TemporaryDirectory
| ^^^^^^^^^^^^^^^^^^ AIR302
28 | mkdirs
29 | date_range
|

AIR302_names.py:28:1: AIR302 `airflow.utils.file.mkdirs` is removed in Airflow 3.0
|
26 | TaskStateTrigger
27 | TemporaryDirectory
28 | mkdirs
| ^^^^^^ AIR302
29 | date_range
30 | apply_defaults
|

AIR302_names.py:29:1: AIR302 `airflow.utils.dates.date_range` is removed in Airflow 3.0
|
27 | TemporaryDirectory
28 | mkdirs
29 | date_range
| ^^^^^^^^^^ AIR302
30 | apply_defaults
31 | parse_execution_date
|

AIR302_names.py:30:1: AIR302 `airflow.utils.decorators.apply_defaults` is removed in Airflow 3.0
|
28 | mkdirs
29 | date_range
30 | apply_defaults
| ^^^^^^^^^^^^^^ AIR302
31 | parse_execution_date
32 | round_time
|

AIR302_names.py:31:1: AIR302 `airflow.utils.dates.parse_execution_date` is removed in Airflow 3.0
|
29 | date_range
30 | apply_defaults
31 | parse_execution_date
| ^^^^^^^^^^^^^^^^^^^^ AIR302
32 | round_time
33 | scale_time_units
|

AIR302_names.py:32:1: AIR302 `airflow.utils.dates.round_time` is removed in Airflow 3.0
|
30 | apply_defaults
31 | parse_execution_date
32 | round_time
| ^^^^^^^^^^ AIR302
33 | scale_time_units
34 | infer_time_unit
|

AIR302_names.py:33:1: AIR302 `airflow.utils.dates.scale_time_units` is removed in Airflow 3.0
|
31 | parse_execution_date
32 | round_time
33 | scale_time_units
| ^^^^^^^^^^^^^^^^ AIR302
34 | infer_time_unit
35 | test_cycle
|

AIR302_names.py:34:1: AIR302 `airflow.utils.dates.infer_time_unit` is removed in Airflow 3.0
|
32 | round_time
33 | scale_time_units
34 | infer_time_unit
| ^^^^^^^^^^^^^^^ AIR302
35 | test_cycle
36 | SHUTDOWN
|

AIR302_names.py:35:1: AIR302 `airflow.utils.dag_cycle_tester.test_cycle` is removed in Airflow 3.0
|
33 | scale_time_units
34 | infer_time_unit
35 | test_cycle
| ^^^^^^^^^^ AIR302
36 | SHUTDOWN
37 | terminating_states
|

AIR302_names.py:36:1: AIR302 `airflow.utils.state.SHUTDOWN` is removed in Airflow 3.0
|
34 | infer_time_unit
35 | test_cycle
36 | SHUTDOWN
| ^^^^^^^^ AIR302
37 | terminating_states
|

AIR302_names.py:37:1: AIR302 `airflow.utils.state.terminating_states` is removed in Airflow 3.0
|
35 | test_cycle
36 | SHUTDOWN
37 | terminating_states
| ^^^^^^^^^^^^^^^^^^ AIR302
|

0 comments on commit d37fbad

Please sign in to comment.