| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| """Generate JSON/compact JSON/Hjson from register JSON tree |
| """ |
| |
| import hjson |
| |
| |
| def gen_json(obj, outfile, format): |
| if format == 'json': |
| hjson.dumpJSON(obj, |
| outfile, |
| ensure_ascii=False, |
| use_decimal=True, |
| indent=' ', |
| for_json=True) |
| elif format == 'compact': |
| hjson.dumpJSON(obj, |
| outfile, |
| ensure_ascii=False, |
| for_json=True, |
| use_decimal=True, |
| separators=(',', ':')) |
| elif format == 'hjson': |
| hjson.dump(obj, |
| outfile, |
| ensure_ascii=False, |
| for_json=True, |
| use_decimal=True) |
| else: |
| raise ValueError('Invalid JSON format ' + format) |
| |
| return 0 |