mirror of
https://github.com/crunchy-labs/crunchy-cli.git
synced 2026-01-21 04:02:00 -06:00
Fix relative episode number exceeding actual episode count (#238)
This commit is contained in:
parent
70b41b4dd5
commit
596fcc2342
1 changed files with 5 additions and 9 deletions
|
|
@ -18,7 +18,7 @@ pub(crate) struct ArchiveFilter {
|
|||
url_filter: UrlFilter,
|
||||
archive: Archive,
|
||||
interactive_input: bool,
|
||||
season_episode_count: HashMap<u32, Vec<String>>,
|
||||
season_episode_count: HashMap<String, Vec<String>>,
|
||||
season_subtitles_missing: Vec<u32>,
|
||||
season_sorting: Vec<String>,
|
||||
visited: Visited,
|
||||
|
|
@ -229,7 +229,7 @@ impl Filter for ArchiveFilter {
|
|||
if Format::has_relative_episodes_fmt(&self.archive.output) {
|
||||
for episode in episodes.iter() {
|
||||
self.season_episode_count
|
||||
.entry(episode.season_number)
|
||||
.entry(episode.season_id.clone())
|
||||
.or_insert(vec![])
|
||||
.push(episode.id.clone())
|
||||
}
|
||||
|
|
@ -300,20 +300,16 @@ impl Filter for ArchiveFilter {
|
|||
}
|
||||
|
||||
let relative_episode_number = if Format::has_relative_episodes_fmt(&self.archive.output) {
|
||||
if self
|
||||
.season_episode_count
|
||||
.get(&episode.season_number)
|
||||
.is_none()
|
||||
{
|
||||
if self.season_episode_count.get(&episode.season_id).is_none() {
|
||||
let season_episodes = episode.season().await?.episodes().await?;
|
||||
self.season_episode_count.insert(
|
||||
episode.season_number,
|
||||
episode.season_id.clone(),
|
||||
season_episodes.into_iter().map(|e| e.id).collect(),
|
||||
);
|
||||
}
|
||||
let relative_episode_number = self
|
||||
.season_episode_count
|
||||
.get(&episode.season_number)
|
||||
.get(&episode.season_id)
|
||||
.unwrap()
|
||||
.iter()
|
||||
.position(|id| id == &episode.id)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue