fix: Improve fault tolerance for tag associations in Radarr and Sonarr

This commit is contained in:
2025-05-18 13:49:52 -06:00
parent f09a2efa5e
commit c133a4ecd2
4 changed files with 8 additions and 4 deletions
+2 -1
View File
@@ -132,6 +132,7 @@ fn draw_indexers(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
let rss = bool_to_text(*enable_rss); let rss = bool_to_text(*enable_rss);
let automatic_search = bool_to_text(*enable_automatic_search); let automatic_search = bool_to_text(*enable_automatic_search);
let interactive_search = bool_to_text(*enable_interactive_search); let interactive_search = bool_to_text(*enable_interactive_search);
let empty_tag = String::new();
let tags: String = tags let tags: String = tags
.iter() .iter()
.map(|tag_id| { .map(|tag_id| {
@@ -140,7 +141,7 @@ fn draw_indexers(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
.radarr_data .radarr_data
.tags_map .tags_map
.get_by_left(&tag_id.as_i64().unwrap()) .get_by_left(&tag_id.as_i64().unwrap())
.unwrap() .unwrap_or(&empty_tag)
.clone() .clone()
}) })
.collect::<Vec<String>>() .collect::<Vec<String>>()
+2 -1
View File
@@ -105,6 +105,7 @@ fn draw_library(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
.get_by_left(&movie.quality_profile_id) .get_by_left(&movie.quality_profile_id)
.unwrap() .unwrap()
.to_owned(); .to_owned();
let empty_tag = String::new();
let tags = if !movie.tags.is_empty() { let tags = if !movie.tags.is_empty() {
movie movie
.tags .tags
@@ -112,7 +113,7 @@ fn draw_library(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
.map(|tag_id| { .map(|tag_id| {
tags_map tags_map
.get_by_left(&tag_id.as_i64().unwrap()) .get_by_left(&tag_id.as_i64().unwrap())
.unwrap() .unwrap_or(&empty_tag)
.clone() .clone()
}) })
.collect::<Vec<String>>() .collect::<Vec<String>>()
+2 -1
View File
@@ -132,6 +132,7 @@ fn draw_indexers(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
let rss = bool_to_text(*enable_rss); let rss = bool_to_text(*enable_rss);
let automatic_search = bool_to_text(*enable_automatic_search); let automatic_search = bool_to_text(*enable_automatic_search);
let interactive_search = bool_to_text(*enable_interactive_search); let interactive_search = bool_to_text(*enable_interactive_search);
let empty_tag = String::new();
let tags: String = tags let tags: String = tags
.iter() .iter()
.map(|tag_id| { .map(|tag_id| {
@@ -140,7 +141,7 @@ fn draw_indexers(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
.sonarr_data .sonarr_data
.tags_map .tags_map
.get_by_left(&tag_id.as_i64().unwrap()) .get_by_left(&tag_id.as_i64().unwrap())
.unwrap() .unwrap_or(&empty_tag)
.clone() .clone()
}) })
.collect::<Vec<String>>() .collect::<Vec<String>>()
+2 -1
View File
@@ -112,6 +112,7 @@ fn draw_library(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
.get_by_left(&series.language_profile_id) .get_by_left(&series.language_profile_id)
.unwrap() .unwrap()
.to_owned(); .to_owned();
let empty_tag = String::new();
let tags = if !series.tags.is_empty() { let tags = if !series.tags.is_empty() {
series series
.tags .tags
@@ -119,7 +120,7 @@ fn draw_library(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
.map(|tag_id| { .map(|tag_id| {
tags_map tags_map
.get_by_left(&tag_id.as_i64().unwrap()) .get_by_left(&tag_id.as_i64().unwrap())
.unwrap() .unwrap_or(&empty_tag)
.clone() .clone()
}) })
.collect::<Vec<String>>() .collect::<Vec<String>>()