66from subliminal .subtitle import SUBTITLE_EXTENSIONS
77
88from app .event_handler import event_stream
9+ from app .config import settings
10+ from app .database import database , TableShows , TableEpisodes , TableMovies , select
911from languages .get_languages import language_from_alpha2
1012from utilities .path_mappings import path_mappings
1113from utilities .autopulse_webhook import call_external_webhook
1618from radarr .history import history_log_movie
1719from sonarr .notify import notify_sonarr
1820from radarr .notify import notify_radarr
21+ from plex .operations import plex_refresh_item
1922
2023
2124def delete_subtitles (media_type , language , forced , hi , media_path , subtitles_path , sonarr_series_id = None ,
@@ -40,10 +43,19 @@ def delete_subtitles(media_type, language, forced, hi, media_path, subtitles_pat
4043 if media_type == 'series' :
4144 pr = path_mappings .path_replace
4245 prr = path_mappings .path_replace_reverse
46+
47+ metadata = database .execute (
48+ select (TableEpisodes .season , TableEpisodes .episode , TableShows .imdbId )
49+ .join (TableShows )
50+ .where (TableEpisodes .sonarrEpisodeId == sonarr_episode_id )).first ()
4351 else :
4452 pr = path_mappings .path_replace_movie
4553 prr = path_mappings .path_replace_reverse_movie
4654
55+ metadata = database .execute (
56+ select (TableMovies .imdbId )
57+ .where (TableMovies .radarrId == radarr_id )).first ()
58+
4759 result = ProcessSubtitlesResult (message = f"{ language_string } subtitles deleted from disk." ,
4860 reversed_path = prr (media_path ),
4961 downloaded_language_code2 = language_log ,
@@ -67,6 +79,10 @@ def delete_subtitles(media_type, language, forced, hi, media_path, subtitles_pat
6779 notify_sonarr (sonarr_series_id )
6880 event_stream (type = 'series' , action = 'update' , payload = sonarr_series_id )
6981 event_stream (type = 'episode-wanted' , action = 'update' , payload = sonarr_episode_id )
82+
83+ if settings .general .use_plex and settings .plex .update_series_library :
84+ plex_refresh_item (metadata .imdbId , is_movie = False , season = metadata .season ,
85+ episode = metadata .episode )
7086
7187 # Call external webhook after all processing is complete
7288 call_external_webhook (
@@ -89,7 +105,10 @@ def delete_subtitles(media_type, language, forced, hi, media_path, subtitles_pat
89105 store_subtitles_movie (prr (media_path ), media_path )
90106 notify_radarr (radarr_id )
91107 event_stream (type = 'movie-wanted' , action = 'update' , payload = radarr_id )
92-
108+
109+ if settings .general .use_plex and settings .plex .update_movie_library :
110+ plex_refresh_item (metadata .imdbId , is_movie = True )
111+
93112 # Call external webhook after all processing is complete
94113 call_external_webhook (
95114 subtitle_path = subtitles_path ,
0 commit comments