mirror of
https://github.com/crunchy-labs/crunchy-cli.git
synced 2026-01-21 12:12:00 -06:00
Use episode sequence number as filter number for url episode filtering
This commit is contained in:
parent
d0fe7f54f6
commit
5a3a304443
4 changed files with 9 additions and 9 deletions
|
|
@ -241,7 +241,7 @@ impl Filter for ArchiveFilter {
|
||||||
async fn visit_episode(&mut self, mut episode: Episode) -> Result<Option<Self::T>> {
|
async fn visit_episode(&mut self, mut episode: Episode) -> Result<Option<Self::T>> {
|
||||||
if !self
|
if !self
|
||||||
.url_filter
|
.url_filter
|
||||||
.is_episode_valid(episode.episode_number, episode.season_number)
|
.is_episode_valid(episode.sequence_number, episode.season_number)
|
||||||
{
|
{
|
||||||
return Ok(None);
|
return Ok(None);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,7 @@ impl Filter for DownloadFilter {
|
||||||
|
|
||||||
episodes.retain(|e| {
|
episodes.retain(|e| {
|
||||||
self.url_filter
|
self.url_filter
|
||||||
.is_episode_valid(e.episode_number, season.season_number)
|
.is_episode_valid(e.sequence_number, season.season_number)
|
||||||
});
|
});
|
||||||
|
|
||||||
Ok(episodes)
|
Ok(episodes)
|
||||||
|
|
@ -127,7 +127,7 @@ impl Filter for DownloadFilter {
|
||||||
async fn visit_episode(&mut self, mut episode: Episode) -> Result<Option<Self::T>> {
|
async fn visit_episode(&mut self, mut episode: Episode) -> Result<Option<Self::T>> {
|
||||||
if !self
|
if !self
|
||||||
.url_filter
|
.url_filter
|
||||||
.is_episode_valid(episode.episode_number, episode.season_number)
|
.is_episode_valid(episode.sequence_number, episode.season_number)
|
||||||
{
|
{
|
||||||
return Ok(None);
|
return Ok(None);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ impl FilterOptions {
|
||||||
self.check_audio_language(&vec![e.audio_locale.clone()])
|
self.check_audio_language(&vec![e.audio_locale.clone()])
|
||||||
&& self
|
&& self
|
||||||
.url_filter
|
.url_filter
|
||||||
.is_episode_valid(e.episode_number, e.season_number)
|
.is_episode_valid(e.sequence_number, e.season_number)
|
||||||
});
|
});
|
||||||
episodes
|
episodes
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,8 @@ use regex::Regex;
|
||||||
/// If `to_*` is [`None`] they're set to [`u32::MAX`].
|
/// If `to_*` is [`None`] they're set to [`u32::MAX`].
|
||||||
#[derive(Debug, Default)]
|
#[derive(Debug, Default)]
|
||||||
pub struct InnerUrlFilter {
|
pub struct InnerUrlFilter {
|
||||||
from_episode: Option<u32>,
|
from_episode: Option<f32>,
|
||||||
to_episode: Option<u32>,
|
to_episode: Option<f32>,
|
||||||
from_season: Option<u32>,
|
from_season: Option<u32>,
|
||||||
to_season: Option<u32>,
|
to_season: Option<u32>,
|
||||||
}
|
}
|
||||||
|
|
@ -39,10 +39,10 @@ impl UrlFilter {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn is_episode_valid(&self, episode: u32, season: u32) -> bool {
|
pub fn is_episode_valid(&self, episode: f32, season: u32) -> bool {
|
||||||
self.inner.iter().any(|f| {
|
self.inner.iter().any(|f| {
|
||||||
let from_episode = f.from_episode.unwrap_or(u32::MIN);
|
let from_episode = f.from_episode.unwrap_or(f32::MIN);
|
||||||
let to_episode = f.to_episode.unwrap_or(u32::MAX);
|
let to_episode = f.to_episode.unwrap_or(f32::MAX);
|
||||||
let from_season = f.from_season.unwrap_or(u32::MIN);
|
let from_season = f.from_season.unwrap_or(u32::MIN);
|
||||||
let to_season = f.to_season.unwrap_or(u32::MAX);
|
let to_season = f.to_season.unwrap_or(u32::MAX);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue