Use episode sequence number as filter number for url episode filtering

This commit is contained in:
bytedream 2023-10-15 23:52:44 +02:00
parent d0fe7f54f6
commit 5a3a304443
4 changed files with 9 additions and 9 deletions

View file

@ -241,7 +241,7 @@ impl Filter for ArchiveFilter {
async fn visit_episode(&mut self, mut episode: Episode) -> Result<Option<Self::T>> {
if !self
.url_filter
.is_episode_valid(episode.episode_number, episode.season_number)
.is_episode_valid(episode.sequence_number, episode.season_number)
{
return Ok(None);
}

View file

@ -118,7 +118,7 @@ impl Filter for DownloadFilter {
episodes.retain(|e| {
self.url_filter
.is_episode_valid(e.episode_number, season.season_number)
.is_episode_valid(e.sequence_number, season.season_number)
});
Ok(episodes)
@ -127,7 +127,7 @@ impl Filter for DownloadFilter {
async fn visit_episode(&mut self, mut episode: Episode) -> Result<Option<Self::T>> {
if !self
.url_filter
.is_episode_valid(episode.episode_number, episode.season_number)
.is_episode_valid(episode.sequence_number, episode.season_number)
{
return Ok(None);
}

View file

@ -24,7 +24,7 @@ impl FilterOptions {
self.check_audio_language(&vec![e.audio_locale.clone()])
&& self
.url_filter
.is_episode_valid(e.episode_number, e.season_number)
.is_episode_valid(e.sequence_number, e.season_number)
});
episodes
}

View file

@ -10,8 +10,8 @@ use regex::Regex;
/// If `to_*` is [`None`] they're set to [`u32::MAX`].
#[derive(Debug, Default)]
pub struct InnerUrlFilter {
from_episode: Option<u32>,
to_episode: Option<u32>,
from_episode: Option<f32>,
to_episode: Option<f32>,
from_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| {
let from_episode = f.from_episode.unwrap_or(u32::MIN);
let to_episode = f.to_episode.unwrap_or(u32::MAX);
let from_episode = f.from_episode.unwrap_or(f32::MIN);
let to_episode = f.to_episode.unwrap_or(f32::MAX);
let from_season = f.from_season.unwrap_or(u32::MIN);
let to_season = f.to_season.unwrap_or(u32::MAX);