From b91b781a65b68559755d1fdcdc2aa2b72f83b2ef 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. --- pyproject.toml | 2 +- src/release/tests/versioning.py | 8 ++++++++ src/release/versioning.py | 15 ++++++++++++++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index d3df7ab..fa2ec91 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "gitea-release-action" -version = "0.0.1" +version = "1.0.0" description = "reusable action for release workflows" authors = [ ] requires-python = ">=3.13" 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: