diff --git a/scripts/prepare_remote_fallbacks.py b/scripts/prepare_remote_fallbacks.py index f71a151..33694e2 100644 --- a/scripts/prepare_remote_fallbacks.py +++ b/scripts/prepare_remote_fallbacks.py @@ -22,6 +22,7 @@ FALLBACKS = [ "revision": "v1.3", "url": "https://github.com/Dusk-92/WowPresence/releases/download/v1.3/WowPresence.zip", "kind": "wowpresence_zip", + "size": 141423, "sha256": "9b2dca9c69b5ab3b6dae3ef3b3efc9671779a227802ebb6ac98cb22bc6ea448a", }, { @@ -30,6 +31,8 @@ FALLBACKS = [ "revision": "c252bbdc2aef1ac928eb237cf4d28edc21806ed8", "url": "https://raw.githubusercontent.com/seacrabsam/patch-herb/c252bbdc2aef1ac928eb237cf4d28edc21806ed8/patch-H.mpq", "kind": "mpq", + "size": 575628, + "sha256": "45b6b6795465a93104de213e0a36e1290b005a852cd6d03a8d21103efaefa0a7", }, { "id": "visual_darker_nights", @@ -37,6 +40,8 @@ FALLBACKS = [ "revision": "1", "url": "https://pub-0f05631d243e4046993fc02ca7be9542.r2.dev/patches/patch-N.mpq", "kind": "mpq", + "size": 201362, + "sha256": "31dcd9f779ef1f4e9c4e71b5da58948781989f72c0454fa59fdd173947d24084", }, { "id": "visual_pretty_night_sky", @@ -44,6 +49,8 @@ FALLBACKS = [ "revision": "1", "url": "https://drive.usercontent.google.com/download?id=1qu99ZS-SQFfTtYodBmZWYiHmxL8QtUY4&export=download&confirm=t", "kind": "mpq", + "size": 1390151, + "sha256": "b72e5837139772dff5e436c6a6375910fcb5c34ae5742512968463425c4520dd", }, { "id": "visual_epoch_water", @@ -51,6 +58,8 @@ FALLBACKS = [ "revision": "1", "url": "https://drive.usercontent.google.com/download?id=1xRx9OrznbgbE1uBae3H3OGke9UoXtzmU&export=download&confirm=t", "kind": "mpq", + "size": 20411526, + "sha256": "30a969c185cc082a0eb158a7901de889af815426c1e5baec373649688b3151aa", }, { "id": "visual_fog_pushback", @@ -58,6 +67,8 @@ FALLBACKS = [ "revision": "1", "url": "https://drive.usercontent.google.com/download?id=14aHvyfr_ACL-UURbNa_fXRPcfQZoIw8n&export=download&confirm=t", "kind": "mpq", + "size": 51281, + "sha256": "c59b87f7e9425ee890e2b869ea0d26cde84a68e3ee1004e18bb6a29b294c3e0d", }, ] @@ -163,6 +174,12 @@ def main(): ) size = os.path.getsize(destination) + expected_size = item.get("size") + if expected_size is not None and size != expected_size: + raise RuntimeError( + f"Size mismatch for {item['id']}: expected {expected_size}, got {size}" + ) + manifest["fallbacks"][item["id"]] = { "filename": item["filename"], "kind": item["kind"],