From 4bbd97cdbf5281713c613642c5275d0a9081d43f Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Tue, 8 Sep 2020 14:55:30 +0300 Subject: [PATCH] Add script to convert Scalar sticker picker assets.json --- scalar-convert.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 scalar-convert.py diff --git a/scalar-convert.py b/scalar-convert.py new file mode 100644 index 0000000..da424b2 --- /dev/null +++ b/scalar-convert.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +import sys +import json + +index_path = "web/packs/index.json" + +try: + with open(index_path) as index_file: + index_data = json.load(index_file) +except (FileNotFoundError, json.JSONDecodeError): + index_data = {"packs": []} + +with open(sys.argv[-1]) as file: + data = json.load(file) + +for pack in data["assets"]: + title = pack["name"].title() + if "images" not in pack["data"]: + print(f"Skipping {title}") + continue + id = f"scalar-{pack['asset_id']}" + stickers = [] + for sticker in pack["data"]["images"]: + sticker_data = sticker["content"] + sticker_data["id"] = sticker_data["url"].split("/")[-1] + stickers.append(sticker_data) + pack_data = { + "title": title, + "id": id, + "stickers": stickers, + } + filename = f"scalar-{pack['name'].replace(' ', '_')}.json" + pack_path = f"web/packs/{filename}" + with open(pack_path, "w") as pack_file: + json.dump(pack_data, pack_file) + print(f"Wrote {title} to {pack_path}") + if filename not in index_data["packs"]: + index_data["packs"].append(filename) + +with open(index_path, "w") as index_file: + json.dump(index_data, index_file, indent=" ") +print(f"Updated {index_path}")