From 35654780e9a982429d763e85b9bcf6280380e4b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Mon, 9 Nov 2026 20:49:13 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A5=20Remove=20obsolete=20docs=20snipp?= =?UTF-8?q?et=20commands?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/docs.py | 128 ------------------------------------------------ 1 file changed, 128 deletions(-) diff --git a/scripts/docs.py b/scripts/docs.py index 99b4a09068..5f42f18293 100644 --- a/scripts/docs.py +++ b/scripts/docs.py @@ -9,7 +9,6 @@ import typer import yaml from jinja2 import Template -from ruff.__main__ import find_ruff_bin logging.basicConfig(level=logging.INFO) @@ -141,133 +140,6 @@ def serve() -> None: server.serve_forever() -@app.command() -def generate_docs_src_versions_for_file(file_path: Path) -> None: - target_versions = ["py39", "py310"] - full_path_str = str(file_path) - for target_version in target_versions: - if f"_{target_version}" in full_path_str: - logging.info( - f"Skipping {file_path}, already a version file for {target_version}" - ) - return - base_content = file_path.read_text(encoding="utf-8") - previous_content = {base_content} - for target_version in target_versions: - version_result = subprocess.run( - [ - find_ruff_bin(), - "check", - "--target-version", - target_version, - "--fix", - "--unsafe-fixes", - "-", - ], - input=base_content.encode("utf-8"), - capture_output=True, - ) - content_target = version_result.stdout.decode("utf-8") - format_result = subprocess.run( - [find_ruff_bin(), "format", "-"], - input=content_target.encode("utf-8"), - capture_output=True, - ) - content_format = format_result.stdout.decode("utf-8") - if content_format in previous_content: - continue - previous_content.add(content_format) - # Determine where the version label should go: in the parent directory - # name or in the file name, matching the source structure. - label_in_parent = False - for v in target_versions: - if f"_{v}" in file_path.parent.name: - label_in_parent = True - break - if label_in_parent: - parent_name = file_path.parent.name - for v in target_versions: - parent_name = parent_name.replace(f"_{v}", "") - new_parent = file_path.parent.parent / f"{parent_name}_{target_version}" - new_parent.mkdir(parents=True, exist_ok=True) - version_file = new_parent / file_path.name - else: - base_name = file_path.stem - for v in target_versions: - if base_name.endswith(f"_{v}"): - base_name = base_name[: -len(f"_{v}")] - break - version_file = file_path.with_name(f"{base_name}_{target_version}.py") - logging.info(f"Writing to {version_file}") - version_file.write_text(content_format, encoding="utf-8") - - -@app.command() -def generate_docs_src_versions() -> None: - """ - Generate Python version-specific files for all .py files in docs_src. - """ - docs_src_path = Path("docs_src") - for py_file in sorted(docs_src_path.rglob("*.py")): - generate_docs_src_versions_for_file(py_file) - - -@app.command() -def copy_py39_to_py310() -> None: - """ - For each docs_src file/directory with a _py39 label that has no _py310 - counterpart, copy it with the _py310 label. - """ - docs_src_path = Path("docs_src") - # Handle directory-level labels (e.g. app_b_an_py39/) - for dir_path in sorted(docs_src_path.rglob("*_py39")): - if not dir_path.is_dir(): - continue - py310_dir = dir_path.parent / dir_path.name.replace("_py39", "_py310") - if py310_dir.exists(): - continue - logging.info(f"Copying directory {dir_path} -> {py310_dir}") - shutil.copytree(dir_path, py310_dir) - # Handle file-level labels (e.g. tutorial001_py39.py) - for file_path in sorted(docs_src_path.rglob("*_py39.py")): - if not file_path.is_file(): - continue - # Skip files inside _py39 directories (already handled above) - if "_py39" in file_path.parent.name: - continue - py310_file = file_path.with_name( - file_path.name.replace("_py39.py", "_py310.py") - ) - if py310_file.exists(): - continue - logging.info(f"Copying file {file_path} -> {py310_file}") - shutil.copy2(file_path, py310_file) - - -@app.command() -def update_docs_includes_py39_to_py310() -> None: - """ - Update .md files in docs/en/ to replace _py39 includes with _py310 versions. - - For each include line referencing a _py39 file or directory in docs_src, replace - the _py39 label with _py310. - """ - include_pattern = re.compile(r"\{[^}]*docs_src/[^}]*_py39[^}]*\.py[^}]*\}") - count = 0 - for md_file in sorted(en_docs_path.rglob("*.md")): - content = md_file.read_text(encoding="utf-8") - if "_py39" not in content: - continue - new_content = include_pattern.sub( - lambda m: m.group(0).replace("_py39", "_py310"), content - ) - if new_content != content: - md_file.write_text(new_content, encoding="utf-8") - count += 1 - logging.info(f"Updated includes in {md_file}") - print(f"Updated {count} file(s) ✅") - - @app.command() def remove_unused_docs_src() -> None: """