From e95a871d2eadbecc9f4a05d663ad3b4e85ec3723 Mon Sep 17 00:00:00 2001 From: Aviv Palivoda Date: Sat, 29 Feb 2020 12:48:13 +0200 Subject: [PATCH] Freeze from python script --- freeze/freeze.py | 4 ++++ freeze/src/main.rs | 18 ++++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) create mode 100644 freeze/freeze.py diff --git a/freeze/freeze.py b/freeze/freeze.py new file mode 100644 index 000000000..c600ebf95 --- /dev/null +++ b/freeze/freeze.py @@ -0,0 +1,4 @@ +import time + +print("Hello world!!!", time.time()) + diff --git a/freeze/src/main.rs b/freeze/src/main.rs index 1699f2d3c..0bd9f8f5f 100644 --- a/freeze/src/main.rs +++ b/freeze/src/main.rs @@ -7,16 +7,18 @@ fn main() -> vm::pyobject::PyResult<()> { let scope = vm.new_scope_with_builtins(); - let modules: HashMap<&str, vm::bytecode::FrozenModule> = vm::py_compile_bytecode!( - source = "print(\"Hello world1!\")\n", - module_name = "__main__" + let modules: HashMap = + vm::py_compile_bytecode!(file = "freeze.py"); + + let res = vm.run_code_obj( + vm.ctx + .new_code_object(modules.get("frozen").unwrap().code.clone()), + scope, ); - vm.run_code_obj( - vm.ctx - .new_code_object(modules.get("__main__").unwrap().code.clone()), - scope, - )?; + if let Err(err) = res { + vm::exceptions::print_exception(&vm, &err) + } Ok(()) }