Canonicalize upload directory when uploading to local
This commit is contained in:
parent
da2b6097e9
commit
329ba8f381
18
src/main.rs
18
src/main.rs
@ -181,7 +181,7 @@ fn main() -> Result<(), String> {
|
||||
files,
|
||||
file_server,
|
||||
old_version_policy,
|
||||
upload_directory,
|
||||
mut upload_directory,
|
||||
no_confirm,
|
||||
file_name,
|
||||
} => {
|
||||
@ -234,6 +234,15 @@ fn main() -> Result<(), String> {
|
||||
let actions = servers
|
||||
.iter()
|
||||
.map(|server| {
|
||||
//on local server canonicalize upload_directory
|
||||
if let ServerAddress::Localhost = &server.address {
|
||||
//create upload directory if it doesn't exist
|
||||
fs::create_dir_all(&upload_directory)
|
||||
.map_err(|e| format!("Failed to create upload-directory: {e}"))?;
|
||||
|
||||
upload_directory = fs::canonicalize(&upload_directory)
|
||||
.map_err(|e| format!("failed to resolve upload-directory: {e}"))?;
|
||||
}
|
||||
let working_directory = server.server_directory_path.join(&upload_directory);
|
||||
Ok(ServerActions {
|
||||
server,
|
||||
@ -658,6 +667,7 @@ mod test {
|
||||
assert_eq!(PathBuf::from("/home"), joined);
|
||||
}
|
||||
|
||||
/// When renaming a file in a folder, the folder is relevant in the new name
|
||||
#[test]
|
||||
fn rename_experiment() {
|
||||
fs::rename("test-ressources/files/test", "test-ressources/files/test1")
|
||||
@ -665,4 +675,10 @@ mod test {
|
||||
fs::rename("test-ressources/files/test1", "test-ressources/files/test")
|
||||
.expect("failed to rename test1 file back to test");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn mkdir_experiment() {
|
||||
fs::create_dir_all("./test-ressources/files/../python")
|
||||
.expect("failed to create directory with relative path");
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user