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

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

commit 65310cba9e4f093f28372d5cd2ae2ecb2d8d10a0
Author: Jarek Potiuk <ja...@potiuk.com>
AuthorDate: Sun Oct 29 20:52:33 2023 +0100

    Fix bulding and publishing of the documentation (Breeze merge conflicts)
---
 .../airflow_breeze/utils/publish_docs_builder.py   | 49 ++++++++++++----------
 1 file changed, 28 insertions(+), 21 deletions(-)

diff --git a/dev/breeze/src/airflow_breeze/utils/publish_docs_builder.py 
b/dev/breeze/src/airflow_breeze/utils/publish_docs_builder.py
index cb0fba3d81..e5dcc1be22 100644
--- a/dev/breeze/src/airflow_breeze/utils/publish_docs_builder.py
+++ b/dev/breeze/src/airflow_breeze/utils/publish_docs_builder.py
@@ -24,12 +24,11 @@ from glob import glob
 from pathlib import Path
 from subprocess import run
 
-from rich.console import Console
-
 from airflow_breeze.global_constants import get_airflow_version
+from airflow_breeze.utils.console import Output, get_console
 from airflow_breeze.utils.docs_errors import DocBuildError, 
parse_sphinx_warnings
 from airflow_breeze.utils.helm_chart_utils import chart_version
-from airflow_breeze.utils.publish_docs_helpers import CONSOLE_WIDTH, 
load_package_data, pretty_format_path
+from airflow_breeze.utils.publish_docs_helpers import load_package_data, 
pretty_format_path
 from airflow_breeze.utils.spelling_checks import SpellingError, 
parse_spelling_warnings
 
 PROCESS_TIMEOUT = 15 * 60
@@ -37,14 +36,14 @@ PROCESS_TIMEOUT = 15 * 60
 ROOT_PROJECT_DIR = Path(__file__).parents[5].resolve()
 DOCS_DIR = os.path.join(ROOT_PROJECT_DIR, "docs")
 
-console = Console(force_terminal=True, color_system="standard", 
width=CONSOLE_WIDTH)
-
 
 class PublishDocsBuilder:
     """Documentation builder for Airflow Docs Publishing."""
 
-    def __init__(self, package_name: str):
+    def __init__(self, package_name: str, output: Output | None, verbose: 
bool):
         self.package_name = package_name
+        self.output = output
+        self.verbose = verbose
 
     @property
     def _doctree_dir(self) -> str:
@@ -153,11 +152,13 @@ class PublishDocsBuilder:
         env = os.environ.copy()
         env["AIRFLOW_PACKAGE_NAME"] = self.package_name
         if verbose:
-            console.print(
+            get_console(output=self.output).print(
                 f"[info]{self.package_name:60}:[/] Executing cmd: ",
                 " ".join(shlex.quote(c) for c in build_cmd),
             )
-            console.print(f"[info]{self.package_name:60}:[/] The output is 
hidden until an error occurs.")
+            get_console(output=self.output).print(
+                f"[info]{self.package_name:60}:[/] The output is hidden until 
an error occurs."
+            )
         with open(self.log_spelling_filename, "w") as output:
             completed_proc = run(
                 build_cmd,
@@ -186,14 +187,16 @@ class PublishDocsBuilder:
                     warning_text += spelling_file.read()
 
             spelling_errors.extend(parse_spelling_warnings(warning_text, 
self._src_dir))
-            console.print(f"[info]{self.package_name:60}:[/] [red]Finished 
spell-checking with errors[/]")
+            get_console(output=self.output).print(
+                f"[info]{self.package_name:60}:[/] [red]Finished 
spell-checking with errors[/]"
+            )
         else:
             if spelling_errors:
-                console.print(
+                get_console(output=self.output).print(
                     f"[info]{self.package_name:60}:[/] [yellow]Finished 
spell-checking with warnings[/]"
                 )
             else:
-                console.print(
+                get_console(output=self.output).print(
                     f"[info]{self.package_name:60}:[/] [green]Finished 
spell-checking successfully[/]"
                 )
         return spelling_errors
@@ -226,12 +229,12 @@ class PublishDocsBuilder:
         env = os.environ.copy()
         env["AIRFLOW_PACKAGE_NAME"] = self.package_name
         if verbose:
-            console.print(
+            get_console(output=self.output).print(
                 f"[info]{self.package_name:60}:[/] Executing cmd: ",
                 " ".join(shlex.quote(c) for c in build_cmd),
             )
         else:
-            console.print(
+            get_console(output=self.output).print(
                 f"[info]{self.package_name:60}:[/] Running sphinx. "
                 f"The output is hidden until an error occurs."
             )
@@ -259,32 +262,36 @@ class PublishDocsBuilder:
             warning_text = re.sub(r"\x1B[@-_][0-?]*[ -/]*[@-~]", "", 
warning_text)
             build_errors.extend(parse_sphinx_warnings(warning_text, 
self._src_dir))
         if build_errors:
-            console.print(f"[info]{self.package_name:60}:[/] [red]Finished 
docs building with errors[/]")
+            get_console(output=self.output).print(
+                f"[info]{self.package_name:60}:[/] [red]Finished docs building 
with errors[/]"
+            )
         else:
-            console.print(f"[info]{self.package_name:60}:[/] [green]Finished 
docs building successfully[/]")
+            get_console(output=self.output).print(
+                f"[info]{self.package_name:60}:[/] [green]Finished docs 
building successfully[/]"
+            )
         return build_errors
 
     def publish(self, override_versioned: bool, airflow_site_dir: str):
         """Copy documentation packages files to airflow-site repository."""
-        console.print(f"Publishing docs for {self.package_name}")
+        get_console(output=self.output).print(f"Publishing docs for 
{self.package_name}")
         output_dir = os.path.join(airflow_site_dir, self._publish_dir)
         pretty_source = pretty_format_path(self._build_dir, os.getcwd())
         pretty_target = pretty_format_path(output_dir, airflow_site_dir)
-        console.print(f"Copy directory: {pretty_source} => {pretty_target}")
+        get_console(output=self.output).print(f"Copy directory: 
{pretty_source} => {pretty_target}")
         if os.path.exists(output_dir):
             if self.is_versioned:
                 if override_versioned:
-                    console.print(f"Overriding previously existing 
{output_dir}! ")
+                    get_console(output=self.output).print(f"Overriding 
previously existing {output_dir}! ")
                 else:
-                    console.print(
+                    get_console(output=self.output).print(
                         f"Skipping previously existing {output_dir}! "
                         f"Delete it manually if you want to regenerate it!"
                     )
-                    console.print()
+                    get_console(output=self.output).print()
                     return
             shutil.rmtree(output_dir)
         shutil.copytree(self._build_dir, output_dir)
         if self.is_versioned:
             with open(os.path.join(output_dir, "..", "stable.txt"), "w") as 
stable_file:
                 stable_file.write(self._current_version)
-        console.print()
+        get_console(output=self.output).print()

Reply via email to