summaryrefslogtreecommitdiff
path: root/py/runtime.c
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-02-14 00:22:06 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-02-14 00:30:36 +0200
commitda1ce93da8aaa2ae050610ec51fdb3e72988a589 (patch)
tree942683bc38d2c8cb9b945a0a7291079cfccac71c /py/runtime.c
parenta8d404e0e1cfc3ad1fb171b5515f2685af4ffeca (diff)
Implement "from module import *" construct.
Diffstat (limited to 'py/runtime.c')
-rw-r--r--py/runtime.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/py/runtime.c b/py/runtime.c
index f12b3e612..d15a38e08 100644
--- a/py/runtime.c
+++ b/py/runtime.c
@@ -1016,6 +1016,17 @@ mp_obj_t rt_import_from(mp_obj_t module, qstr name) {
return x;
}
+void rt_import_all(mp_obj_t module) {
+ DEBUG_printf("import all %p\n", module);
+
+ mp_map_t *map = mp_obj_module_get_globals(module);
+ for (uint i = 0; i < map->alloc; i++) {
+ if (map->table[i].key != MP_OBJ_NULL) {
+ rt_store_name(MP_OBJ_QSTR_VALUE(map->table[i].key), map->table[i].value);
+ }
+ }
+}
+
mp_map_t *rt_locals_get(void) {
return map_locals;
}