This commit is contained in:
morpheus65535 2024-03-30 22:21:52 -04:00
parent 9cf2102034
commit dbcaa5337f
1 changed files with 29 additions and 15 deletions

View File

@ -182,7 +182,9 @@ def list_missing_subtitles_movies(no=None, send_event=True):
if any(x['code2'] == language['language'] for x in get_audio_profile_languages( if any(x['code2'] == language['language'] for x in get_audio_profile_languages(
movie_subtitles.audio_language)): movie_subtitles.audio_language)):
continue continue
desired_subtitles_list.append([language['language'], language['forced'], language['hi']]) desired_subtitles_list.append({'language': language['language'],
'forced': language['forced'],
'hi': language['hi']})
# get existing subtitles # get existing subtitles
actual_subtitles_list = [] actual_subtitles_list = []
@ -204,7 +206,9 @@ def list_missing_subtitles_movies(no=None, send_event=True):
elif subtitles[1] == 'hi': elif subtitles[1] == 'hi':
forced = False forced = False
hi = True hi = True
actual_subtitles_list.append([lang, str(forced), str(hi)]) actual_subtitles_list.append({'language': lang,
'forced': str(forced),
'hi': str(hi)})
# check if cutoff is reached and skip any further check # check if cutoff is reached and skip any further check
cutoff_met = False cutoff_met = False
@ -229,24 +233,34 @@ def list_missing_subtitles_movies(no=None, send_event=True):
# get difference between desired and existing subtitles # get difference between desired and existing subtitles
missing_subtitles_list = [] missing_subtitles_list = []
for item in desired_subtitles_list: for item in desired_subtitles_list:
if item not in actual_subtitles_list: if item['forced'] == 'True':
missing_subtitles_list.append(item) desired_item = {'language': item['language'], 'forced': item['forced'], 'hi': 'False'}
if desired_item not in actual_subtitles_list:
# remove missing that have forced or hi subtitles for this language in existing missing_subtitles_list.append(desired_item)
for item in actual_subtitles_list: elif item['hi'] == 'never':
if item[2] == 'True': desired_item = {'language': item['language'], 'forced': item['forced'], 'hi': 'False'}
try: if desired_item not in actual_subtitles_list:
missing_subtitles_list.remove([item[0], 'False', 'False']) missing_subtitles_list.append(desired_item)
except ValueError: elif item['hi'] == 'only':
pass desired_item = {'language': item['language'], 'forced': item['forced'], 'hi': 'True'}
if desired_item not in actual_subtitles_list:
missing_subtitles_list.append(desired_item)
elif item['hi'] == 'also':
desired_items = [{'language': item['language'], 'forced': item['forced'], 'hi': 'True'},
{'language': item['language'], 'forced': item['forced'], 'hi': 'False'}]
if [x for x in desired_items if x in actual_subtitles_list]:
continue
else:
for desired_item in desired_items:
missing_subtitles_list.append(desired_item)
# make the missing languages list looks like expected # make the missing languages list looks like expected
missing_subtitles_output_list = [] missing_subtitles_output_list = []
for item in missing_subtitles_list: for item in missing_subtitles_list:
lang = item[0] lang = item['language']
if item[1] == 'True': if item['forced'] == 'True':
lang += ':forced' lang += ':forced'
elif item[2] == 'True': elif item['hi'] == 'True':
lang += ':hi' lang += ':hi'
missing_subtitles_output_list.append(lang) missing_subtitles_output_list.append(lang)