refactor: Removed unnecessary clone call from extract_and_add_tag_ids_vec method

This commit is contained in:
2025-01-18 14:15:52 -07:00
parent fda69178b9
commit 184bd2b510
4 changed files with 22 additions and 36 deletions
+8 -15
View File
@@ -282,10 +282,8 @@ impl<'a, 'b> Network<'a, 'b> {
async fn add_movie(&mut self, mut add_movie_body: AddMovieBody) -> Result<Value> { async fn add_movie(&mut self, mut add_movie_body: AddMovieBody) -> Result<Value> {
info!("Adding new movie to Radarr"); info!("Adding new movie to Radarr");
let event = RadarrEvent::AddMovie(add_movie_body.clone()); let event = RadarrEvent::AddMovie(add_movie_body.clone());
if let Some(tag_input_string) = add_movie_body.tag_input_string.as_ref() { if let Some(tag_input_str) = add_movie_body.tag_input_string.as_ref() {
let tag_ids_vec = self let tag_ids_vec = self.extract_and_add_radarr_tag_ids_vec(tag_input_str).await;
.extract_and_add_radarr_tag_ids_vec(tag_input_string.clone())
.await;
add_movie_body.tags = tag_ids_vec; add_movie_body.tags = tag_ids_vec;
} }
@@ -629,10 +627,8 @@ impl<'a, 'b> Network<'a, 'b> {
let detail_event = RadarrEvent::GetIndexers; let detail_event = RadarrEvent::GetIndexers;
let event = RadarrEvent::EditIndexer(edit_indexer_params.clone()); let event = RadarrEvent::EditIndexer(edit_indexer_params.clone());
let id = edit_indexer_params.indexer_id; let id = edit_indexer_params.indexer_id;
if let Some(tag_input_string) = edit_indexer_params.tag_input_string.as_ref() { if let Some(tag_input_str) = edit_indexer_params.tag_input_string.as_ref() {
let tag_ids_vec = self let tag_ids_vec = self.extract_and_add_radarr_tag_ids_vec(tag_input_str).await;
.extract_and_add_radarr_tag_ids_vec(tag_input_string.clone())
.await;
edit_indexer_params.tags = Some(tag_ids_vec); edit_indexer_params.tags = Some(tag_ids_vec);
} }
info!("Updating Radarr indexer with ID: {id}"); info!("Updating Radarr indexer with ID: {id}");
@@ -832,10 +828,8 @@ impl<'a, 'b> Network<'a, 'b> {
let movie_id = edit_movie_params.movie_id; let movie_id = edit_movie_params.movie_id;
let detail_event = RadarrEvent::GetMovieDetails(movie_id); let detail_event = RadarrEvent::GetMovieDetails(movie_id);
let event = RadarrEvent::EditMovie(edit_movie_params.clone()); let event = RadarrEvent::EditMovie(edit_movie_params.clone());
if let Some(tag_input_string) = edit_movie_params.tag_input_string.as_ref() { if let Some(tag_input_str) = edit_movie_params.tag_input_string.as_ref() {
let tag_ids_vec = self let tag_ids_vec = self.extract_and_add_radarr_tag_ids_vec(tag_input_str).await;
.extract_and_add_radarr_tag_ids_vec(tag_input_string.clone())
.await;
edit_movie_params.tags = Some(tag_ids_vec); edit_movie_params.tags = Some(tag_ids_vec);
} }
@@ -1827,9 +1821,8 @@ impl<'a, 'b> Network<'a, 'b> {
.await .await
} }
async fn extract_and_add_radarr_tag_ids_vec(&mut self, edit_tags: String) -> Vec<i64> { async fn extract_and_add_radarr_tag_ids_vec(&mut self, edit_tags: &str) -> Vec<i64> {
let tags_map = self.app.lock().await.data.radarr_data.tags_map.clone(); let tags_map = self.app.lock().await.data.radarr_data.tags_map.clone();
let tags = edit_tags.clone();
let missing_tags_vec = edit_tags let missing_tags_vec = edit_tags
.split(',') .split(',')
.filter(|&tag| !tag.is_empty() && tags_map.get_by_right(tag.to_lowercase().trim()).is_none()) .filter(|&tag| !tag.is_empty() && tags_map.get_by_right(tag.to_lowercase().trim()).is_none())
@@ -1843,7 +1836,7 @@ impl<'a, 'b> Network<'a, 'b> {
} }
let app = self.app.lock().await; let app = self.app.lock().await;
tags edit_tags
.split(',') .split(',')
.filter(|tag| !tag.is_empty()) .filter(|tag| !tag.is_empty())
.map(|tag| { .map(|tag| {
+3 -3
View File
@@ -3867,7 +3867,7 @@ mod test {
#[tokio::test] #[tokio::test]
async fn test_extract_and_add_radarr_tag_ids_vec() { async fn test_extract_and_add_radarr_tag_ids_vec() {
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::default()));
let tags = " test,HI ,, usenet ".to_owned(); let tags = " test,HI ,, usenet ";
{ {
let mut app = app_arc.lock().await; let mut app = app_arc.lock().await;
app.data.radarr_data.tags_map = BiMap::from_iter([ app.data.radarr_data.tags_map = BiMap::from_iter([
@@ -3896,11 +3896,11 @@ mod test {
None, None,
) )
.await; .await;
let tags = "usenet, test, TESTING".to_owned(); let tags = "usenet, test, TESTING";
{ {
let mut app = app_arc.lock().await; let mut app = app_arc.lock().await;
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal { app.data.radarr_data.edit_movie_modal = Some(EditMovieModal {
tags: tags.clone().into(), tags: tags.into(),
..EditMovieModal::default() ..EditMovieModal::default()
}); });
app.data.radarr_data.tags_map = app.data.radarr_data.tags_map =
+8 -15
View File
@@ -383,10 +383,8 @@ impl<'a, 'b> Network<'a, 'b> {
async fn add_sonarr_series(&mut self, mut add_series_body: AddSeriesBody) -> Result<Value> { async fn add_sonarr_series(&mut self, mut add_series_body: AddSeriesBody) -> Result<Value> {
info!("Adding new series to Sonarr"); info!("Adding new series to Sonarr");
let event = SonarrEvent::AddSeries(add_series_body.clone()); let event = SonarrEvent::AddSeries(add_series_body.clone());
if let Some(tag_input_string) = add_series_body.tag_input_string.as_ref() { if let Some(tag_input_str) = add_series_body.tag_input_string.as_ref() {
let tag_ids_vec = self let tag_ids_vec = self.extract_and_add_sonarr_tag_ids_vec(tag_input_str).await;
.extract_and_add_sonarr_tag_ids_vec(tag_input_string.clone())
.await;
add_series_body.tags = tag_ids_vec; add_series_body.tags = tag_ids_vec;
} }
@@ -640,10 +638,8 @@ impl<'a, 'b> Network<'a, 'b> {
&mut self, &mut self,
mut edit_indexer_params: EditIndexerParams, mut edit_indexer_params: EditIndexerParams,
) -> Result<()> { ) -> Result<()> {
if let Some(tag_input_string) = edit_indexer_params.tag_input_string.as_ref() { if let Some(tag_input_str) = edit_indexer_params.tag_input_string.as_ref() {
let tag_ids_vec = self let tag_ids_vec = self.extract_and_add_sonarr_tag_ids_vec(tag_input_str).await;
.extract_and_add_sonarr_tag_ids_vec(tag_input_string.clone())
.await;
edit_indexer_params.tags = Some(tag_ids_vec); edit_indexer_params.tags = Some(tag_ids_vec);
} }
let detail_event = SonarrEvent::GetIndexers; let detail_event = SonarrEvent::GetIndexers;
@@ -842,10 +838,8 @@ impl<'a, 'b> Network<'a, 'b> {
async fn edit_sonarr_series(&mut self, mut edit_series_params: EditSeriesParams) -> Result<()> { async fn edit_sonarr_series(&mut self, mut edit_series_params: EditSeriesParams) -> Result<()> {
info!("Editing Sonarr series"); info!("Editing Sonarr series");
if let Some(tag_input_string) = edit_series_params.tag_input_string.as_ref() { if let Some(tag_input_str) = edit_series_params.tag_input_string.as_ref() {
let tag_ids_vec = self let tag_ids_vec = self.extract_and_add_sonarr_tag_ids_vec(tag_input_str).await;
.extract_and_add_sonarr_tag_ids_vec(tag_input_string.clone())
.await;
edit_series_params.tags = Some(tag_ids_vec); edit_series_params.tags = Some(tag_ids_vec);
} }
let series_id = edit_series_params.series_id; let series_id = edit_series_params.series_id;
@@ -2291,9 +2285,8 @@ impl<'a, 'b> Network<'a, 'b> {
.await .await
} }
async fn extract_and_add_sonarr_tag_ids_vec(&mut self, edit_tags: String) -> Vec<i64> { async fn extract_and_add_sonarr_tag_ids_vec(&mut self, edit_tags: &str) -> Vec<i64> {
let tags_map = self.app.lock().await.data.sonarr_data.tags_map.clone(); let tags_map = self.app.lock().await.data.sonarr_data.tags_map.clone();
let tags = edit_tags.clone();
let missing_tags_vec = edit_tags let missing_tags_vec = edit_tags
.split(',') .split(',')
.filter(|&tag| !tag.is_empty() && tags_map.get_by_right(tag.to_lowercase().trim()).is_none()) .filter(|&tag| !tag.is_empty() && tags_map.get_by_right(tag.to_lowercase().trim()).is_none())
@@ -2307,7 +2300,7 @@ impl<'a, 'b> Network<'a, 'b> {
} }
let app = self.app.lock().await; let app = self.app.lock().await;
tags edit_tags
.split(',') .split(',')
.filter(|tag| !tag.is_empty()) .filter(|tag| !tag.is_empty())
.map(|tag| { .map(|tag| {
+3 -3
View File
@@ -5290,7 +5290,7 @@ mod test {
#[tokio::test] #[tokio::test]
async fn test_extract_and_add_sonarr_tag_ids_vec() { async fn test_extract_and_add_sonarr_tag_ids_vec() {
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::default()));
let tags = " test,HI ,, usenet ".to_owned(); let tags = " test,HI ,, usenet ";
{ {
let mut app = app_arc.lock().await; let mut app = app_arc.lock().await;
app.data.sonarr_data.tags_map = BiMap::from_iter([ app.data.sonarr_data.tags_map = BiMap::from_iter([
@@ -5319,11 +5319,11 @@ mod test {
None, None,
) )
.await; .await;
let tags = "usenet, test, TESTING".to_owned(); let tags = "usenet, test, TESTING";
{ {
let mut app = app_arc.lock().await; let mut app = app_arc.lock().await;
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal { app.data.sonarr_data.add_series_modal = Some(AddSeriesModal {
tags: tags.clone().into(), tags: tags.into(),
..AddSeriesModal::default() ..AddSeriesModal::default()
}); });
app.data.sonarr_data.tags_map = app.data.sonarr_data.tags_map =