MCPcopy Create free account
hub / github.com/DevCloudNinjas/DevOps-Projects / list_main

Function list_main

tools/project_inventory.py:225–242  ·  view source on GitHub ↗
(argv: list[str] | None = None)

Source from the content-addressed store, hash-verified

223
224
225def list_main(argv: list[str] | None = None) -> int:
226 args = build_list_parser().parse_args(argv)
227 repo_root = Path(args.repo_root).resolve()
228 metadata = load_metadata(repo_root, args.metadata)
229 errors = validate_metadata(repo_root, metadata) if args.validate_metadata else []
230 if errors:
231 for error in errors:
232 print(f"metadata error: {error}", file=sys.stderr)
233 return 1
234
235 projects = discover_projects(repo_root, metadata)
236 if args.changed_from:
237 projects = projects_for_changed_files(
238 projects,
239 changed_files(repo_root, args.changed_from, args.changed_to),
240 )
241 print(_format_projects(projects, args.format))
242 return 0
243
244
245def build_validate_parser() -> argparse.ArgumentParser:

Calls 7

build_list_parserFunction · 0.85
load_metadataFunction · 0.85
validate_metadataFunction · 0.85
discover_projectsFunction · 0.85
changed_filesFunction · 0.85
_format_projectsFunction · 0.85