@ -63,14 +63,21 @@ def update_movies():
return
else :
# Get current movies in DB
current_movies_db = database . execute ( " SELECT tmdbId, path, radarrId FROM table_movies" )
current_movies_db = database . execute ( " SELECT tmdbId, path, radarrId , file_ffprobe FROM table_movies" )
current_movies_db_list = [ x [ ' tmdbId ' ] for x in current_movies_db ]
current_movies_radarr = [ ]
movies_to_update = [ ]
movies_to_add = [ ]
altered_movies = [ ]
path_movies = { }
for item in current_movies_db :
path_movies [ str ( item [ ' tmdbId ' ] ) ] = {
' path ' : item [ ' path ' ] ,
' file_ffprobe ' : item [ ' file_ffprobe ' ]
}
moviesIdListLength = len ( r . json ( ) )
for i , movie in enumerate ( r . json ( ) , 1 ) :
@ -167,51 +174,40 @@ def update_movies():
# Add movies in radarr to current movies list
current_movies_radarr . append ( str ( movie [ ' tmdbId ' ] ) )
info = {
' radarrId ' : int ( movie [ ' id ' ] ) ,
' title ' : movie [ ' title ' ] ,
' path ' : movie [ ' path ' ] + separator + movie [ ' movieFile ' ] [ ' relativePath ' ] ,
' tmdbId ' : str ( movie [ ' tmdbId ' ] ) ,
' poster ' : poster ,
' fanart ' : fanart ,
' audio_language ' : str ( audio_language ) ,
' sceneName ' : sceneName ,
' monitored ' : str ( bool ( movie [ ' monitored ' ] ) ) ,
' year ' : str ( movie [ ' year ' ] ) ,
' sortTitle ' : movie [ ' sortTitle ' ] ,
' alternativeTitles ' : alternativeTitles ,
' format ' : format ,
' resolution ' : resolution ,
' video_codec ' : videoCodec ,
' audio_codec ' : audioCodec ,
' overview ' : overview ,
' imdbId ' : imdbId ,
' movie_file_id ' : int ( movie [ ' movieFile ' ] [ ' id ' ] ) ,
' tags ' : str ( tags ) ,
' file_ffprobe ' : None ,
}
if str ( movie [ ' tmdbId ' ] ) in current_movies_db_list :
movies_to_update . append ( { ' radarrId ' : int ( movie [ " id " ] ) ,
' title ' : movie [ " title " ] ,
' path ' : movie [ " path " ] + separator + movie [ ' movieFile ' ] [ ' relativePath ' ] ,
' tmdbId ' : str ( movie [ " tmdbId " ] ) ,
' poster ' : poster ,
' fanart ' : fanart ,
' audio_language ' : str ( audio_language ) ,
' sceneName ' : sceneName ,
' monitored ' : str ( bool ( movie [ ' monitored ' ] ) ) ,
' year ' : str ( movie [ ' year ' ] ) ,
' sortTitle ' : movie [ ' sortTitle ' ] ,
' alternativeTitles ' : alternativeTitles ,
' format ' : format ,
' resolution ' : resolution ,
' video_codec ' : videoCodec ,
' audio_codec ' : audioCodec ,
' overview ' : overview ,
' imdbId ' : imdbId ,
' movie_file_id ' : int ( movie [ ' movieFile ' ] [ ' id ' ] ) ,
' tags ' : str ( tags ) } )
if info [ ' path ' ] == path_movies [ str ( info [ ' tmdbId ' ] ) ] [ ' path ' ] and path_movies [ str ( info [ ' tmdbId ' ] ) ] [ ' file_ffprobe ' ] is not None :
logging . debug ( ' path is the same. Preserving ffprobe old results for: %s . ' , str ( info [ ' tmdbId ' ] ) )
info [ ' file_ffprobe ' ] = path_movies [ str ( info [ ' tmdbId ' ] ) ] [ ' file_ffprobe ' ]
movies_to_update . append ( info )
else :
movies_to_add . append ( { ' radarrId ' : int ( movie [ " id " ] ) ,
' title ' : movie [ " title " ] ,
' path ' : movie [ " path " ] + separator + movie [ ' movieFile ' ] [ ' relativePath ' ] ,
' tmdbId ' : str ( movie [ " tmdbId " ] ) ,
' subtitles ' : ' [] ' ,
' overview ' : overview ,
' poster ' : poster ,
' fanart ' : fanart ,
' audio_language ' : str ( audio_language ) ,
' sceneName ' : sceneName ,
' monitored ' : str ( bool ( movie [ ' monitored ' ] ) ) ,
' sortTitle ' : movie [ ' sortTitle ' ] ,
' year ' : str ( movie [ ' year ' ] ) ,
' alternativeTitles ' : alternativeTitles ,
' format ' : format ,
' resolution ' : resolution ,
' video_codec ' : videoCodec ,
' audio_codec ' : audioCodec ,
' imdbId ' : imdbId ,
' movie_file_id ' : int ( movie [ ' movieFile ' ] [ ' id ' ] ) ,
' tags ' : str ( tags ) ,
' profileId ' : movie_default_profile } )
info [ ' profileId ' ] = movie_default_profile
movies_to_add . append ( info )
else :
logging . error (
' BAZARR Radarr returned a movie without a file path: ' + movie [ " path " ] + separator +