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>
This commit is contained in:
committed by
Damien George
parent
8616129f2e
commit
ffc854f17f
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user