use match,is_empty

This commit is contained in:
2020-04-04 22:22:20 +08:00
parent a8bb406fde
commit 6f5bc06217

View File

@@ -169,29 +169,27 @@ fn parse_oss_backupd_config_item(item: &json::JsonValue, root_oss_config_object:
let mut backup_count = get_u32_value(item, "backup_count"); let mut backup_count = get_u32_value(item, "backup_count");
let mut encrypt_pubkey_file = get_string_value(item, "encrypt_pubkey_file"); let mut encrypt_pubkey_file = get_string_value(item, "encrypt_pubkey_file");
let mut oss_config = parse_sub_oss_config(item); let mut oss_config = parse_sub_oss_config(item);
if root_oss_config_object.is_some() { if let Some(ref root_oc) = root_oss_config_object {
if oss_config.is_some() { match oss_config {
let mut oc = oss_config.unwrap(); Some(mut oc) => {
let root_oc = root_oss_config_object.as_ref().unwrap(); if oc.endpoint.is_none() && root_oc.endpoint.is_some() {
oc.endpoint = root_oc.endpoint.clone()
if oc.endpoint.is_none() && root_oc.endpoint.is_some() { }
oc.endpoint = root_oc.endpoint.clone() if oc.access_key_id.is_none() && root_oc.access_key_id.is_some() {
} oc.access_key_id = root_oc.access_key_id.clone()
if oc.access_key_id.is_none() && root_oc.access_key_id.is_some() { }
oc.access_key_id = root_oc.access_key_id.clone() if oc.access_key_secret.is_none() && root_oc.access_key_secret.is_some() {
} oc.access_key_secret = root_oc.access_key_secret.clone();
if oc.access_key_secret.is_none() && root_oc.access_key_secret.is_some() { }
oc.access_key_secret = root_oc.access_key_secret.clone(); if oc.bucket.is_none() && root_oc.bucket.is_some() {
} oc.bucket = root_oc.bucket.clone();
if oc.bucket.is_none() && root_oc.bucket.is_some() { }
oc.bucket = root_oc.bucket.clone(); if oc.path.is_none() && root_oc.path.is_some() {
} oc.path = root_oc.path.clone();
if oc.path.is_none() && root_oc.path.is_some() { }
oc.path = root_oc.path.clone(); oss_config = Some(oc);
} },
oss_config = Some(oc); None => oss_config = root_oss_config_object.clone(),
} else {
oss_config = root_oss_config_object.clone();
} }
} }
@@ -253,22 +251,21 @@ pub fn get_config_json(custom_oss_backupd_config: Option<&str>, verbose: bool) -
} }
fn get_config_content(custom_oss_backupd_config: Option<&str>, verbose: bool) -> Option<String> { fn get_config_content(custom_oss_backupd_config: Option<&str>, verbose: bool) -> Option<String> {
if custom_oss_backupd_config.is_some() { if let Some(custom_oss_backupd_config_val) = custom_oss_backupd_config {
let custom_oss_backupd_config_unrwaped = custom_oss_backupd_config.unwrap();
if verbose { if verbose {
print_message(MessageType::DEBUG, &format!("Read config from: {}", custom_oss_backupd_config_unrwaped)); print_message(MessageType::DEBUG, &format!("Read config from: {}", custom_oss_backupd_config_val));
} }
let custom_oss_backupd_config_path = Path::new(custom_oss_backupd_config_unrwaped); let custom_oss_backupd_config_path = Path::new(custom_oss_backupd_config_val);
if custom_oss_backupd_config_path.exists() { if custom_oss_backupd_config_path.exists() {
return match fs::read_to_string(custom_oss_backupd_config_path) { return match fs::read_to_string(custom_oss_backupd_config_path) {
Err(e) => { Err(e) => {
print_message(MessageType::ERROR, &format!("Read config file {} error: {}", custom_oss_backupd_config_unrwaped, e)); print_message(MessageType::ERROR, &format!("Read config file {} error: {}", custom_oss_backupd_config_val, e));
None None
}, },
Ok(o) => Some(o), Ok(o) => Some(o),
}; };
} else { } else {
print_message(MessageType::ERROR, &format!("Custom config file not found: {}", custom_oss_backupd_config_unrwaped)); print_message(MessageType::ERROR, &format!("Custom config file not found: {}", custom_oss_backupd_config_val));
return None; return None;
} }
} }
@@ -293,7 +290,7 @@ fn get_config_content(custom_oss_backupd_config: Option<&str>, verbose: bool) ->
}, },
Ok(o) => o, Ok(o) => o,
}; };
if home_dot_oss_backupd_config != "" { if !home_dot_oss_backupd_config.is_empty() {
let home_dot_oss_backupd_config_path = Path::new(home_dot_oss_backupd_config); let home_dot_oss_backupd_config_path = Path::new(home_dot_oss_backupd_config);
if home_dot_oss_backupd_config_path.exists() { if home_dot_oss_backupd_config_path.exists() {
if verbose { if verbose {
@@ -331,7 +328,7 @@ fn get_user_home() -> XResult<String> {
None => Err(new_box_ioerror("Home dir not found!")), None => Err(new_box_ioerror("Home dir not found!")),
Some(home_dir_o) => match home_dir_o.to_str() { Some(home_dir_o) => match home_dir_o.to_str() {
None => Err(new_box_ioerror("Home dir not found!")), None => Err(new_box_ioerror("Home dir not found!")),
Some(home_dir_str) => Ok(home_dir_str.to_string()), Some(home_dir_str) => Ok(home_dir_str.to_owned()),
}, },
} }
} }