ether-converter 0.1.3

Ether unit converter
Documentation
extern crate bigdecimal;
extern crate regex;
extern crate ether_converter;

use std::env;
use std::process;
use std::collections::HashMap;
use ether_converter::convert;

fn main() {
    let args: Vec<_> = env::args().collect();
    if args.len() <= 2 {
        println!("two arguments are required");
        process::exit(1);
    }

    let val = &args[1];
    let mut unit = args[2].to_lowercase();

    if unit == "eth" {
        unit = "ether".to_string();
    }

    let mut ordermap: HashMap<usize, &str> = HashMap::new();
    ordermap.insert(0, "wei");
    ordermap.insert(1, "kwei");
    ordermap.insert(2, "mwei");
    ordermap.insert(3, "gwei");
    ordermap.insert(4, "szabo");
    ordermap.insert(5, "finney");
    ordermap.insert(6, "ether");
    ordermap.insert(7, "kether");
    ordermap.insert(8, "mether");
    ordermap.insert(9, "gether");
    ordermap.insert(10, "tether");

    let map = convert(&val, &unit);
    for i in 0..ordermap.len() {
        let unit = ordermap.get(&i).unwrap();
        let value = map.get(unit).unwrap();
        println!("{}\t{}", unit, value.to_string());
    }
}