mirror of
https://github.com/crunchy-labs/crunchy-cli.git
synced 2026-01-21 12:12: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,
|
url_filter: UrlFilter,
|
||||||
archive: Archive,
|
archive: Archive,
|
||||||
interactive_input: bool,
|
interactive_input: bool,
|
||||||
season_episode_count: HashMap<u32, Vec<String>>,
|
season_episode_count: HashMap<String, Vec<String>>,
|
||||||
season_subtitles_missing: Vec<u32>,
|
season_subtitles_missing: Vec<u32>,
|
||||||
season_sorting: Vec<String>,
|
season_sorting: Vec<String>,
|
||||||
visited: Visited,
|
visited: Visited,
|
||||||
|
|
@ -229,7 +229,7 @@ impl Filter for ArchiveFilter {
|
||||||
if Format::has_relative_episodes_fmt(&self.archive.output) {
|
if Format::has_relative_episodes_fmt(&self.archive.output) {
|
||||||
for episode in episodes.iter() {
|
for episode in episodes.iter() {
|
||||||
self.season_episode_count
|
self.season_episode_count
|
||||||
.entry(episode.season_number)
|
.entry(episode.season_id.clone())
|
||||||
.or_insert(vec![])
|
.or_insert(vec![])
|
||||||
.push(episode.id.clone())
|
.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) {
|
let relative_episode_number = if Format::has_relative_episodes_fmt(&self.archive.output) {
|
||||||
if self
|
if self.season_episode_count.get(&episode.season_id).is_none() {
|
||||||
.season_episode_count
|
|
||||||
.get(&episode.season_number)
|
|
||||||
.is_none()
|
|
||||||
{
|
|
||||||
let season_episodes = episode.season().await?.episodes().await?;
|
let season_episodes = episode.season().await?.episodes().await?;
|
||||||
self.season_episode_count.insert(
|
self.season_episode_count.insert(
|
||||||
episode.season_number,
|
episode.season_id.clone(),
|
||||||
season_episodes.into_iter().map(|e| e.id).collect(),
|
season_episodes.into_iter().map(|e| e.id).collect(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
let relative_episode_number = self
|
let relative_episode_number = self
|
||||||
.season_episode_count
|
.season_episode_count
|
||||||
.get(&episode.season_number)
|
.get(&episode.season_id)
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.iter()
|
.iter()
|
||||||
.position(|id| id == &episode.id)
|
.position(|id| id == &episode.id)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue