diff options
author | Jeff Zhao <jeff.no.zhao@gmail.com> | 2021-04-16 11:25:27 -0400 |
---|---|---|
committer | Jeff Zhao <jeff.no.zhao@gmail.com> | 2021-04-16 13:46:30 -0400 |
commit | a98af4f70d1b58ae7b2ece410c22d247240a2b1e (patch) | |
tree | ce110859292c798779d32fb9a8d4bd318b37cece /src/io | |
parent | ec6138539b8102dd44736199ce9f3f0ecba92b40 (diff) |
code cleanup
Diffstat (limited to 'src/io')
-rw-r--r-- | src/io/io_observer.rs | 10 | ||||
-rw-r--r-- | src/io/io_worker.rs | 42 | ||||
-rw-r--r-- | src/io/mod.rs | 6 | ||||
-rw-r--r-- | src/io/name_resolution.rs | 15 |
4 files changed, 28 insertions, 45 deletions
diff --git a/src/io/io_observer.rs b/src/io/io_observer.rs index 532b6f5..eb7a829 100644 --- a/src/io/io_observer.rs +++ b/src/io/io_observer.rs @@ -1,19 +1,19 @@ use std::path; use std::thread; -use crate::io::{FileOp, IOWorkerProgress}; +use crate::io::{FileOp, IoWorkerProgress}; use crate::util::format; #[derive(Debug)] -pub struct IOWorkerObserver { +pub struct IoWorkerObserver { pub handle: thread::JoinHandle<()>, - pub progress: Option<IOWorkerProgress>, + pub progress: Option<IoWorkerProgress>, msg: String, src: path::PathBuf, dest: path::PathBuf, } -impl IOWorkerObserver { +impl IoWorkerObserver { pub fn new(handle: thread::JoinHandle<()>, src: path::PathBuf, dest: path::PathBuf) -> Self { Self { handle, @@ -27,7 +27,7 @@ impl IOWorkerObserver { pub fn join(self) -> bool { matches!(self.handle.join(), Ok(_)) } - pub fn set_progress(&mut self, progress: IOWorkerProgress) { + pub fn set_progress(&mut self, progress: IoWorkerProgress) { self.progress = Some(progress); } pub fn update_msg(&mut self) { diff --git a/src/io/io_worker.rs b/src/io/io_worker.rs index 97af52a..58cf1d1 100644 --- a/src/io/io_worker.rs +++ b/src/io/io_worker.rs @@ -2,7 +2,7 @@ use std::fs; use std::path; use std::sync::mpsc; -use super::rename_filename_conflict; +use crate::util::name_resolution::rename_filename_conflict; #[derive(Clone, Copy, Debug)] pub enum FileOp { @@ -11,12 +11,12 @@ pub enum FileOp { } #[derive(Clone, Debug)] -pub struct IOWorkerOptions { +pub struct IoWorkerOptions { pub overwrite: bool, pub skip_exist: bool, } -impl std::default::Default for IOWorkerOptions { +impl std::default::Default for IoWorkerOptions { fn default() -> Self { Self { overwrite: false, @@ -25,7 +25,7 @@ impl std::default::Default for IOWorkerOptions { } } -impl std::fmt::Display for IOWorkerOptions { +impl std::fmt::Display for IoWorkerOptions { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { write!( f, @@ -36,14 +36,14 @@ impl std::fmt::Display for IOWorkerOptions { } #[derive(Clone, Debug)] -pub struct IOWorkerProgress { +pub struct IoWorkerProgress { _kind: FileOp, _index: usize, _len: usize, _processed: u64, } -impl IOWorkerProgress { +impl IoWorkerProgress { pub fn new(_kind: FileOp, _index: usize, _len: usize, _processed: u64) -> Self { Self { _kind, @@ -79,19 +79,19 @@ impl IOWorkerProgress { } #[derive(Debug)] -pub struct IOWorkerThread { +pub struct IoWorkerThread { _kind: FileOp, - pub options: IOWorkerOptions, + pub options: IoWorkerOptions, pub paths: Vec<path::PathBuf>, pub dest: path::PathBuf, } -impl IOWorkerThread { +impl IoWorkerThread { pub fn new( _kind: FileOp, paths: Vec<path::PathBuf>, dest: path::PathBuf, - options: IOWorkerOptions, + options: IoWorkerOptions, ) -> Self { Self { _kind, @@ -105,15 +105,15 @@ impl IOWorkerThread { self._kind } - pub fn start(&self, tx: mpsc::Sender<IOWorkerProgress>) -> std::io::Result<IOWorkerProgress> { + pub fn start(&self, tx: mpsc::Sender<IoWorkerProgress>) -> std::io::Result<IoWorkerProgress> { match self.kind() { FileOp::Cut => self.paste_cut(tx), FileOp::Copy => self.paste_copy(tx), } } - fn paste_copy(&self, tx: mpsc::Sender<IOWorkerProgress>) -> std::io::Result<IOWorkerProgress> { - let mut progress = IOWorkerProgress::new(self.kind(), 0, self.paths.len(), 0); + fn paste_copy(&self, tx: mpsc::Sender<IoWorkerProgress>) -> std::io::Result<IoWorkerProgress> { + let mut progress = IoWorkerProgress::new(self.kind(), 0, self.paths.len(), 0); for (i, path) in self.paths.iter().enumerate() { progress.set_index(i); let _ = tx.send(progress.clone()); @@ -124,7 +124,7 @@ impl IOWorkerThread { &mut progress, )?; } - Ok(IOWorkerProgress::new( + Ok(IoWorkerProgress::new( self.kind(), self.paths.len(), self.paths.len(), @@ -132,8 +132,8 @@ impl IOWorkerThread { )) } - fn paste_cut(&self, tx: mpsc::Sender<IOWorkerProgress>) -> std::io::Result<IOWorkerProgress> { - let mut progress = IOWorkerProgress::new(self.kind(), 0, self.paths.len(), 0); + fn paste_cut(&self, tx: mpsc::Sender<IoWorkerProgress>) -> std::io::Result<IoWorkerProgress> { + let mut progress = IoWorkerProgress::new(self.kind(), 0, self.paths.len(), 0); for (i, path) in self.paths.iter().enumerate() { progress.set_index(i); let _ = tx.send(progress.clone()); @@ -144,7 +144,7 @@ impl IOWorkerThread { &mut progress, )?; } - Ok(IOWorkerProgress::new( + Ok(IoWorkerProgress::new( self.kind(), self.paths.len(), self.paths.len(), @@ -156,8 +156,8 @@ impl IOWorkerThread { pub fn recursive_copy( src: &path::Path, dest: &path::Path, - tx: mpsc::Sender<IOWorkerProgress>, - progress: &mut IOWorkerProgress, + tx: mpsc::Sender<IoWorkerProgress>, + progress: &mut IoWorkerProgress, ) -> std::io::Result<()> { let mut dest_buf = dest.to_path_buf(); if let Some(s) = src.file_name() { @@ -195,8 +195,8 @@ pub fn recursive_copy( pub fn recursive_cut( src: &path::Path, dest: &path::Path, - tx: mpsc::Sender<IOWorkerProgress>, - progress: &mut IOWorkerProgress, + tx: mpsc::Sender<IoWorkerProgress>, + progress: &mut IoWorkerProgress, ) -> std::io::Result<()> { let mut dest_buf = dest.to_path_buf(); if let Some(s) = src.file_name() { diff --git a/src/io/mod.rs b/src/io/mod.rs index f360d19..f577cc6 100644 --- a/src/io/mod.rs +++ b/src/io/mod.rs @@ -1,7 +1,5 @@ mod io_observer; mod io_worker; -mod name_resolution; -pub use io_observer::IOWorkerObserver; -pub use io_worker::{FileOp, IOWorkerOptions, IOWorkerProgress, IOWorkerThread}; -pub use name_resolution::rename_filename_conflict; +pub use io_observer::IoWorkerObserver; +pub use io_worker::{FileOp, IoWorkerOptions, IoWorkerProgress, IoWorkerThread}; diff --git a/src/io/name_resolution.rs b/src/io/name_resolution.rs deleted file mode 100644 index a8e520b..0000000 --- a/src/io/name_resolution.rs +++ /dev/null @@ -1,15 +0,0 @@ -use std::path; - -pub fn rename_filename_conflict(path: &mut path::PathBuf) { - let file_name = path.file_name().unwrap().to_os_string(); - for i in 0.. { - if !path.exists() { - break; - } - path.pop(); - - let mut file_name = file_name.clone(); - file_name.push(&format!("_{}", i)); - path.push(file_name); - } -} |