about summary refs log tree commit diff
path: root/pkgs/by-name/an/anyk/update.py
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/an/anyk/update.py')
-rwxr-xr-xpkgs/by-name/an/anyk/update.py29
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")