split 0.1.0

Resource Split for BIN/IVF/WEBM/PSNR/YUV/...
Documentation
extern crate split;

use std::env;
use std::process;
use split::yuv::Yuv;
use split::ivf::Ivf;
use split::webm::Webm;
use split::psnr::Psnr;
use split::bin::Bin;

fn main() {
    let args: Vec<String> = env::args().collect();
    if args.len() < 2 {
        println!("too less arguments: {}", args.len());
        println!("Usage: split bin|ivf|psnr|webm|yuv ...");
    } else {
        if args[1] == "yuv" {
            let yuv = Yuv::new(&args).unwrap_or_else(|err| {
                println!("Problem parsing arguments: {}", err);
                Yuv::helper();
                process::exit(1);
            });

            if let Err(err) = yuv.run() {
                println!("{}", err);
            }
        } else if args[1] == "psnr" {
            let psnr = Psnr::new(&args).unwrap_or_else(|err| {
                println!("Problem parsing arguments: {}", err);
                Psnr::helper();
                process::exit(1);
            });

            if let Err(err) = psnr.run() {
                println!("{}", err);
            }
        } else if args[1] == "ivf" {
            let ivf = Ivf::new(&args).unwrap_or_else(|err| {
                println!("Problem parsing arguments: {}", err);
                Ivf::helper();
                process::exit(1);
            });

            if let Err(err) = ivf.run() {
                println!("{}", err);
            }
        } else if args[1] == "bin" {
            let bin = Bin::new(&args).unwrap_or_else(|err| {
                println!("Problem parsing arguments: {}", err);
                Bin::helper();
                process::exit(1);
            });

            if let Err(err) = bin.run() {
                println!("{}", err);
            }
        } else if args[1] == "webm" {
            let webm = Webm::new(&args).unwrap_or_else(|err| {
                println!("Problem parsing arguments: {}", err);
                Webm::helper();
                process::exit(1);
            });

            if let Err(err) = webm.run() {
                println!("{}", err);
            }
        } else {
            println!("unsupported split {} mode", args[1]);
            println!("Usage: split bin|ivf|psnr|webm|yuv ...");
        }
    }
}