From 0f7b678f5776a940b590e55381eba5ccb511d9d7 Mon Sep 17 00:00:00 2001 From: Andreas Weinzierl <20560137+aWeinzierl@users.noreply.github.com> Date: Wed, 27 Jan 2021 23:31:33 +0100 Subject: Use utf8-encoding whenever JSON is processed --- sticker/lib/util.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'sticker/lib') diff --git a/sticker/lib/util.py b/sticker/lib/util.py index 240e8ea..2d58c82 100644 --- a/sticker/lib/util.py +++ b/sticker/lib/util.py @@ -13,6 +13,7 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +from functools import partial from io import BytesIO import os.path import json @@ -21,6 +22,7 @@ from PIL import Image from . import matrix +open_utf8 = partial(open, encoding='UTF-8') def convert_image(data: bytes) -> (bytes, int, int): image: Image.Image = Image.open(BytesIO(data)).convert("RGBA") @@ -41,7 +43,7 @@ def convert_image(data: bytes) -> (bytes, int, int): def add_to_index(name: str, output_dir: str) -> None: index_path = os.path.join(output_dir, "index.json") try: - with open(index_path) as index_file: + with open_utf8(index_path) as index_file: index_data = json.load(index_file) except (FileNotFoundError, json.JSONDecodeError): index_data = {"packs": []} @@ -49,7 +51,7 @@ def add_to_index(name: str, output_dir: str) -> None: index_data["homeserver_url"] = matrix.homeserver_url if name not in index_data["packs"]: index_data["packs"].append(name) - with open(index_path, "w") as index_file: + with open_utf8(index_path, "w") as index_file: json.dump(index_data, index_file, indent=" ") print(f"Added {name} to {index_path}") -- cgit v1.2.3