From b9812976abfca6a5d895dfa007d2c5ecf9509698 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 4 Mar 2026 15:24:52 +0100 Subject: [PATCH] Replace JSON_minify dependency with inline regex comment stripping JSON_minify seems to be unmaintained and we can do the same with some simple regex. --- pyproject.toml | 1 - src/carconnectivity/carconnectivity_base.py | 11 +++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index d88f87c..dbdae3e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,6 @@ authors = [ dependencies = [ "argparse", "cryptography", - "JSON_minify~=0.3.0", "pytimeparse~=1.1.8", "ntplib~=0.4.0", "haversine~=2.9.0", diff --git a/src/carconnectivity/carconnectivity_base.py b/src/carconnectivity/carconnectivity_base.py index cd73c62..cb068b8 100644 --- a/src/carconnectivity/carconnectivity_base.py +++ b/src/carconnectivity/carconnectivity_base.py @@ -9,9 +9,9 @@ import logging import tempfile import json +import re import threading -from json_minify import json_minify from carconnectivity import carconnectivity, errors, util from carconnectivity._version import __version__ as __carconnectivity_version__ @@ -25,6 +25,13 @@ LOG: logging.Logger = logging.getLogger("carconnectivity") +def strip_json_comments(text: str) -> str: + """Remove C-style comments (// and /* */) from a JSON string.""" + text = re.sub(r'/\*.*?\*/', '', text, flags=re.DOTALL) + text = re.sub(r'//.*?$', '', text, flags=re.MULTILINE) + return text + + class CLI(): # pylint: disable=too-few-public-methods """ Class containing the commandline interface for the carconnectivity package. @@ -91,7 +98,7 @@ def main(self) -> None: # noqa: C901 try: with open(file=args.config, mode='r', encoding='utf-8') as config_file: try: - config_dict = json.loads(json_minify(config_file.read(), strip_space=False)) + config_dict = json.loads(strip_json_comments(config_file.read())) car_connectivity = carconnectivity.CarConnectivity(config=config_dict, tokenstore_file=args.tokenfile, cache_file=args.cachefile) car_connectivity.startup()