From ac798735dd179d8f3708d37437978448afe3a797 Mon Sep 17 00:00:00 2001 From: Darragh Elliott Date: Wed, 3 Sep 2025 10:31:55 +0000 Subject: [PATCH] build: use some list comps for sites stuff only serve websites specified on cli --- build/fsfe_website_build/build.py | 4 ++-- build/fsfe_website_build/phase3/serve_websites.py | 11 +++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/build/fsfe_website_build/build.py b/build/fsfe_website_build/build.py index 88113aa3f3..475d94448e 100755 --- a/build/fsfe_website_build/build.py +++ b/build/fsfe_website_build/build.py @@ -63,7 +63,7 @@ def parse_arguments() -> argparse.Namespace: parser.add_argument( "--sites", help="What site directories to build", - default=list(filter(lambda path: path.is_dir(), Path().glob("?*.??*"))), + default=[path for path in Path().glob("?*.??*") if path.is_dir()], type=lambda sites: [Path(site) for site in sites.split(",")], ) parser.add_argument( @@ -160,4 +160,4 @@ def main() -> None: stage_to_target(working_target, args.target, pool) if args.serve: - serve_websites(working_target, 2000, 100) + serve_websites(working_target, args.sites, 2000, 100) diff --git a/build/fsfe_website_build/phase3/serve_websites.py b/build/fsfe_website_build/phase3/serve_websites.py index 2756c84a34..2fd780be7f 100755 --- a/build/fsfe_website_build/phase3/serve_websites.py +++ b/build/fsfe_website_build/phase3/serve_websites.py @@ -27,12 +27,19 @@ def _run_webserver(path: str, port: int) -> None: httpd.serve_forever() -def serve_websites(serve_dir: Path, base_port: int, increment_number: int) -> None: +def serve_websites( + serve_dir: Path, sites: list, base_port: int, increment_number: int +) -> None: """ Takes a target directory, a base port and a number to increment port by per dir It then serves all directories over http on localhost """ - dirs = sorted(filter(lambda path: path.is_dir(), Path(serve_dir).iterdir())) + site_names = [site.name for site in sites] + dirs = ( + path + for path in Path(serve_dir).iterdir() + if (path.is_dir() and (path.name in site_names)) + ) serves = [] for index, directory in enumerate(dirs): port = base_port + (increment_number * index)