Coverage for rdak/output.py: 100%

9 statements  

« 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> 

3 

4""" 

5Generic output helpers for the rdak client. 

6""" 

7 

8import json 

9from typing import IO 

10 

11from google.protobuf import json_format 

12from google.protobuf.message import Message 

13 

14 

15def to_dict(message: Message) -> dict: 

16 return json_format.MessageToDict(message, preserving_proto_field_name=True) 

17 

18 

19def dump_json(obj: object, stream: IO[str]) -> None: 

20 json.dump(obj, stream, indent=2, sort_keys=True) 

21 stream.write("\n")