From 164eba7e5d3b76844821f19164ca4330c9d44b0a Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 22 Jun 2022 21:57:38 -0500 Subject: [PATCH] Switch loader to use json helper (#73872) --- homeassistant/helpers/json.py | 1 + homeassistant/loader.py | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/homeassistant/helpers/json.py b/homeassistant/helpers/json.py index 43e97060f5d..fd1153711ad 100644 --- a/homeassistant/helpers/json.py +++ b/homeassistant/helpers/json.py @@ -7,6 +7,7 @@ from typing import Any, Final import orjson JSON_ENCODE_EXCEPTIONS = (TypeError, ValueError) +JSON_DECODE_EXCEPTIONS = (orjson.JSONDecodeError,) class JSONEncoder(json.JSONEncoder): diff --git a/homeassistant/loader.py b/homeassistant/loader.py index 589f316532b..ab681d7c42d 100644 --- a/homeassistant/loader.py +++ b/homeassistant/loader.py @@ -11,7 +11,6 @@ from collections.abc import Callable from contextlib import suppress import functools as ft import importlib -import json import logging import pathlib import sys @@ -30,6 +29,7 @@ from .generated.mqtt import MQTT from .generated.ssdp import SSDP from .generated.usb import USB from .generated.zeroconf import HOMEKIT, ZEROCONF +from .helpers.json import JSON_DECODE_EXCEPTIONS, json_loads from .util.async_ import gather_with_concurrency # Typing imports that create a circular dependency @@ -366,8 +366,8 @@ class Integration: continue try: - manifest = json.loads(manifest_path.read_text()) - except ValueError as err: + manifest = json_loads(manifest_path.read_text()) + except JSON_DECODE_EXCEPTIONS as err: _LOGGER.error( "Error parsing manifest.json file at %s: %s", manifest_path, err )