1use std::path::{Path, PathBuf};
2
3use super::fs::list_files_in_folder;
4
5pub fn contains_tv_keywords(album: &str) -> bool {
6 let keywords = vec!["影视原声", "电视剧原声"];
7 for keyword in keywords {
8 if album.contains(keyword) {
9 return true;
10 }
11 }
12 false
13}
14
15pub fn get_audio_file_list(folder_path: &Path) -> Vec<PathBuf> {
16 let file_list = list_files_in_folder(folder_path).unwrap();
17 let mut audio_file_list: Vec<PathBuf> = Vec::new();
18 for file in file_list {
19 if let Some(kind) = infer::get_from_path(file.as_path()).expect("file read successfully") {
20 let mime = kind.mime_type();
21 if (mime.contains("audio")) {
22 audio_file_list.push(file);
23 }
24 }
25 }
26 audio_file_list
27}
28
29#[cfg(test)]
30mod tests {
31 use super::*;
32
33 #[test]
34 fn test_contains_tv_keywords() {
35 assert_eq!(contains_tv_keywords("test 影视原声带"), true);
36 assert_eq!(contains_tv_keywords("test 电视剧原声带"), true);
37 assert_eq!(contains_tv_keywords("test"), false);
38 }
39}