diff options
| author | Tulir Asokan <tulir@maunium.net> | 2020-09-13 03:56:28 +0300 |
|---|---|---|
| committer | Tulir Asokan <tulir@maunium.net> | 2020-09-13 03:56:28 +0300 |
| commit | 80bcf6d0acdf35f082a6765db989ef80100f20fb (patch) | |
| tree | 89a02e12c0a4094863a80e2ff00591cb3551cb94 /sticker/scalar_convert.py | |
| parent | de79aea53568cf00f07610ceb233cf4f69837e81 (diff) | |
Reorganize Python stuff and add command to create packs
Fixes #11
Diffstat (limited to 'sticker/scalar_convert.py')
| -rw-r--r-- | sticker/scalar_convert.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/sticker/scalar_convert.py b/sticker/scalar_convert.py new file mode 100644 index 0000000..50e8a5c --- /dev/null +++ b/sticker/scalar_convert.py @@ -0,0 +1,41 @@ +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 + pack_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": pack_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}") |
