src/bin/proxmox-backup-client.rs: implement chunk-size completion
This commit is contained in:
		@ -78,7 +78,7 @@ fn record_repository(repo: &BackupRepository) {
 | 
			
		||||
    let _ = tools::file_set_contents(path, new_data.to_string().as_bytes(), None);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fn complete_repository(arg: &str, param: &HashMap<String, String>) -> Vec<String> {
 | 
			
		||||
fn complete_repository(_arg: &str, _param: &HashMap<String, String>) -> Vec<String> {
 | 
			
		||||
 | 
			
		||||
    let mut result = vec![];
 | 
			
		||||
 | 
			
		||||
@ -96,7 +96,7 @@ fn complete_repository(arg: &str, param: &HashMap<String, String>) -> Vec<String
 | 
			
		||||
    let data = tools::file_get_json(&path).unwrap_or(json!({}));
 | 
			
		||||
 | 
			
		||||
    if let Some(map) = data.as_object() {
 | 
			
		||||
        for (repo, count) in map {
 | 
			
		||||
        for (repo, _count) in map {
 | 
			
		||||
            result.push(repo.to_owned());
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@ -581,7 +581,7 @@ fn prune(
 | 
			
		||||
    Ok(result)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fn complete_backup_group(arg: &str, param: &HashMap<String, String>) -> Vec<String> {
 | 
			
		||||
fn complete_backup_group(_arg: &str, param: &HashMap<String, String>) -> Vec<String> {
 | 
			
		||||
 | 
			
		||||
    let mut result = vec![];
 | 
			
		||||
 | 
			
		||||
@ -617,6 +617,20 @@ fn complete_backup_group(arg: &str, param: &HashMap<String, String>) -> Vec<Stri
 | 
			
		||||
    result
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fn complete_chunk_size(_arg: &str, _param: &HashMap<String, String>) -> Vec<String> {
 | 
			
		||||
 | 
			
		||||
    let mut result = vec![];
 | 
			
		||||
 | 
			
		||||
    let mut size = 64;
 | 
			
		||||
    loop {
 | 
			
		||||
        result.push(size.to_string());
 | 
			
		||||
        size = size * 2;
 | 
			
		||||
        if size > 4096 { break; }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    result
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fn main() {
 | 
			
		||||
 | 
			
		||||
    let repo_url_schema: Arc<Schema> = Arc::new(
 | 
			
		||||
@ -660,7 +674,8 @@ fn main() {
 | 
			
		||||
        ))
 | 
			
		||||
        .arg_param(vec!["repository", "backupspec"])
 | 
			
		||||
        .completion_cb("repository", complete_repository)
 | 
			
		||||
        .completion_cb("backupspec", complete_backup_source);
 | 
			
		||||
        .completion_cb("backupspec", complete_backup_source)
 | 
			
		||||
        .completion_cb("chunk-size", complete_chunk_size);
 | 
			
		||||
 | 
			
		||||
    let list_cmd_def = CliCommand::new(
 | 
			
		||||
        ApiMethod::new(
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user