fix: Modified the Sonarr DownloadRecord so that the episode_id is optional to prevent crashes for weird downloads

This commit is contained in:
2025-03-01 14:50:20 -07:00
parent 58723cf3e8
commit 847de75713
7 changed files with 52 additions and 18 deletions
+11 -1
View File
@@ -29,6 +29,7 @@ use ratatui::style::{Style, Stylize};
use ratatui::text::{Line, Span, Text};
use ratatui::widgets::{Cell, Paragraph, Row, Wrap};
use ratatui::Frame;
use serde_json::Number;
#[cfg(test)]
#[path = "episode_details_ui_tests.rs"]
@@ -128,13 +129,22 @@ fn draw_episode_details(f: &mut Frame<'_>, app: &App<'_>, area: Rect) {
if let Some(episode_details_modal) = season_details_modal.episode_details_modal.as_ref() {
let episode = season_details_modal.episodes.current_selection().clone();
let episode_details = &episode_details_modal.episode_details;
let default_episode_id = Number::from(-1i64);
let download = app
.data
.sonarr_data
.downloads
.items
.iter()
.find(|&download| download.episode_id == episode.id);
.find(|&download| {
download
.episode_id
.as_ref()
.unwrap_or(&default_episode_id)
.as_i64()
.unwrap()
== episode.id
});
let text = Text::from(
episode_details
.items