Function bodies 2 total
latest_version function · python · L18-L26 (9 LOC)generate_catalog.py
def latest_version(versions: list[str]) -> str:
"""Return the highest semantic version string from a list."""
def _key(v):
parts = v.lstrip("v").split(".")
try:
return tuple(int(p) for p in parts)
except ValueError:
return (0, 0, 0)
return max(versions, key=_key)build_catalog function · python · L29-L68 (40 LOC)generate_catalog.py
def build_catalog() -> list[dict]:
catalog = []
for ns_dir in sorted(PACKAGES_DIR.iterdir()):
if not ns_dir.is_dir():
continue
namespace = ns_dir.name
for pkg_dir in sorted(ns_dir.iterdir()):
if not pkg_dir.is_dir():
continue
name = pkg_dir.name
version_files = sorted(pkg_dir.glob("*.yml"))
if not version_files:
continue
versions = [f.stem for f in version_files]
latest = latest_version(versions)
# Load metadata from latest version file
latest_file = pkg_dir / f"{latest}.yml"
with open(latest_file) as f:
meta = yaml.safe_load(f)
compat = meta.get("routertl_compat", {})
entry = {
"namespace": namespace,
"name": name,
"latest": latest,
"versions": sorted(versions),
"description": met