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,
|
files,
|
||||||
file_server,
|
file_server,
|
||||||
old_version_policy,
|
old_version_policy,
|
||||||
upload_directory,
|
mut upload_directory,
|
||||||
no_confirm,
|
no_confirm,
|
||||||
file_name,
|
file_name,
|
||||||
} => {
|
} => {
|
||||||
@ -234,6 +234,15 @@ fn main() -> Result<(), String> {
|
|||||||
let actions = servers
|
let actions = servers
|
||||||
.iter()
|
.iter()
|
||||||
.map(|server| {
|
.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);
|
let working_directory = server.server_directory_path.join(&upload_directory);
|
||||||
Ok(ServerActions {
|
Ok(ServerActions {
|
||||||
server,
|
server,
|
||||||
@ -658,6 +667,7 @@ mod test {
|
|||||||
assert_eq!(PathBuf::from("/home"), joined);
|
assert_eq!(PathBuf::from("/home"), joined);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// When renaming a file in a folder, the folder is relevant in the new name
|
||||||
#[test]
|
#[test]
|
||||||
fn rename_experiment() {
|
fn rename_experiment() {
|
||||||
fs::rename("test-ressources/files/test", "test-ressources/files/test1")
|
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")
|
fs::rename("test-ressources/files/test1", "test-ressources/files/test")
|
||||||
.expect("failed to rename test1 file back to 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