[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/progval/pythonvm-rust/wordcode/src/bin.rs [Back]  [Original]

extern crate pythonvm;

use std::env::args;
use std::fs::File;
use std::path::PathBuf;

fn parse_args() -> (String, Option) {
    let mut args = args();
    let executable = args.next().unwrap();
    let libdir = args.next();
    let filename = args.next();
    let extra = args.next();
    match (libdir, filename, extra) {
        (Some(libdir), Some(filename), None) => (executable, Some((libdir, filename))),
        _ => (executable, None),
    }
}


pub fn main() {
    let (libdir, filename) = match parse_args() {
        (_, Some((libdir, filename))) => (libdir, filename),
        (executable, None) => {
            println!("Syntax: {} pythonlib/ filename.pyc", executable);
            return
        }
    };
    let mut file = File::open(filename).unwrap();
    let mut path = PathBuf::new();
    path.push(&libdir);
    let env_proxy = pythonvm::RealEnvProxy::new(path);
    let (_processor, _result) = pythonvm::run_file(&mut file, env_proxy).unwrap();
}

Web Proxy Viewer  |  New URL  |  Original Page