From c4c74163c72f7b6b5e37ca589d0bcfbe61a92d8d Mon Sep 17 00:00:00 2001 From: Justin Newberry Date: Thu, 21 Mar 2024 17:36:28 +0000 Subject: [PATCH] use this instead --- common/utils.py | 13 ------------- system/updated/casync/common.py | 7 +++++-- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/common/utils.py b/common/utils.py index 057930197b..e37f2448c5 100644 --- a/common/utils.py +++ b/common/utils.py @@ -1,7 +1,5 @@ from collections.abc import Callable -import dataclasses from functools import lru_cache -import json from typing import TypeVar @@ -23,14 +21,3 @@ class Freezable: def cache(user_function: Callable[..., _RT], /) -> Callable[..., _RT]: return lru_cache(maxsize=None)(user_function) - - -class DataClassJSONEncoder(json.JSONEncoder): - def default(self, o): - if dataclasses.is_dataclass(o): - return dataclasses.asdict(o) - return super().default(o) - - -def json_dump_dataclass(foo): - return json.dumps(foo, cls=DataClassJSONEncoder) diff --git a/system/updated/casync/common.py b/system/updated/casync/common.py index a5db65d45a..4aac573026 100644 --- a/system/updated/casync/common.py +++ b/system/updated/casync/common.py @@ -1,7 +1,8 @@ +import dataclasses +import json import pathlib import subprocess -from openpilot.common.utils import json_dump_dataclass from openpilot.system.version import BUILD_METADATA_FILENAME, BuildMetadata @@ -39,7 +40,9 @@ def create_caexclude_file(path: pathlib.Path): def create_build_metadata_file(path: pathlib.Path, build_metadata: BuildMetadata): with open(path / BUILD_METADATA_FILENAME, "w") as f: - f.write(json_dump_dataclass(build_metadata)) + build_metadata_dict = dataclasses.asdict(build_metadata) + build_metadata_dict["openpilot"].pop("is_dirty") # this is determined at runtime + f.write(json.dumps(build_metadata_dict)) def create_casync_release(target_dir: pathlib.Path, output_dir: pathlib.Path, channel: str):