diff options
Diffstat (limited to 'pkgs/by-name/an/anyk/update.py')
-rwxr-xr-x | pkgs/by-name/an/anyk/update.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/pkgs/by-name/an/anyk/update.py b/pkgs/by-name/an/anyk/update.py new file mode 100755 index 0000000000000..0d20a9017870c --- /dev/null +++ b/pkgs/by-name/an/anyk/update.py @@ -0,0 +1,29 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i python3 -p "python3.withPackages (p: [p.waybackpy])" +import subprocess +from pathlib import Path +import re +import json +import waybackpy + +# NAV doesn't provide stable versioned URLs so we put the download link in Wayback Machine to preserve it. + +print("Archiving...") +save_api = waybackpy.WaybackMachineSaveAPI("https://nav.gov.hu/pfile/programFile?path=/nyomtatvanyok/letoltesek/nyomtatvanykitolto_programok/nyomtatvany_apeh/keretprogramok/AbevJava") + +url = save_api.save() + +print("Prefetching...") +sha256, unpack_path = subprocess.check_output(["nix-prefetch-url", "--unpack", "--print-path", url], universal_newlines=True).split("\n")[:2] + +print("Extracting version...") +manifest = (Path(unpack_path) / "META-INF" / "MANIFEST.MF").read_text() + +version = re.search("Implementation-Version: (.+)", manifest).group(1) + +print("Writing version.json...") +(Path(__file__).parent / "version.json").write_text(json.dumps({ + "url": url, + "sha256": sha256, + "version": version, +}, indent=2) + "\n") |