fix: Improve fault tolerance for tag associations in Radarr and Sonarr
This commit is contained in:
@@ -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>>()
|
||||||
|
|||||||
@@ -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>>()
|
||||||
|
|||||||
@@ -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>>()
|
||||||
|
|||||||
@@ -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>>()
|
||||||
|
|||||||
Reference in New Issue
Block a user