Coverage for rdak/output.py: 100%
9 statements
« prev ^ index » next coverage.py v7.6.0, created at 2026-08-03 16:46 +0000
« prev ^ index » next coverage.py v7.6.0, created at 2026-08-03 16:46 +0000
1# SPDX-License-Identifier: GPL-2.0-or-later
2# © 2026, Ansgar 🙀 <ansgar@debian.org>
4"""
5Generic output helpers for the rdak client.
6"""
8import json
9from typing import IO
11from google.protobuf import json_format
12from google.protobuf.message import Message
15def to_dict(message: Message) -> dict:
16 return json_format.MessageToDict(message, preserving_proto_field_name=True)
19def dump_json(obj: object, stream: IO[str]) -> None:
20 json.dump(obj, stream, indent=2, sort_keys=True)
21 stream.write("\n")