github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/sawtooth-core-master/validator/src/main.rs (about) 1 extern crate clap; 2 extern crate cpython; 3 #[macro_use] 4 extern crate log; 5 6 mod pylogger; 7 mod server; 8 9 use cpython::Python; 10 use server::cli; 11 12 use std::process; 13 14 fn main() { 15 let gil = Python::acquire_gil(); 16 let py = gil.python(); 17 18 let args = cli::parse_args(); 19 20 let verbosity: u64 = args.occurrences_of("verbose"); 21 22 pylogger::set_up_logger(verbosity, py); 23 24 let pydict = cli::wrap_in_pydict(py, &args) 25 .map_err(|err| err.print(py)) 26 .unwrap(); 27 28 let cli = match py.import("sawtooth_validator.server.cli") { 29 Ok(module) => module, 30 Err(err) => { 31 pylogger::exception(py, "failed to load sawtooth_validator.server.cli", err); 32 process::exit(1); 33 } 34 }; 35 36 if let Err(err) = cli.call(py, "main", (pydict,), None) { 37 pylogger::exception(py, "error executing main", err); 38 process::exit(1); 39 } 40 }