Skip to content

Commit fda9f26

Browse files
committed
add file remove command to cli
1 parent 34d9aac commit fda9f26

6 files changed

Lines changed: 27 additions & 8 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coman/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "coman"
3-
version = "0.5.6"
3+
version = "0.5.7"
44
edition = "2024"
55
description = "Compute Manager for managing HPC compute"
66
authors = ["Ralf Grubenmann <ralf.grubenmann@sdsc.ethz.ch>"]

coman/src/cli.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,11 @@ pub enum CscsFileCommands {
281281
#[arg(help ="remote path to list", value_hint=ValueHint::Other)]
282282
path: PathBuf,
283283
},
284+
#[clap(alias("rm"), about = "Remove remote files or folders [aliases: rm]")]
285+
Remove {
286+
#[arg(help ="remote path to remove", value_hint=ValueHint::Other)]
287+
path: PathBuf,
288+
},
284289
#[clap(alias("dl"), about = "Download a remote file [aliases: dl]")]
285290
Download {
286291
#[clap(help = "The path in the cluster to download", value_hint=ValueHint::Other)]

coman/src/config.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ impl Layer {
159159

160160
pub fn write(&self) -> Result<()> {
161161
let contents = self.data.to_string();
162-
std::fs::create_dir_all(&self.source.parent().unwrap())?;
162+
std::fs::create_dir_all(self.source.parent().unwrap())?;
163163
std::fs::write(&self.source, contents).wrap_err(format!("couldn't write config {}", self.source.display()))
164164
}
165165
}

coman/src/cscs/cli.rs

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ use crate::{
2020
cscs::{
2121
api_client::{client::JobStartOptions, types::JobStatus},
2222
handlers::{
23-
cscs_file_download, cscs_file_list, cscs_file_upload, cscs_job_cancel, cscs_job_details, cscs_job_list,
24-
cscs_job_log, cscs_job_start, cscs_login, cscs_system_list, cscs_system_set,
23+
cscs_file_delete, cscs_file_download, cscs_file_list, cscs_file_upload, cscs_job_cancel, cscs_job_details,
24+
cscs_job_list, cscs_job_log, cscs_job_start, cscs_login, cscs_system_list, cscs_system_set,
2525
},
2626
},
2727
};
@@ -154,6 +154,19 @@ pub(crate) async fn cli_cscs_file_list(
154154
Err(e) => Err(e),
155155
}
156156
}
157+
pub(crate) async fn cli_cscs_file_delete(
158+
path: PathBuf,
159+
system: Option<String>,
160+
platform: Option<ComputePlatform>,
161+
) -> Result<()> {
162+
match cscs_file_delete(path, system, platform).await {
163+
Ok(()) => {
164+
println!("Path removed");
165+
Ok(())
166+
}
167+
Err(e) => Err(e),
168+
}
169+
}
157170

158171
pub(crate) async fn cli_cscs_file_download(
159172
remote: PathBuf,

coman/src/main.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ use crate::{
2626
cscs::{
2727
api_client::client::JobStartOptions,
2828
cli::{
29-
cli_cscs_file_download, cli_cscs_file_list, cli_cscs_file_upload, cli_cscs_job_cancel, cli_cscs_job_detail,
30-
cli_cscs_job_list, cli_cscs_job_log, cli_cscs_job_start, cli_cscs_login, cli_cscs_set_system,
31-
cli_cscs_system_list,
29+
cli_cscs_file_delete, cli_cscs_file_download, cli_cscs_file_list, cli_cscs_file_upload,
30+
cli_cscs_job_cancel, cli_cscs_job_detail, cli_cscs_job_list, cli_cscs_job_log, cli_cscs_job_start,
31+
cli_cscs_login, cli_cscs_set_system, cli_cscs_system_list,
3232
},
3333
ports::{
3434
AsyncBackgroundTaskPort, AsyncFetchWorkloadsPort, AsyncJobLogPort, AsyncSelectSystemPort,
@@ -131,6 +131,7 @@ async fn main() -> Result<()> {
131131
},
132132
cli::CscsCommands::File { command } => match command {
133133
cli::CscsFileCommands::List { path } => cli_cscs_file_list(path, system, platform).await?,
134+
cli::CscsFileCommands::Remove { path } => cli_cscs_file_delete(path, system, platform).await?,
134135
cli::CscsFileCommands::Download { remote, local } => {
135136
cli_cscs_file_download(remote, local, account, system, platform).await?
136137
}

0 commit comments

Comments
 (0)