INNER CODE UNIT · Python
catalog
RockxyApp/Rockxy · releases/validate_metadata.py:509
catalog = validate_catalog(args.catalog)
require_provenance = int(catalog.get("schema_version", 1)) >= 2
latest = validate_latest(args.latest, require_provenance=require_provenance)
appcast_releases = validate_appcast(args.appcast)
newest_catalog = catalog["releases"][0]
if release_identity(latest) != release_identity(newest_catalog):
fail("latest.json does not match the newest release in catalog.json")
if release_identity(appcast_releases[0]) != release_identity(newest_catalog):
fail("appcast.xml newest item does not match catalog.json")
for key in ("download_url", "dmg_length", "sparkle_ed_signature", "release_notes_url", "minimum_system_version"):
if str(latest[key]) != str(newest_catalog[key]):
fail(f"latest.json {key} does not match catalog.json")
if str(appcast_releases[0][key]) != str(newest_catalog[key]):
fail(f"appcast.xml newest item {key} does not match catalog.json")
if int(catalog.get("schema_version", 1)) >= 2: