scripts/download.pl: add tsinghua and ustc mirrors
[openwrt/staging/stintel.git] / scripts / json_add_image_info.py
index 4608996f02495329cb010aea4945d758c1420c88..9aa2a19e45d585a5065981adf17d044770545599 100755 (executable)
@@ -11,8 +11,8 @@ if len(argv) != 2:
     exit(1)
 
 json_path = Path(argv[1])
-bin_dir = Path(getenv("BIN_DIR"))
-file_path = bin_dir / getenv("FILE_NAME")
+file_path = Path(getenv("FILE_DIR")) / getenv("FILE_NAME")
+
 
 if not file_path.is_file():
     print("Skip JSON creation for non existing file", file_path)
@@ -37,7 +37,14 @@ def get_titles():
 
 
 device_id = getenv("DEVICE_ID")
-file_hash = hashlib.sha256(file_path.read_bytes()).hexdigest()
+hash_file = hashlib.sha256(file_path.read_bytes()).hexdigest()
+
+if file_path.with_suffix(file_path.suffix + ".sha256sum").exists():
+    hash_unsigned = (
+        file_path.with_suffix(file_path.suffix + ".sha256sum").read_text().strip()
+    )
+else:
+    hash_unsigned = hash_file
 
 file_info = {
     "metadata_version": 1,
@@ -52,7 +59,8 @@ file_info = {
                 {
                     "type": getenv("FILE_TYPE"),
                     "name": getenv("FILE_NAME"),
-                    "sha256": file_hash,
+                    "sha256": hash_file,
+                    "sha256_unsigned": hash_unsigned,
                 }
             ],
             "device_packages": getenv("DEVICE_PACKAGES").split(),