py: Add %q format support to mp_[v]printf, and use it.

This commit is contained in:
Damien George
2015-04-11 13:03:37 +01:00
parent e72cda99fd
commit 044c473de2
16 changed files with 61 additions and 51 deletions

View File

@@ -36,19 +36,18 @@
STATIC void module_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind) {
(void)kind;
mp_obj_module_t *self = self_in;
const char *name = qstr_str(self->name);
#if MICROPY_PY___FILE__
// If we store __file__ to imported modules then try to lookup this
// symbol to give more information about the module.
mp_map_elem_t *elem = mp_map_lookup(&self->globals->map, MP_OBJ_NEW_QSTR(MP_QSTR___file__), MP_MAP_LOOKUP);
if (elem != NULL) {
mp_printf(print, "<module '%s' from '%s'>", name, mp_obj_str_get_str(elem->value));
mp_printf(print, "<module '%q' from '%s'>", self->name, mp_obj_str_get_str(elem->value));
return;
}
#endif
mp_printf(print, "<module '%s'>", name);
mp_printf(print, "<module '%q'>", self->name);
}
STATIC void module_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) {