From e7155609c7edea2bd579cecd0c94bf0572fbebf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Louis=20V=C3=A9zina?= <5130500+morpheus65535@users.noreply.github.com> Date: Tue, 2 Apr 2019 22:22:51 -0400 Subject: [PATCH] Fix for embedded subtitles indexed even if use embedded subtitles is false. --- bazarr/list_subtitles.py | 82 ++++++++++++++++++++-------------------- 1 file changed, 42 insertions(+), 40 deletions(-) diff --git a/bazarr/list_subtitles.py b/bazarr/list_subtitles.py index 9edadfa09..a70607069 100644 --- a/bazarr/list_subtitles.py +++ b/bazarr/list_subtitles.py @@ -31,26 +31,27 @@ def store_subtitles(file): actual_subtitles = [] if os.path.exists(file): notifications.write(msg='Analyzing this file for subtitles: ' + file, queue='list_subtitles') - if os.path.splitext(file)[1] == '.mkv': - logging.debug("BAZARR is trying to index embedded subtitles.") - try: - with open(file, 'rb') as f: - mkv = enzyme.MKV(f) - - for subtitle_track in mkv.subtitle_tracks: - try: - if alpha2_from_alpha3(subtitle_track.language) is not None: - lang = str(alpha2_from_alpha3(subtitle_track.language)) - logging.debug("BAZARR embedded subtitles detected: " + lang) - actual_subtitles.append([lang, None]) - except: - logging.debug("BAZARR unable to index this unrecognized language: " + subtitle_track.language) - pass - except Exception as e: - logging.exception("BAZARR error when trying to analyze this mkv file: " + file) - pass - else: - logging.debug("BAZARR This file isn't an .mkv file.") + if settings.general.getboolean('use_embedded_subs'): + if os.path.splitext(file)[1] == '.mkv': + logging.debug("BAZARR is trying to index embedded subtitles.") + try: + with open(file, 'rb') as f: + mkv = enzyme.MKV(f) + + for subtitle_track in mkv.subtitle_tracks: + try: + if alpha2_from_alpha3(subtitle_track.language) is not None: + lang = str(alpha2_from_alpha3(subtitle_track.language)) + logging.debug("BAZARR embedded subtitles detected: " + lang) + actual_subtitles.append([lang, None]) + except: + logging.debug("BAZARR unable to index this unrecognized language: " + subtitle_track.language) + pass + except Exception as e: + logging.exception("BAZARR error when trying to analyze this mkv file: " + file) + pass + else: + logging.debug("BAZARR This file isn't an .mkv file.") brazilian_portuguese = [".pt-br", ".pob", "pb"] try: @@ -116,26 +117,27 @@ def store_subtitles_movie(file): actual_subtitles = [] if os.path.exists(file): notifications.write(msg='Analyzing this file for subtitles: ' + file, queue='list_subtitles') - if os.path.splitext(file)[1] == '.mkv': - logging.debug("BAZARR is trying to index embedded subtitles.") - try: - with open(file, 'rb') as f: - mkv = enzyme.MKV(f) - - for subtitle_track in mkv.subtitle_tracks: - try: - if alpha2_from_alpha3(subtitle_track.language) is not None: - lang = str(alpha2_from_alpha3(subtitle_track.language)) - logging.debug("BAZARR embedded subtitles detected: " + lang) - actual_subtitles.append([lang, None]) - except: - logging.debug("BAZARR unable to index this unrecognized language: " + subtitle_track.language) - pass - except Exception as e: - logging.exception("BAZARR error when trying to analyze this mkv file: " + file) - pass - else: - logging.debug("BAZARR This file isn't an .mkv file.") + if settings.general.getboolean('use_embedded_subs'): + if os.path.splitext(file)[1] == '.mkv': + logging.debug("BAZARR is trying to index embedded subtitles.") + try: + with open(file, 'rb') as f: + mkv = enzyme.MKV(f) + + for subtitle_track in mkv.subtitle_tracks: + try: + if alpha2_from_alpha3(subtitle_track.language) is not None: + lang = str(alpha2_from_alpha3(subtitle_track.language)) + logging.debug("BAZARR embedded subtitles detected: " + lang) + actual_subtitles.append([lang, None]) + except: + logging.debug("BAZARR unable to index this unrecognized language: " + subtitle_track.language) + pass + except Exception as e: + logging.exception("BAZARR error when trying to analyze this mkv file: " + file) + pass + else: + logging.debug("BAZARR This file isn't an .mkv file.") dest_folder = get_subtitle_destination_folder() subliminal_patch.core.CUSTOM_PATHS = [dest_folder] if dest_folder else []