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> {
info!("Adding new movie to Radarr");
let event = RadarrEvent::AddMovie(add_movie_body.clone());
if let Some(tag_input_string) = add_movie_body.tag_input_string.as_ref() {
let tag_ids_vec = self
.extract_and_add_radarr_tag_ids_vec(tag_input_string.clone())
.await;
if let Some(tag_input_str) = add_movie_body.tag_input_string.as_ref() {
let tag_ids_vec = self.extract_and_add_radarr_tag_ids_vec(tag_input_str).await;
add_movie_body.tags = tag_ids_vec;
}
@@ -629,10 +627,8 @@ impl<'a, 'b> Network<'a, 'b> {
let detail_event = RadarrEvent::GetIndexers;
let event = RadarrEvent::EditIndexer(edit_indexer_params.clone());
let id = edit_indexer_params.indexer_id;
if let Some(tag_input_string) = edit_indexer_params.tag_input_string.as_ref() {
let tag_ids_vec = self
.extract_and_add_radarr_tag_ids_vec(tag_input_string.clone())
.await;
if let Some(tag_input_str) = edit_indexer_params.tag_input_string.as_ref() {
let tag_ids_vec = self.extract_and_add_radarr_tag_ids_vec(tag_input_str).await;
edit_indexer_params.tags = Some(tag_ids_vec);
}
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 detail_event = RadarrEvent::GetMovieDetails(movie_id);
let event = RadarrEvent::EditMovie(edit_movie_params.clone());
if let Some(tag_input_string) = edit_movie_params.tag_input_string.as_ref() {
let tag_ids_vec = self
.extract_and_add_radarr_tag_ids_vec(tag_input_string.clone())
.await;
if let Some(tag_input_str) = edit_movie_params.tag_input_string.as_ref() {
let tag_ids_vec = self.extract_and_add_radarr_tag_ids_vec(tag_input_str).await;
edit_movie_params.tags = Some(tag_ids_vec);
}
@@ -1827,9 +1821,8 @@ impl<'a, 'b> Network<'a, 'b> {
.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 = edit_tags.clone();
let missing_tags_vec = edit_tags
.split(',')
.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;
tags
edit_tags
.split(',')
.filter(|tag| !tag.is_empty())
.map(|tag| {
+3 -3
View File
@@ -3867,7 +3867,7 @@ mod test {
#[tokio::test]
async fn test_extract_and_add_radarr_tag_ids_vec() {
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;
app.data.radarr_data.tags_map = BiMap::from_iter([
@@ -3896,11 +3896,11 @@ mod test {
None,
)
.await;
let tags = "usenet, test, TESTING".to_owned();
let tags = "usenet, test, TESTING";
{
let mut app = app_arc.lock().await;
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal {
tags: tags.clone().into(),
tags: tags.into(),
..EditMovieModal::default()
});
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> {
info!("Adding new series to Sonarr");
let event = SonarrEvent::AddSeries(add_series_body.clone());
if let Some(tag_input_string) = add_series_body.tag_input_string.as_ref() {
let tag_ids_vec = self
.extract_and_add_sonarr_tag_ids_vec(tag_input_string.clone())
.await;
if let Some(tag_input_str) = add_series_body.tag_input_string.as_ref() {
let tag_ids_vec = self.extract_and_add_sonarr_tag_ids_vec(tag_input_str).await;
add_series_body.tags = tag_ids_vec;
}
@@ -640,10 +638,8 @@ impl<'a, 'b> Network<'a, 'b> {
&mut self,
mut edit_indexer_params: EditIndexerParams,
) -> Result<()> {
if let Some(tag_input_string) = edit_indexer_params.tag_input_string.as_ref() {
let tag_ids_vec = self
.extract_and_add_sonarr_tag_ids_vec(tag_input_string.clone())
.await;
if let Some(tag_input_str) = edit_indexer_params.tag_input_string.as_ref() {
let tag_ids_vec = self.extract_and_add_sonarr_tag_ids_vec(tag_input_str).await;
edit_indexer_params.tags = Some(tag_ids_vec);
}
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<()> {
info!("Editing Sonarr series");
if let Some(tag_input_string) = edit_series_params.tag_input_string.as_ref() {
let tag_ids_vec = self
.extract_and_add_sonarr_tag_ids_vec(tag_input_string.clone())
.await;
if let Some(tag_input_str) = edit_series_params.tag_input_string.as_ref() {
let tag_ids_vec = self.extract_and_add_sonarr_tag_ids_vec(tag_input_str).await;
edit_series_params.tags = Some(tag_ids_vec);
}
let series_id = edit_series_params.series_id;
@@ -2291,9 +2285,8 @@ impl<'a, 'b> Network<'a, 'b> {
.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 = edit_tags.clone();
let missing_tags_vec = edit_tags
.split(',')
.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;
tags
edit_tags
.split(',')
.filter(|tag| !tag.is_empty())
.map(|tag| {
+3 -3
View File
@@ -5290,7 +5290,7 @@ mod test {
#[tokio::test]
async fn test_extract_and_add_sonarr_tag_ids_vec() {
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;
app.data.sonarr_data.tags_map = BiMap::from_iter([
@@ -5319,11 +5319,11 @@ mod test {
None,
)
.await;
let tags = "usenet, test, TESTING".to_owned();
let tags = "usenet, test, TESTING";
{
let mut app = app_arc.lock().await;
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal {
tags: tags.clone().into(),
tags: tags.into(),
..AddSeriesModal::default()
});
app.data.sonarr_data.tags_map =