From 10cd3a3eb94a32467cd1d5ac7c6f93e183cd519c Mon Sep 17 00:00:00 2001 From: Meni Yakove Date: Thu, 16 Jan 2025 13:54:32 +0200 Subject: [PATCH 1/4] class-generator-tools: add --regenerate-generated-file --- class_generator/scripts/tools.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/class_generator/scripts/tools.py b/class_generator/scripts/tools.py index 91a1ad08bd..23ba9c653a 100644 --- a/class_generator/scripts/tools.py +++ b/class_generator/scripts/tools.py @@ -1,6 +1,7 @@ +import ast import os from typing import Dict, List -import ast + import click from class_generator.class_generator import class_generator @@ -81,8 +82,13 @@ def generate_resource(kinds: List[str], yes: bool) -> None: is_flag=True, help="Generate missing end comment for all resources under `ocp_resources` directory", ) -def main(list_generated_file: bool, generated_missing_end_comment: bool, yes: bool) -> None: +@click.option("--regenerate-generated-files", is_flag=True, help="Regenerate all generated files") +def main(list_generated_file: bool, generated_missing_end_comment: bool, yes: bool, regenerate_generated_files) -> None: res = get_generated_files() + if regenerate_generated_files: + for kind in res["with_end_comment"].keys(): + os.system(f"uv run class_generator/class_generator.py -k {kind} --overwrite --dry-run") + if generated_missing_end_comment: generate_resource(kinds=list(res["without_end_comment"].keys()), yes=yes) From 6a233af84fb14133d6d04fb2912b25dc14d54e3e Mon Sep 17 00:00:00 2001 From: Meni Yakove Date: Thu, 16 Jan 2025 13:55:49 +0200 Subject: [PATCH 2/4] class-generator-tools: add --regenerate-generated-file --- class_generator/scripts/tools.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/class_generator/scripts/tools.py b/class_generator/scripts/tools.py index 23ba9c653a..1d53a4d390 100644 --- a/class_generator/scripts/tools.py +++ b/class_generator/scripts/tools.py @@ -87,7 +87,7 @@ def main(list_generated_file: bool, generated_missing_end_comment: bool, yes: bo res = get_generated_files() if regenerate_generated_files: for kind in res["with_end_comment"].keys(): - os.system(f"uv run class_generator/class_generator.py -k {kind} --overwrite --dry-run") + os.system(f"uv run class_generator/class_generator.py -k {kind} --overwrite") if generated_missing_end_comment: generate_resource(kinds=list(res["without_end_comment"].keys()), yes=yes) From 09880568ab9170345b868879f8289694ea3a7c5e Mon Sep 17 00:00:00 2001 From: Meni Yakove Date: Thu, 16 Jan 2025 14:19:30 +0200 Subject: [PATCH 3/4] use class_generator, not uv for generate --- class_generator/scripts/tools.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/class_generator/scripts/tools.py b/class_generator/scripts/tools.py index 1d53a4d390..b14507c106 100644 --- a/class_generator/scripts/tools.py +++ b/class_generator/scripts/tools.py @@ -83,11 +83,28 @@ def generate_resource(kinds: List[str], yes: bool) -> None: help="Generate missing end comment for all resources under `ocp_resources` directory", ) @click.option("--regenerate-generated-files", is_flag=True, help="Regenerate all generated files") -def main(list_generated_file: bool, generated_missing_end_comment: bool, yes: bool, regenerate_generated_files) -> None: +def main( + list_generated_file: bool, generated_missing_end_comment: bool, yes: bool, regenerate_generated_files: bool +) -> None: res = get_generated_files() if regenerate_generated_files: + click.echo("Regenerating files...") + failed_kinds = [] for kind in res["with_end_comment"].keys(): - os.system(f"uv run class_generator/class_generator.py -k {kind} --overwrite") + try: + click.echo(f"Regenerating {kind}...") + if not class_generator(kind=kind, called_from_cli=False, overwrite=True): + failed_kinds.append(kind) + + except Exception as exc: + click.echo(f"Failed to regenerate {kind}: {exc}", err=True) + failed_kinds.append(kind) + if failed_kinds: + click.echo(f"Failed to regenerate: {', '.join(failed_kinds)}", err=True) + else: + click.echo("All files regenerated successfully!") + # for kind in res["with_end_comment"].keys(): + # os.system(f"uv run class_generator/class_generator.py -k {kind} --overwrite") if generated_missing_end_comment: generate_resource(kinds=list(res["without_end_comment"].keys()), yes=yes) From 5940cd7487e8b10a2e716b0fc2264ad6d029d371 Mon Sep 17 00:00:00 2001 From: Meni Yakove Date: Thu, 16 Jan 2025 15:07:17 +0200 Subject: [PATCH 4/4] remove commented code --- class_generator/scripts/tools.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/class_generator/scripts/tools.py b/class_generator/scripts/tools.py index b14507c106..71ce9f7c33 100644 --- a/class_generator/scripts/tools.py +++ b/class_generator/scripts/tools.py @@ -103,8 +103,6 @@ def main( click.echo(f"Failed to regenerate: {', '.join(failed_kinds)}", err=True) else: click.echo("All files regenerated successfully!") - # for kind in res["with_end_comment"].keys(): - # os.system(f"uv run class_generator/class_generator.py -k {kind} --overwrite") if generated_missing_end_comment: generate_resource(kinds=list(res["without_end_comment"].keys()), yes=yes)