From de7f9d79414743552af0166b13e8c257156df3ba Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Sat, 30 Oct 2021 23:00:27 +0200 Subject: [PATCH] Add ressurce file --- create_repository.py | 32 ++++++++++++++++++++++++++++++++ repository.json | 10 ++++++++-- resources.zip | Bin 0 -> 9703 bytes 3 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 resources.zip diff --git a/create_repository.py b/create_repository.py index 98173ef..c2eaa24 100644 --- a/create_repository.py +++ b/create_repository.py @@ -10,6 +10,7 @@ from zipfile import ZipFile ROOT_PATH = Path(__file__).resolve().parent PACKAGES_JSON_PATH = ROOT_PATH / "packages.json" +RESOURCES_PATH = ROOT_PATH / "resources.zip" REPOSITORY_JSON_PATH = ROOT_PATH / "repository.json" METADATA_FILEAME = "metadata.json" ICON_FILENAME = "icon.png" @@ -90,6 +91,25 @@ def write_packages_json(package_array): json.dump(packages_data, f, indent=4) +def write_resources_zip(): + with ZipFile(RESOURCES_PATH, 'w', compression=zipfile.ZIP_DEFLATED) as zip: + for path in ROOT_PATH.iterdir(): + if not path.is_dir(): + continue + + metadata_path = path / METADATA_FILEAME + icon_path = path / ICON_FILENAME + if not metadata_path.exists() or not icon_path.exists(): + continue + + with metadata_path.open("r") as f: + metadata_json = json.load(f) + + identifier = metadata_json["identifier"] + + zip.write(icon_path, f"{identifier}/{ICON_FILENAME}") + + def write_repository_json(): packages_json_sha256 = sha256_of_file(PACKAGES_JSON_PATH) packages_json_update_timestamp = int(PACKAGES_JSON_PATH.stat().st_mtime) @@ -112,6 +132,17 @@ def write_repository_json(): } } + if RESOURCES_PATH.exists(): + resources_sha256 = sha256_of_file(RESOURCES_PATH) + resources_update_timestamp = int(RESOURCES_PATH.stat().st_mtime) + resources_update_time_utc = datetime.datetime.fromtimestamp(resources_update_timestamp, tz=datetime.timezone.utc) + repository_data["resources"] = { + "sha256": resources_sha256, + "update_time_utc": resources_update_time_utc.strftime("%Y-%m-%d %H:%M:%S"), + "update_timestamp": resources_update_timestamp, + "url": "https://gitlab.com/kicad/addons/repository/-/jobs/artifacts/main/raw/artifacts/resources.zip?job=update" + } + with REPOSITORY_JSON_PATH.open("w", encoding="utf-8") as f: json.dump(repository_data, f, indent=4) @@ -128,4 +159,5 @@ if __name__ == "__main__": # write packages.json and repository.json write_packages_json(schemas) + write_resources_zip() write_repository_json() diff --git a/repository.json b/repository.json index a6191db..c72d598 100644 --- a/repository.json +++ b/repository.json @@ -9,8 +9,14 @@ "name": "kicad-color-schemes repository by @pointhi", "packages": { "sha256": "f38236ad8fbd0b55af465a95952c8bfb0a5ff722112c6273fa71290cd8eda04a", - "update_time_utc": "2021-10-30 20:45:45", - "update_timestamp": 1635626745, + "update_time_utc": "2021-10-30 20:58:25", + "update_timestamp": 1635627505, "url": "https://raw.githubusercontent.com/pointhi/kicad-color-schemes/master/packages.json" + }, + "resources": { + "sha256": "b630ce2a716466e3d700081ae8edfb2f0ba1d5d16a95b634c3cabe4a62b591b1", + "update_time_utc": "2021-10-30 20:58:25", + "update_timestamp": 1635627505, + "url": "https://gitlab.com/kicad/addons/repository/-/jobs/artifacts/main/raw/artifacts/resources.zip?job=update" } } \ No newline at end of file diff --git a/resources.zip b/resources.zip new file mode 100644 index 0000000000000000000000000000000000000000..f247a284c1b8dcc39d710ecb06fa3d6a1bbf7f59 GIT binary patch literal 9703 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 PU?9gPB)_KpclW;l@mAs1 literal 0 HcmV?d00001