From 7ab73ceca9224c03c1fefe7560388043d98d999d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Br=C3=A4utigam?= Date: Tue, 10 Mar 2026 11:09:57 +0100 Subject: [PATCH] JSONs menschenlesbar formatieren. --- src/release/tests/versioning.py | 8 ++++++++ src/release/versioning.py | 15 ++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/release/tests/versioning.py b/src/release/tests/versioning.py index fb6a17d..a2596cb 100644 --- a/src/release/tests/versioning.py +++ b/src/release/tests/versioning.py @@ -57,6 +57,14 @@ class TestPackageJson(TestCase): def test_can_write_version(self): _test_can_write_version(self, 'package.json') + def test_write_version_multiline(self): + v = use_any(_asset_path('package.json')) + v.version = Version(2, 33, 7, 42) + + with NamedTemporaryFile() as tf: + v.store(tf.name) + self.assertGreater(len(tf.read().decode('utf-8').splitlines()), 1) + class TestVersionTxt(TestCase): def test_can_read_version(self): diff --git a/src/release/versioning.py b/src/release/versioning.py index b69c116..01a4366 100644 --- a/src/release/versioning.py +++ b/src/release/versioning.py @@ -12,6 +12,19 @@ logger = getLogger(__name__) RE_SETUP_PY = re.compile(r'version\s?=\s?[\'"](.*)[\'"]') +def _add_dummy_indent_parameter_to_toml_dump(): + original_dump = toml.dump + + def dump(*args, **kwargs): + kwargs.pop('indent', None) + return original_dump(*args, **kwargs) + + toml.dump = dump + + +_add_dummy_indent_parameter_to_toml_dump() + + class SetupPy: def __init__(self, filename): logger.warning('setup.py is discouraged. Use pyproject.toml.') @@ -64,7 +77,7 @@ class Structured: cur[self.item_path[-1]] = str(self.version) with open(destination, 'w') as f: - self.format.dump(edited, f) + self.format.dump(edited, f, indent=2) class VersionTxt: