Mercurial > python-compiler.rs
comparison src/ast_convert.rs @ 48:039f85b187f2
Also handle relative imports.
author | Bastien Orivel <eijebong@bananium.fr> |
---|---|
date | Tue, 07 Jun 2016 13:34:12 +0200 |
parents | 38f59b0efc2c |
children | 141f1769e1f0 |
comparison
equal
deleted
inserted
replaced
47:38f59b0efc2c | 48:039f85b187f2 |
---|---|
543 let level = ast.getattr(py, "level").unwrap(); | 543 let level = ast.getattr(py, "level").unwrap(); |
544 | 544 |
545 let module = get_str(py, module); | 545 let module = get_str(py, module); |
546 let names = parse_list(py, names, parse_alias); | 546 let names = parse_list(py, names, parse_alias); |
547 | 547 |
548 stmt::ImportFrom(module, names, None) | 548 if level == py.None() { |
549 stmt::ImportFrom(module, names, None) | |
550 } else { | |
551 let level = level.extract(py).unwrap(); | |
552 stmt::ImportFrom(module, names, Some(level)) | |
553 } | |
549 } else if is_instance(&ast, &import_type) { | 554 } else if is_instance(&ast, &import_type) { |
550 let names = ast.getattr(py, "names").unwrap(); | 555 let names = ast.getattr(py, "names").unwrap(); |
551 let names = parse_list(py, names, parse_alias); | 556 let names = parse_list(py, names, parse_alias); |
552 | 557 |
553 stmt::Import(names) | 558 stmt::Import(names) |