diff --git a/backend/src/generator.rs b/backend/src/generator.rs index f2a8756..165b1e0 100644 --- a/backend/src/generator.rs +++ b/backend/src/generator.rs @@ -104,15 +104,14 @@ impl Generator { pub fn encode_dir(&self, dir: &PathBuf) -> Result<()> { // Found file - Ok(()) } /// List all video files in a directory - pub fn list_video_files(&self, dir: &PathBuf) -> Vec { + pub fn list_video_files<'a>(&'a self, dir: &'a PathBuf) -> impl Iterator + 'a { WalkDir::new(dir).into_iter().filter_map(|f| f.ok()) .filter(|f| f.path().is_file() && self.is_video(f)) - .map(|f| f.into_path()).collect() + .map(|f| f.into_path()) } /// Check if a file is a video file by file name diff --git a/backend/src/test.rs b/backend/src/test.rs index 391cc5c..4265644 100644 --- a/backend/src/test.rs +++ b/backend/src/test.rs @@ -36,8 +36,7 @@ fn main() { // let encoders = Encoders::load().unwrap(); // info!("Encoders {:?}", encoders); - - let videos = gen.list_video_files(&PathBuf::from("/data/Anime")); + let videos: Vec = gen.list_video_files(&PathBuf::from("/data/Anime")).collect(); videos.iter().for_each(|x| println!("Video found: {}", x.display())); println!("Length: {}", videos.len()); }