mirror of
https://github.com/crunchy-labs/crunchy-cli.git
synced 2026-01-21 12:12:00 -06:00
Remove search --filter-subtitles flag
This commit is contained in:
parent
72609ce777
commit
1f6fbd3b78
3 changed files with 1 additions and 18 deletions
|
|
@ -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,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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));
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue