feat: add verify-file

This commit is contained in:
2024-04-21 16:08:49 +08:00
parent b3d8c791c4
commit 266cf01930
7 changed files with 280 additions and 118 deletions

View File

@@ -7,8 +7,14 @@ use rust_util::XResult;
use crate::digest::{sha256, sha256_bytes};
pub fn get_sha256_digest_or_hash(sub_arg_matches: &ArgMatches) -> XResult<Vec<u8>> {
if let Some(file) = sub_arg_matches.value_of("file") {
get_sha256_digest_or_hash_with_file_opt(sub_arg_matches, &None)
}
pub fn get_sha256_digest_or_hash_with_file_opt(sub_arg_matches: &ArgMatches, file_opt: &Option<String>) -> XResult<Vec<u8>> {
let file_opt = file_opt.as_ref().map(String::as_str);
if let Some(file) = sub_arg_matches.value_of("file").or(file_opt) {
let metadata = opt_result!(fs::metadata(file), "Read file: {} metadata filed: {}", file);
if !metadata.is_file() {
return simple_error!("Not a file: {}", file);