diff options
author | Peter Züger <zueger.peter@icloud.com> | 2021-02-03 09:24:25 +0100 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2021-08-07 13:52:16 +1000 |
commit | ffc854f17f1c4a3a9904fa8909f0b6ab5385206f (patch) | |
tree | 889276a0ee111c6f771248e32ab1a6b07b3f2890 /py/objtuple.c | |
parent | 8616129f2e382310802950db066178648a9429a3 (diff) |
extmod/modujson: Add support for dump/dumps separators keyword-argument.
Optionally enabled via MICROPY_PY_UJSON_SEPARATORS. Enabled by default.
For dump, make sure mp_get_stream_raise is called after
mod_ujson_separators since CPython does it in this order (if both
separators and stream are invalid, separators will raise an exception
first).
Add separators argument in the docs as well.
Signed-off-by: Peter Züger <zueger.peter@icloud.com>
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'py/objtuple.c')
-rw-r--r-- | py/objtuple.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/py/objtuple.c b/py/objtuple.c index 07a560ac0..67d7bc356 100644 --- a/py/objtuple.c +++ b/py/objtuple.c @@ -39,15 +39,19 @@ void mp_obj_tuple_print(const mp_print_t *print, mp_obj_t o_in, mp_print_kind_t kind) { mp_obj_tuple_t *o = MP_OBJ_TO_PTR(o_in); + const char *item_separator = ", "; if (MICROPY_PY_UJSON && kind == PRINT_JSON) { mp_print_str(print, "["); + #if MICROPY_PY_UJSON_SEPARATORS + item_separator = MP_PRINT_GET_EXT(print)->item_separator; + #endif } else { mp_print_str(print, "("); kind = PRINT_REPR; } for (size_t i = 0; i < o->len; i++) { if (i > 0) { - mp_print_str(print, ", "); + mp_print_str(print, item_separator); } mp_obj_print_helper(print, o->items[i], kind); } |