Remove search --filter-subtitles flag

This commit is contained in:
bytedream 2023-06-20 00:19:59 +02:00 committed by ByteDream
parent 0cd647fb14
commit f7af983526
3 changed files with 1 additions and 18 deletions

View file

@ -17,10 +17,6 @@ pub struct Search {
#[arg(long, default_values_t = vec![crate::utils::locale::system_locale()])] #[arg(long, default_values_t = vec![crate::utils::locale::system_locale()])]
audio: Vec<Locale>, audio: Vec<Locale>,
#[arg(help = "Filter the locale/language of subtitles according to the value of `--audio`")]
#[arg(long, default_value_t = false)]
filter_subtitles: bool,
#[arg(help = "Limit of search top search results")] #[arg(help = "Limit of search top search results")]
#[arg(long, default_value_t = 5)] #[arg(long, default_value_t = 5)]
search_top_results_limit: u32, search_top_results_limit: u32,
@ -144,7 +140,6 @@ impl Execute for Search {
for (media_collection, url_filter) in input { for (media_collection, url_filter) in input {
let filter_options = FilterOptions { let filter_options = FilterOptions {
audio: self.audio.clone(), audio: self.audio.clone(),
filter_subtitles: self.filter_subtitles,
url_filter, url_filter,
}; };

View file

@ -1,10 +1,8 @@
use crate::utils::parse::UrlFilter; use crate::utils::parse::UrlFilter;
use crunchyroll_rs::media::Subtitle;
use crunchyroll_rs::{Episode, Locale, MovieListing, Season, Series}; use crunchyroll_rs::{Episode, Locale, MovieListing, Season, Series};
pub struct FilterOptions { pub struct FilterOptions {
pub audio: Vec<Locale>, pub audio: Vec<Locale>,
pub filter_subtitles: bool,
pub url_filter: UrlFilter, pub url_filter: UrlFilter,
} }
@ -40,13 +38,6 @@ impl FilterOptions {
) )
} }
pub fn filter_subtitles(&self, mut subtitles: Vec<Subtitle>) -> Vec<Subtitle> {
if self.filter_subtitles {
subtitles.retain(|s| self.check_audio_language(&vec![s.locale.clone()]))
}
subtitles
}
fn check_audio_language(&self, audio: &Vec<Locale>) -> bool { fn check_audio_language(&self, audio: &Vec<Locale>) -> bool {
if !self.audio.is_empty() { if !self.audio.is_empty() {
return self.audio.iter().any(|a| audio.contains(a)); return self.audio.iter().any(|a| audio.contains(a));

View file

@ -605,12 +605,9 @@ impl Format {
.subtitles .subtitles
.insert(Locale::Custom("".to_string()), Subtitle::default()); .insert(Locale::Custom("".to_string()), Subtitle::default());
} }
let subtitles = self
.filter_options
.filter_subtitles(stream.subtitles.into_values().collect());
let mut output = vec![]; let mut output = vec![];
for subtitle in subtitles { for (_, subtitle) in stream.subtitles {
let subtitle_map = self.serializable_to_json_map(FormatSubtitle::from(&subtitle)); let subtitle_map = self.serializable_to_json_map(FormatSubtitle::from(&subtitle));
let mut tmp_values = values.clone(); let mut tmp_values = values.clone();
tmp_values.insert(Scope::Subtitle, &subtitle_map); tmp_values.insert(Scope::Subtitle, &subtitle_map);