rsv_lib/excel/
size.rs

1use crate::args::Size;
2use crate::utils::cli_result::CliResult;
3use std::fs::File;
4
5impl Size {
6    pub fn excel_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}