This is an automated email from the ASF dual-hosted git repository.

jedcunningham pushed a commit to branch v2-10-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/v2-10-test by this push:
     new 2a683d558f Deprecate ``--tree`` flag for ``tasks list`` cli command 
(#41965)
2a683d558f is described below

commit 2a683d558fe44334b5a6fcdc99ca9f2ec4afc52e
Author: Jed Cunningham <[email protected]>
AuthorDate: Mon Sep 2 19:40:47 2024 -0600

    Deprecate ``--tree`` flag for ``tasks list`` cli command (#41965)
    
    This also deprecates the public helper functions that powered it. These
    will all be removed in Airflow 3 in favor of `dags show`.
---
 airflow/cli/cli_config.py |  6 +++++-
 airflow/models/dag.py     | 12 ++++++++++++
 tests/models/test_dag.py  | 14 ++++++++++++--
 3 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/airflow/cli/cli_config.py b/airflow/cli/cli_config.py
index abefb5cd63..799b8ed927 100644
--- a/airflow/cli/cli_config.py
+++ b/airflow/cli/cli_config.py
@@ -432,7 +432,11 @@ ARG_MARK_SUCCESS_PATTERN = Arg(
 )
 
 # list_tasks
-ARG_TREE = Arg(("-t", "--tree"), help="Tree view", action="store_true")
+ARG_TREE = Arg(
+    ("-t", "--tree"),
+    help="Deprecated - use `dags show` instead. Display tasks in a tree. Note 
that generating the tree can be slow and the output very large for some DAGs.",
+    action="store_true",
+)
 
 # tasks_run
 # This is a hidden option -- not meant for users to set or know about
diff --git a/airflow/models/dag.py b/airflow/models/dag.py
index ace9650f50..f848346780 100644
--- a/airflow/models/dag.py
+++ b/airflow/models/dag.py
@@ -2772,6 +2772,12 @@ class DAG(LoggingMixin):
 
     def tree_view(self) -> None:
         """Print an ASCII tree representation of the DAG."""
+        warnings.warn(
+            "`tree_view` is deprecated and will be removed in Airflow 3.0.",
+            category=RemovedInAirflow3Warning,
+            stacklevel=2,
+        )
+
         for tmp in self._generate_tree_view():
             print(tmp)
 
@@ -2787,6 +2793,12 @@ class DAG(LoggingMixin):
 
     def get_tree_view(self) -> str:
         """Return an ASCII tree representation of the DAG."""
+        warnings.warn(
+            "`get_tree_view` is deprecated and will be removed in Airflow 
3.0.",
+            category=RemovedInAirflow3Warning,
+            stacklevel=2,
+        )
+
         rst = ""
         for tmp in self._generate_tree_view():
             rst += tmp + "\n"
diff --git a/tests/models/test_dag.py b/tests/models/test_dag.py
index 6e7d2d3894..f23eac76b6 100644
--- a/tests/models/test_dag.py
+++ b/tests/models/test_dag.py
@@ -1653,7 +1653,11 @@ class TestDag:
             op1_a >> op2 >> op3
 
             with redirect_stdout(StringIO()) as stdout:
-                dag.tree_view()
+                with pytest.warns(
+                    RemovedInAirflow3Warning,
+                    match="`tree_view` is deprecated and will be removed in 
Airflow 3.0",
+                ):
+                    dag.tree_view()
                 stdout = stdout.getvalue()
 
             stdout_lines = stdout.splitlines()
@@ -1661,7 +1665,13 @@ class TestDag:
             assert "t2" in stdout_lines[1]
             assert "t3" in stdout_lines[2]
             assert "t1_b" in stdout_lines[3]
-            assert dag.get_tree_view() == (
+
+            with pytest.warns(
+                RemovedInAirflow3Warning,
+                match="`get_tree_view` is deprecated and will be removed in 
Airflow 3.0",
+            ):
+                get_tree_view = dag.get_tree_view()
+            assert get_tree_view == (
                 "<Task(EmptyOperator): t1_a>\n"
                 "    <Task(EmptyOperator): t2>\n"
                 "        <Task(EmptyOperator): t3>\n"

Reply via email to