mirror of
https://github.com/morpheus65535/bazarr
synced 2025-02-20 13:07:03 +00:00
Improved how custom post-processing deal with subtitles language modifier (HI and forced). #1516
This commit is contained in:
parent
eb8f482eed
commit
5c5d14c045
4 changed files with 64 additions and 16 deletions
|
@ -857,6 +857,7 @@ class EpisodesSubtitles(Resource):
|
|||
|
||||
language = request.form.get('language')
|
||||
forced = True if request.form.get('forced') == 'on' else False
|
||||
hi = True if request.form.get('hi') == 'on' else False
|
||||
subFile = request.files.get('file')
|
||||
|
||||
_, ext = os.path.splitext(subFile.filename)
|
||||
|
@ -868,6 +869,7 @@ class EpisodesSubtitles(Resource):
|
|||
result = manual_upload_subtitle(path=episodePath,
|
||||
language=language,
|
||||
forced=forced,
|
||||
hi=hi,
|
||||
title=title,
|
||||
scene_name=sceneName,
|
||||
media_type='series',
|
||||
|
@ -1086,6 +1088,7 @@ class MoviesSubtitles(Resource):
|
|||
|
||||
language = request.form.get('language')
|
||||
forced = True if request.form.get('forced') == 'true' else False
|
||||
hi = True if request.form.get('hi') == 'true' else False
|
||||
subFile = request.files.get('file')
|
||||
|
||||
_, ext = os.path.splitext(subFile.filename)
|
||||
|
@ -1097,6 +1100,7 @@ class MoviesSubtitles(Resource):
|
|||
result = manual_upload_subtitle(path=moviePath,
|
||||
language=language,
|
||||
forced=forced,
|
||||
hi=hi,
|
||||
title=title,
|
||||
scene_name=sceneName,
|
||||
media_type='movie',
|
||||
|
|
|
@ -249,7 +249,8 @@ def download_subtitle(path, language, audio_language, hi, forced, providers, pro
|
|||
command = pp_replace(postprocessing_cmd, path, downloaded_path, downloaded_language,
|
||||
downloaded_language_code2, downloaded_language_code3, audio_language,
|
||||
audio_language_code2, audio_language_code3, subtitle.language.forced,
|
||||
percent_score, subtitle_id, downloaded_provider, series_id, episode_id)
|
||||
percent_score, subtitle_id, downloaded_provider, series_id, episode_id,
|
||||
subtitle.language.hi)
|
||||
|
||||
if media_type == 'series':
|
||||
use_pp_threshold = settings.general.getboolean('use_postprocessing_threshold')
|
||||
|
@ -569,7 +570,8 @@ def manual_download_subtitle(path, language, audio_language, hi, forced, subtitl
|
|||
command = pp_replace(postprocessing_cmd, path, downloaded_path, downloaded_language,
|
||||
downloaded_language_code2, downloaded_language_code3, audio_language,
|
||||
audio_language_code2, audio_language_code3, subtitle.language.forced,
|
||||
percent_score, subtitle_id, downloaded_provider, series_id, episode_id)
|
||||
percent_score, subtitle_id, downloaded_provider, series_id, episode_id,
|
||||
subtitle.language.hi)
|
||||
|
||||
if media_type == 'series':
|
||||
use_pp_threshold = settings.general.getboolean('use_postprocessing_threshold')
|
||||
|
@ -610,7 +612,7 @@ def manual_download_subtitle(path, language, audio_language, hi, forced, subtitl
|
|||
logging.debug('BAZARR Ended manually downloading Subtitles for file: ' + path)
|
||||
|
||||
|
||||
def manual_upload_subtitle(path, language, forced, title, scene_name, media_type, subtitle, audio_language):
|
||||
def manual_upload_subtitle(path, language, forced, hi, title, scene_name, media_type, subtitle, audio_language):
|
||||
logging.debug('BAZARR Manually uploading subtitles for this file: ' + path)
|
||||
|
||||
single = settings.general.getboolean('single_language')
|
||||
|
@ -663,11 +665,24 @@ def manual_upload_subtitle(path, language, forced, title, scene_name, media_type
|
|||
return
|
||||
|
||||
subtitle_path = saved_subtitles[0].storage_path
|
||||
message = language_from_alpha3(language) + (" forced" if forced else "") + " Subtitles manually uploaded."
|
||||
|
||||
uploaded_language_code3 = language
|
||||
uploaded_language = language_from_alpha3(uploaded_language_code3)
|
||||
uploaded_language_code2 = alpha2_from_alpha3(uploaded_language_code3)
|
||||
if hi:
|
||||
modifier_string = " HI"
|
||||
elif forced:
|
||||
modifier_string = " forced"
|
||||
else:
|
||||
modifier_string = ""
|
||||
message = language_from_alpha3(language) + modifier_string + " Subtitles manually uploaded."
|
||||
|
||||
if hi:
|
||||
modifier_code = ":hi"
|
||||
elif forced:
|
||||
modifier_code = ":forced"
|
||||
else:
|
||||
modifier_code = ""
|
||||
uploaded_language_code3 = language + modifier_code
|
||||
uploaded_language = language_from_alpha3(language) + modifier_string
|
||||
uploaded_language_code2 = alpha2_from_alpha3(language) + modifier_code
|
||||
audio_language_code2 = alpha2_from_language(audio_language)
|
||||
audio_language_code3 = alpha3_from_language(audio_language)
|
||||
|
||||
|
@ -694,7 +709,8 @@ def manual_upload_subtitle(path, language, forced, title, scene_name, media_type
|
|||
if use_postprocessing :
|
||||
command = pp_replace(postprocessing_cmd, path, subtitle_path, uploaded_language,
|
||||
uploaded_language_code2, uploaded_language_code3, audio_language,
|
||||
audio_language_code2, audio_language_code3, forced, 100, "1", "manual", series_id, episode_id)
|
||||
audio_language_code2, audio_language_code3, forced, 100, "1", "manual", series_id,
|
||||
episode_id, hi=hi)
|
||||
postprocessing(command, path)
|
||||
|
||||
if media_type == 'series':
|
||||
|
|
|
@ -96,16 +96,33 @@ class PathMappings:
|
|||
path_mappings = PathMappings()
|
||||
|
||||
|
||||
def pp_replace(pp_command, episode, subtitles, language, language_code2, language_code3, episode_language, episode_language_code2, episode_language_code3, forced, score, subtitle_id, provider, series_id, episode_id):
|
||||
is_forced = ":forced" if forced else ""
|
||||
is_forced_string = " forced" if forced else ""
|
||||
def pp_replace(pp_command, episode, subtitles, language, language_code2, language_code3, episode_language, episode_language_code2, episode_language_code3, forced, score, subtitle_id, provider, series_id, episode_id, hi):
|
||||
if hi:
|
||||
modifier_string = " HI"
|
||||
elif forced:
|
||||
modifier_string = " forced"
|
||||
else:
|
||||
modifier_string = ""
|
||||
|
||||
if hi:
|
||||
modifier_code = ":hi"
|
||||
modifier_code_dot = ".hi"
|
||||
elif forced:
|
||||
modifier_code = ":forced"
|
||||
modifier_code_dot = ".forced"
|
||||
else:
|
||||
modifier_code = ""
|
||||
modifier_code_dot = ""
|
||||
|
||||
pp_command = pp_command.replace('{{directory}}', os.path.dirname(episode))
|
||||
pp_command = pp_command.replace('{{episode}}', episode)
|
||||
pp_command = pp_command.replace('{{episode_name}}', os.path.splitext(os.path.basename(episode))[0])
|
||||
pp_command = pp_command.replace('{{subtitles}}', str(subtitles))
|
||||
pp_command = pp_command.replace('{{subtitles_language}}', str(language) + is_forced_string)
|
||||
pp_command = pp_command.replace('{{subtitles_language_code2}}', str(language_code2) + is_forced)
|
||||
pp_command = pp_command.replace('{{subtitles_language_code3}}', str(language_code3) + is_forced)
|
||||
pp_command = pp_command.replace('{{subtitles_language}}', str(language) + modifier_string)
|
||||
pp_command = pp_command.replace('{{subtitles_language_code2}}', str(language_code2) + modifier_code)
|
||||
pp_command = pp_command.replace('{{subtitles_language_code3}}', str(language_code3) + modifier_code)
|
||||
pp_command = pp_command.replace('{{subtitles_language_code2_dot}}', str(language_code2) + modifier_code_dot)
|
||||
pp_command = pp_command.replace('{{subtitles_language_code3_dot}}', str(language_code3) + modifier_code_dot)
|
||||
pp_command = pp_command.replace('{{episode_language}}', str(episode_language))
|
||||
pp_command = pp_command.replace('{{episode_language_code2}}', str(episode_language_code2))
|
||||
pp_command = pp_command.replace('{{episode_language_code3}}', str(episode_language_code3))
|
||||
|
|
|
@ -423,14 +423,25 @@ const SettingsSubtitlesView: FunctionComponent = () => {
|
|||
</Message>
|
||||
<Message>
|
||||
<b>{"{{subtitles_language}}"}</b> Language of the subtitles file
|
||||
(may include HI or forced)
|
||||
</Message>
|
||||
<Message>
|
||||
<b>{"{{subtitles_language_code2}}"}</b> 2-letter ISO-639 language
|
||||
code of the subtitles language
|
||||
code of the subtitles language (may include :hi or :forced)
|
||||
</Message>
|
||||
<Message>
|
||||
<b>{"{{subtitles_language_code2_dot}}"}</b> 2-letter ISO-639
|
||||
language code of the subtitles language (same as previous but with
|
||||
dot separator instead of colon)
|
||||
</Message>
|
||||
<Message>
|
||||
<b>{"{{subtitles_language_code3}}"}</b> 3-letter ISO-639 language
|
||||
code of the subtitles language
|
||||
code of the subtitles language (may include :hi or :forced)
|
||||
</Message>
|
||||
<Message>
|
||||
<b>{"{{subtitles_language_code3_dot}}"}</b> 3-letter ISO-639
|
||||
language code of the subtitles language (same as previous but with
|
||||
dot separator instead of colon)
|
||||
</Message>
|
||||
<Message>
|
||||
<b>{"{{episode_language}}"}</b> Audio language of the episode file
|
||||
|
|
Loading…
Reference in a new issue