fix: Implemented a handful of fixes that are breaking changes between Sonarr v3 and v4

This commit is contained in:
2024-12-13 19:44:10 -07:00
parent f03120e5a1
commit 682bc91855
14 changed files with 137 additions and 91 deletions
@@ -240,10 +240,14 @@ mod tests {
#[test]
fn test_history_sorting_options_language() {
let expected_cmp_fn: fn(&SonarrHistoryItem, &SonarrHistoryItem) -> Ordering = |a, b| {
a.language
.name
.to_lowercase()
.cmp(&b.language.name.to_lowercase())
let default_language = Language {
id: 1,
name: "_".to_owned(),
};
let language_a = &a.languages.first().unwrap_or(&default_language);
let language_b = &b.languages.first().unwrap_or(&default_language);
language_a.cmp(language_b)
};
let mut expected_history_vec = history_vec();
expected_history_vec.sort_by(expected_cmp_fn);
@@ -361,10 +365,10 @@ mod tests {
id: 3,
source_title: "test 1".into(),
event_type: SonarrHistoryEventType::Grabbed,
language: Language {
languages: vec![Language {
id: 1,
name: "telgu".to_owned(),
},
}],
quality: QualityWrapper {
quality: Quality {
name: "HD - 1080p".to_owned(),
@@ -377,10 +381,10 @@ mod tests {
id: 2,
source_title: "test 2".into(),
event_type: SonarrHistoryEventType::DownloadFolderImported,
language: Language {
languages: vec![Language {
id: 3,
name: "chinese".to_owned(),
},
}],
quality: QualityWrapper {
quality: Quality {
name: "SD - 720p".to_owned(),
@@ -393,10 +397,10 @@ mod tests {
id: 1,
source_title: "test 3".into(),
event_type: SonarrHistoryEventType::EpisodeFileDeleted,
language: Language {
languages: vec![Language {
id: 1,
name: "english".to_owned(),
},
}],
quality: QualityWrapper {
quality: Quality {
name: "HD - 1080p".to_owned(),
+9 -4
View File
@@ -6,6 +6,7 @@ use crate::handlers::sonarr_handlers::handle_change_tab_left_right_keys;
use crate::handlers::table_handler::TableHandlingConfig;
use crate::handlers::{handle_clear_errors, KeyEventHandler};
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, HISTORY_BLOCKS};
use crate::models::servarr_models::Language;
use crate::models::sonarr_models::SonarrHistoryItem;
use crate::models::stateful_table::SortOption;
@@ -142,10 +143,14 @@ pub(in crate::handlers::sonarr_handlers) fn history_sorting_options(
SortOption {
name: "Language",
cmp_fn: Some(|a, b| {
a.language
.name
.to_lowercase()
.cmp(&b.language.name.to_lowercase())
let default_language = Language {
id: 1,
name: "_".to_owned(),
};
let language_a = &a.languages.first().unwrap_or(&default_language);
let language_b = &b.languages.first().unwrap_or(&default_language);
language_a.cmp(language_b)
}),
},
SortOption {