CUSP-1346 - Add support for existing-folders

Signed-off-by: Stephen Simpson <ssimpson89@users.noreply.github.com>
This commit is contained in:
Stephen Simpson
2025-12-05 09:19:52 -06:00
parent 1c6fa0e98c
commit 70414a552d
3 changed files with 29 additions and 4 deletions

View File

@@ -254,6 +254,13 @@ def main():
help="Use vault directory instead of pub (vault/rocky instead of pub/rocky)",
)
parser.add_argument(
"--existing-versions",
nargs="*",
metavar="VERSION",
help="List of existing versions to include in root index (e.g., 8.10 9.7)",
)
parser.add_argument(
"--template-dir",
type=Path,
@@ -333,13 +340,24 @@ def main():
allow_all_sections=args.allow_all_sections,
)
# Scan for existing versions in output directory
existing_versions = [
# Get existing versions from scan and argument
scanned_versions = [
d.name
for d in config.output_dir.iterdir()
if d.is_dir() and re.match(r"\d+\.\d+", d.name)
]
all_versions = sorted(set(existing_versions + config.versions))
arg_versions = args.existing_versions or []
# Sort versions numerically by (major, minor)
def version_key(v):
try:
major, minor = v.split(".")
return (int(major), int(minor))
except (ValueError, AttributeError):
return (0, 0)
existing_versions = sorted(set(scanned_versions + arg_versions), key=version_key)
all_versions = sorted(set(existing_versions + config.versions), key=version_key)
logger.info("Rocky Man - Rocky Linux Man Page Generator")
logger.info(f"Versions to process: {', '.join(config.versions)}")