diff --git a/src/lib.rs b/src/lib.rs index ea8cfde..e1fa05d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -9,16 +9,10 @@ use std::{ process::Command, }; -pub const DEFAULT_BUF_SIZE: usize = 8 * 1024; -pub const SIZE_KB: i64 = 1024; -pub const SIZE_MB: i64 = SIZE_KB * SIZE_KB; -pub const SIZE_GB: i64 = SIZE_MB * SIZE_KB; -pub const SIZE_PB: i64 = SIZE_GB * SIZE_KB; -pub const SIZE_TB: i64 = SIZE_PB * SIZE_KB; - pub mod util_io; pub mod util_os; pub mod util_msg; +pub mod util_size; pub type XResult = Result>; @@ -114,44 +108,6 @@ pub fn new_box_ioerror(m: &str) -> Box { Box::new(Error::new(ErrorKind::Other, m)) } -pub fn parse_size(size: &str) -> XResult { - let lower_size = size.to_lowercase(); - let no_last_b_size = if lower_size.ends_with("b") { - &lower_size[0..lower_size.len()-1] - } else { - &lower_size - }; - if no_last_b_size.ends_with("k") { - return Ok((SIZE_KB as f64 * no_last_b_size[0..no_last_b_size.len()-1].parse::()?) as i64); - } else if no_last_b_size.ends_with("m") { - return Ok((SIZE_MB as f64 * no_last_b_size[0..no_last_b_size.len()-1].parse::()?) as i64); - } else if no_last_b_size.ends_with("g") { - return Ok((SIZE_GB as f64 * no_last_b_size[0..no_last_b_size.len()-1].parse::()?) as i64); - } else if no_last_b_size.ends_with("t") { - return Ok((SIZE_TB as f64 * no_last_b_size[0..no_last_b_size.len()-1].parse::()?) as i64); - } else if no_last_b_size.ends_with("p") { - return Ok((SIZE_PB as f64 * no_last_b_size[0..no_last_b_size.len()-1].parse::()?) as i64); - } - - Ok(no_last_b_size.parse::()?) -} - -pub fn get_display_size(size: i64) -> String { - if size < SIZE_KB { - return size.to_string(); - } else if size < SIZE_MB { - return format!("{:.*}KB", 2, (size as f64) / 1024.); - } else if size < SIZE_GB { - return format!("{:.*}MB", 2, (size as f64) / 1024. / 1024.); - } else if size < SIZE_TB { - return format!("{:.*}GB", 2, (size as f64) / 1024. / 1024. / 1024.); - } else if size < SIZE_PB { - return format!("{:.*}TB", 2, (size as f64) / 1024. / 1024. / 1024. / 1024.); - } else { - return format!("{:.*}PB", 2, (size as f64) / 1024. / 1024. / 1024. / 1024. / 1024.); - } -} - pub fn run_command_and_wait(cmd: &mut Command) -> io::Result<()> { cmd.spawn()?.wait()?; Ok(()) diff --git a/src/util_io.rs b/src/util_io.rs index a53a3ee..812b528 100644 --- a/src/util_io.rs +++ b/src/util_io.rs @@ -4,7 +4,7 @@ use std::{ time::SystemTime, }; -use super::get_display_size; +use super::util_size::get_display_size; use super::util_msg::print_lastline; pub const DEFAULT_BUF_SIZE: usize = 8 * 1024;