1use crate::args::Size;
2use crate::utils::cli_result::CliResult;
3use std::fs::File;
4
5impl Size {
6 pub fn csv_run(&self) -> CliResult {
7 let file = File::open(self.path())?;
8 let filesize_bytes = file.metadata()?.len() as f64;
9
10 let filesize_kb = filesize_bytes / 1024.0;
11 let filesize_mb = filesize_bytes / (1024.0 * 1024.0);
12 let filesize_gb = filesize_bytes / (1024.0 * 1024.0 * 1024.0);
13
14 if filesize_gb >= 1.0 {
15 println!("File Size: {:.2} GB", filesize_gb);
16 } else if filesize_mb >= 1.0 {
17 println!("File Size: {:.2} MB", filesize_mb);
18 } else {
19 println!("File Size: {:.2} KB", filesize_kb);
20 }
21
22 Ok(())
23 }
24}