From 55cd37824860ab589af1039c1ac88db1303b4862 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Herv=C3=A9?= Date: Tue, 23 Aug 2022 20:28:42 +0200 Subject: [PATCH] Add filter option to generate (#248) --- apigentools/commands/generate.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apigentools/commands/generate.py b/apigentools/commands/generate.py index b722c8d..ccc8a62 100644 --- a/apigentools/commands/generate.py +++ b/apigentools/commands/generate.py @@ -90,6 +90,12 @@ default=False, help="Delete generated files in output_dir before generation", ) +@click.option( + "--filter-sections", + help="Specify spec sections to filter out from the output", + default=env_or_val("APIGENTOOLS_FILTER_SECTIONS", (), __type=list), + multiple=True, +) @click.pass_context def generate(ctx, **kwargs): """Generate client code""" @@ -243,6 +249,7 @@ def run(self): fs_files = set() # first, generate full spec for all major versions of the API + filter_sections = frozenset(self.args.get("filter_sections", ())) for language, version, fs_file in self.yield_lang_version_specfile(): info[language][version] = fs_file @@ -257,6 +264,7 @@ def run(self): version, self.config.get_language_config(language).spec_sections_for(version), fs_file, + filter_sections, ) log.info(f"Generated {fs_file} for {language}/{version}")