2024-04-27 09:33:09 +00:00
|
|
|
import copy
|
|
|
|
import sys
|
|
|
|
import os
|
|
|
|
from .detection import language_detector, script_det
|
|
|
|
from conversion.translation.translation_function import translate_comparison, ui_option3_and_4, convert_to_pdf, translate_comparison2
|
|
|
|
from conversion.translation.translation_variables import get_doc_file, get_pdf_save_dir, is_in_translation_list, \
|
|
|
|
get_language_script_code, script_dict, language_script, code_2_language, language_2_code
|
|
|
|
from conversion.translation.final_transliteration_only2 import makeTransliteration_only, add_dual_dialogue
|
|
|
|
from MNF.settings import BasePath
|
|
|
|
from mnfapp.models import MNFScriptDatabase, ScriptTranslations
|
|
|
|
from centralisedFileSystem.models import Script
|
|
|
|
from django.core.files.base import ContentFile
|
|
|
|
from scriptAudit.models import ScriptAuditModel, States
|
|
|
|
from scriptAudit.mnf_script_audit import NeutralAudit
|
2025-05-01 10:08:58 +00:00
|
|
|
import pandas as pd
|
2024-04-27 09:33:09 +00:00
|
|
|
basePath = BasePath()
|
|
|
|
|
|
|
|
|
|
|
|
def ScriptTranslation(*args, **kwargs):
|
|
|
|
"""
|
|
|
|
Translates a file using a audited dataframe
|
|
|
|
:param args:
|
|
|
|
:param kwargs:
|
|
|
|
:return None:
|
|
|
|
"""
|
|
|
|
|
|
|
|
# args
|
|
|
|
# 0 - full_dialogue_option_choices
|
|
|
|
# 1 - sentence_dialogue_option_choices
|
|
|
|
# 2 - sluglines and other choices
|
|
|
|
|
|
|
|
# kwargs
|
|
|
|
# dataframe -
|
|
|
|
# non_dial_src_lang -
|
|
|
|
# non_dial_src_script -
|
|
|
|
# non_dial_dest_lang -
|
|
|
|
# non_dial_dest_script -
|
|
|
|
# dial_src_lang -
|
|
|
|
# dial_src_script -
|
|
|
|
# dial_dest_lang -
|
|
|
|
# dial_dest_script -
|
|
|
|
# script_id -
|
|
|
|
# translation_id
|
|
|
|
|
|
|
|
|
|
|
|
translation_instance = ScriptTranslations.objects.get(translation_id=kwargs['translation_id'])
|
|
|
|
original_script = MNFScriptDatabase.objects.get(script_id=kwargs['script_id'])
|
|
|
|
|
|
|
|
# Free 5 Scene
|
|
|
|
if translation_instance.free_output:
|
|
|
|
breakpoint_5scenes = len(kwargs['dataframe'])
|
|
|
|
scene = 0
|
|
|
|
for idx, line in enumerate(kwargs['dataframe']):
|
|
|
|
if line[3] == "slugline":
|
|
|
|
scene += 1
|
|
|
|
if scene > 5:
|
|
|
|
breakpoint_5scenes = idx
|
|
|
|
break
|
|
|
|
dataframe = copy.deepcopy(kwargs['dataframe'][:breakpoint_5scenes])
|
|
|
|
# creating a copy of original dataframe
|
|
|
|
translated_dataframe = copy.deepcopy(dataframe)
|
|
|
|
|
|
|
|
else:
|
|
|
|
dataframe = copy.deepcopy(kwargs['dataframe'])
|
|
|
|
# creating a copy of original dataframe
|
|
|
|
translated_dataframe = copy.deepcopy(dataframe)
|
|
|
|
|
|
|
|
|
2025-05-01 10:08:58 +00:00
|
|
|
for index, data in enumerate(dataframe):
|
2024-04-27 09:33:09 +00:00
|
|
|
|
|
|
|
if data[3] == 'action':
|
|
|
|
|
|
|
|
if kwargs['non_dial_src_lang'] != kwargs['non_dial_dest_lang']:
|
|
|
|
translated_dataframe[index][2] = translate_comparison2(data[2], kwargs['non_dial_src_lang'],
|
|
|
|
kwargs['non_dial_dest_lang'])
|
|
|
|
current_lang = kwargs['non_dial_dest_lang']
|
|
|
|
current_script = language_script[code_2_language[kwargs['non_dial_dest_lang']]]
|
|
|
|
else:
|
|
|
|
current_lang = kwargs['non_dial_src_lang']
|
|
|
|
current_script = kwargs['non_dial_src_script']
|
|
|
|
|
|
|
|
if current_script != kwargs['non_dial_dest_script']:
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['non_dial_dest_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": current_lang,
|
|
|
|
"src_script": current_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
|
|
|
|
elif data[3] == 'dialogue':
|
|
|
|
|
|
|
|
line_language = language_detector(data[2])
|
|
|
|
line_script = script_det(data[2])
|
|
|
|
|
|
|
|
# case 1
|
|
|
|
if line_language == kwargs['dial_dest_lang'] and line_script == kwargs['dial_dest_script']:
|
|
|
|
|
|
|
|
if args[0][0]:
|
|
|
|
translated_dataframe[index][2] = translate_comparison2(data[2], line_language,
|
|
|
|
kwargs['dial_dest_lang'], kwargs,
|
|
|
|
args[1], True)
|
|
|
|
|
|
|
|
current_script = script_det(data[2])
|
|
|
|
|
|
|
|
if args[0][1] and current_script != kwargs['dial_dest_script']:
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['dial_dest_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": line_language,
|
|
|
|
"src_script": current_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
# case 2
|
|
|
|
elif line_language == kwargs['dial_dest_lang'] and line_script == kwargs['non_dial_dest_script']:
|
|
|
|
|
|
|
|
if args[0][2]:
|
|
|
|
translated_dataframe[index][2] = translate_comparison2(data[2], line_language,
|
|
|
|
kwargs['dial_dest_lang'], kwargs,
|
|
|
|
args[1], True)
|
|
|
|
|
|
|
|
current_script = script_det(data[2])
|
|
|
|
|
|
|
|
if args[0][3] and current_script != kwargs['dial_dest_script']:
|
|
|
|
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": line_script,
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": line_language,
|
|
|
|
"src_script": current_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
|
|
|
|
elif not args[0][3] and current_script != kwargs['non_dial_dest_script']:
|
|
|
|
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['non_dial_dest_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": line_language,
|
|
|
|
"src_script": current_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
# case 3
|
|
|
|
elif line_language == kwargs['non_dial_src_lang'] and line_script == kwargs['dial_dest_script']:
|
|
|
|
|
|
|
|
if args[0][4]:
|
|
|
|
translated_dataframe[index][2] = translate_comparison2(data[2], line_language,
|
|
|
|
kwargs['dial_dest_lang'], kwargs,
|
|
|
|
args[1], True)
|
|
|
|
|
|
|
|
current_lang = language_detector(data[2])
|
|
|
|
current_script = script_det(data[2])
|
|
|
|
|
|
|
|
if current_script != kwargs['dial_dest_script']:
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['dial_dest_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": current_lang,
|
|
|
|
"src_script": current_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
# case 4
|
|
|
|
elif line_language == kwargs['non_dial_src_lang'] and line_script == kwargs['non_dial_dest_script']:
|
|
|
|
if args[0][6]:
|
|
|
|
translated_dataframe[index][2] = translate_comparison2(data[2], line_language,
|
|
|
|
kwargs['dial_dest_lang'], kwargs,
|
|
|
|
args[1], True)
|
|
|
|
|
|
|
|
current_lang = language_detector(data[2])
|
|
|
|
current_script = script_det(data[2])
|
|
|
|
if args[0][7] and current_script != kwargs['dial_dest_script']:
|
|
|
|
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['dial_dest_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": current_lang,
|
|
|
|
"src_script": current_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
elif not args[0][7] and current_script != kwargs['non_dial_dest_script']:
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['non_dial_dest_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": current_lang,
|
|
|
|
"src_script": current_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
# case 5
|
|
|
|
elif line_language == kwargs['non_dial_dest_lang'] and line_script == kwargs['dial_dest_script']:
|
|
|
|
|
|
|
|
if args[0][8]:
|
|
|
|
translated_dataframe[index][2] = translate_comparison2(data[2], line_language,
|
|
|
|
kwargs['dial_dest_lang'], kwargs,
|
|
|
|
args[1], True)
|
|
|
|
|
|
|
|
current_lang = language_detector(data[2])
|
|
|
|
current_script = script_det(data[2])
|
|
|
|
|
|
|
|
if args[0][9] and current_script != kwargs['dial_dest_script']:
|
|
|
|
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['dial_dest_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": current_lang,
|
|
|
|
"src_script": current_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
elif not args[0][9] and current_script != kwargs['non_dial_dest_script']:
|
|
|
|
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['non_dial_dest_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": current_lang,
|
|
|
|
"src_script": current_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
# case 6
|
|
|
|
elif line_language == kwargs['non_dial_dest_lang'] and line_script == kwargs['non_dial_dest_script']:
|
|
|
|
|
|
|
|
if args[0][10]:
|
|
|
|
translated_dataframe[index][2] = translate_comparison2(data[2], line_language,
|
|
|
|
kwargs['dial_dest_lang'], kwargs,
|
|
|
|
args[1], True)
|
|
|
|
|
|
|
|
current_lang = language_detector(data[2])
|
|
|
|
current_script = script_det(data[2])
|
|
|
|
|
|
|
|
if args[0][11] and current_script != kwargs['dial_dest_script']:
|
|
|
|
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['dial_dest_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": current_lang,
|
|
|
|
"src_script": current_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
elif not args[0][11] and current_script != kwargs['non_dial_dest_script']:
|
|
|
|
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['non_dial_dest_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": current_lang,
|
|
|
|
"src_script": current_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
# case 7
|
|
|
|
else:
|
|
|
|
|
|
|
|
if args[0][12]:
|
|
|
|
translated_dataframe[index][2] = translate_comparison2(data[2], line_language,
|
|
|
|
kwargs['dial_dest_lang'], kwargs,
|
|
|
|
args[1], True)
|
|
|
|
current_lang = kwargs['dial_dest_lang']
|
|
|
|
current_script = language_script[code_2_language[current_lang]]
|
|
|
|
else:
|
|
|
|
current_lang = line_language
|
|
|
|
current_script = line_script
|
|
|
|
|
|
|
|
if args[0][13] and current_script != kwargs['dial_dest_script']:
|
|
|
|
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['dial_dest_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": current_lang,
|
|
|
|
"src_script": current_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
|
|
|
|
elif not args[0][13] and current_script != line_script:
|
|
|
|
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": line_script,
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": current_lang,
|
|
|
|
"src_script": current_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
|
|
|
|
elif data[3] == 'slugline':
|
|
|
|
|
|
|
|
if args[2][0]:
|
|
|
|
|
|
|
|
translated_dataframe[index][2] = translate_comparison2(data[2], kwargs['non_dial_src_lang'],
|
|
|
|
kwargs['non_dial_dest_lang'])
|
|
|
|
line_language = kwargs['non_dial_dest_lang']
|
|
|
|
line_script = language_script[code_2_language[kwargs['non_dial_dest_lang']]]
|
|
|
|
|
|
|
|
else:
|
|
|
|
line_language = kwargs['non_dial_src_lang']
|
|
|
|
line_script = kwargs['non_dial_src_script']
|
|
|
|
|
|
|
|
if args[2][1]:
|
|
|
|
|
|
|
|
if line_script != kwargs['non_dial_dest_script']:
|
|
|
|
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['non_dial_dest_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": line_language,
|
|
|
|
"src_script": line_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
if line_script != kwargs['non_dial_src_script']:
|
|
|
|
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['non_dial_src_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": line_language,
|
|
|
|
"src_script": line_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
|
|
|
|
elif data[3] == 'parenthetical':
|
|
|
|
|
|
|
|
|
|
|
|
if args[2][2]:
|
|
|
|
|
|
|
|
translated_dataframe[index][2] = translate_comparison2(data[2], kwargs['non_dial_src_lang'],
|
|
|
|
kwargs['non_dial_dest_lang'])
|
|
|
|
line_language = kwargs['non_dial_dest_lang']
|
|
|
|
line_script = language_script[code_2_language[kwargs['non_dial_dest_lang']]]
|
|
|
|
|
|
|
|
else:
|
|
|
|
line_language = kwargs['non_dial_src_lang']
|
|
|
|
line_script = kwargs['non_dial_src_script']
|
|
|
|
|
|
|
|
if args[2][3]:
|
|
|
|
|
|
|
|
if line_script != kwargs['non_dial_dest_script']:
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['non_dial_dest_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": line_language,
|
|
|
|
"src_script": line_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
if line_script != kwargs['non_dial_src_script']:
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['non_dial_src_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": line_language,
|
|
|
|
"src_script": line_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
|
2025-05-01 10:08:58 +00:00
|
|
|
|
2024-04-27 09:33:09 +00:00
|
|
|
elif data[3] == 'speaker':
|
|
|
|
line_language = kwargs['non_dial_src_lang']
|
|
|
|
line_script = kwargs['non_dial_src_script']
|
|
|
|
|
|
|
|
if args[2][5]:
|
|
|
|
|
|
|
|
if line_script != kwargs['non_dial_dest_script']:
|
|
|
|
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['non_dial_dest_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": line_language,
|
|
|
|
"src_script": line_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
if line_script != kwargs['non_dial_src_script']:
|
|
|
|
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['non_dial_src_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": line_language,
|
|
|
|
"src_script": line_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
|
|
|
|
elif data[3] == 'transition':
|
|
|
|
|
|
|
|
if args[2][6]:
|
|
|
|
|
|
|
|
translated_dataframe[index][2] = translate_comparison2(data[2], kwargs['non_dial_src_lang'],
|
|
|
|
kwargs['non_dial_dest_lang'])
|
|
|
|
line_language = kwargs['non_dial_dest_lang']
|
|
|
|
line_script = language_script[code_2_language[kwargs['non_dial_dest_lang']]]
|
|
|
|
|
|
|
|
else:
|
|
|
|
line_language = kwargs['non_dial_src_lang']
|
|
|
|
line_script = kwargs['non_dial_src_script']
|
|
|
|
|
|
|
|
if args[2][7]:
|
|
|
|
|
|
|
|
if line_script != kwargs['non_dial_dest_script']:
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['non_dial_dest_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": line_language,
|
|
|
|
"src_script": line_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
if line_script != kwargs['non_dial_src_script']:
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['non_dial_src_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": line_language,
|
|
|
|
"src_script": line_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
|
|
|
|
elif data[3] == 'special_term':
|
|
|
|
if args[2][8]:
|
|
|
|
|
|
|
|
translated_dataframe[index][2] = translate_comparison2(data[2], kwargs['non_dial_src_lang'],
|
|
|
|
kwargs['non_dial_dest_lang'])
|
|
|
|
line_language = kwargs['non_dial_dest_lang']
|
|
|
|
line_script = language_script[code_2_language[kwargs['non_dial_dest_lang']]]
|
|
|
|
|
|
|
|
else:
|
|
|
|
line_language = kwargs['non_dial_src_lang']
|
|
|
|
line_script = kwargs['non_dial_src_script']
|
|
|
|
|
|
|
|
if args[2][9]:
|
|
|
|
|
|
|
|
if line_script != kwargs['non_dial_dest_script']:
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['non_dial_dest_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": line_language,
|
|
|
|
"src_script": line_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
if line_script != kwargs['non_dial_src_script']:
|
|
|
|
kwargs2 = {
|
|
|
|
"dest_script": kwargs['non_dial_src_script'],
|
|
|
|
"dual_dial_script": "No",
|
|
|
|
"line": str(data[2]),
|
|
|
|
"lang": line_language,
|
|
|
|
"src_script": line_script,
|
|
|
|
}
|
|
|
|
translated_dataframe[index][2] = makeTransliteration_only(**kwargs2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# if dual_dial_script == "Yes":
|
|
|
|
if translation_instance.dual_dial_script:
|
|
|
|
converted_file = add_dual_dialogue(translated_dataframe, kwargs['dataframe'], kwargs['non_dial_dest_lang'],
|
|
|
|
kwargs['dial_dest_lang'], translation_instance.dual_dial_script,
|
|
|
|
language_2_code[translation_instance.left_dual_dial_lang],
|
|
|
|
translation_instance.left_dual_dial_script)
|
|
|
|
else:
|
|
|
|
converted_file = add_dual_dialogue(translated_dataframe, kwargs['dataframe'], kwargs['non_dial_dest_lang'],
|
|
|
|
kwargs['dial_dest_lang'], translation_instance.dual_dial_script)
|
|
|
|
|
|
|
|
# sample_title = original_script.script_title
|
2025-05-01 10:08:58 +00:00
|
|
|
df_translated = pd.DataFrame(translated_dataframe,columns=["para_no","scene_no","content","script_element"])
|
|
|
|
csv_path = kwargs['csv_path']
|
|
|
|
df_translated.to_csv(csv_path, index=False, encoding="utf-8")
|
2024-04-27 09:33:09 +00:00
|
|
|
if original_script.sample_script:
|
|
|
|
data = [kwargs['dial_src_lang'], kwargs['non_dial_src_lang'], kwargs['non_dial_dest_lang'],
|
|
|
|
kwargs['dial_src_script'], kwargs['dial_dest_script'], kwargs['non_dial_src_script'],
|
|
|
|
kwargs['non_dial_dest_script'], original_script.sample_id.script_title]
|
|
|
|
else:
|
|
|
|
data = []
|
|
|
|
|
|
|
|
|
|
|
|
doc_file = get_doc_file(kwargs['dial_dest_lang'], basePath + "/media/" + original_script.script.name, data)
|
|
|
|
print("Doc Name", doc_file, data)
|
|
|
|
|
|
|
|
if not os.path.exists(f'{basePath}/media/scripts/translated'):
|
|
|
|
os.makedirs(f'{basePath}/media/scripts/translated', mode=0o777)
|
|
|
|
|
|
|
|
|
|
|
|
# Saving the New Translated Doc File
|
|
|
|
if (translation_instance != None):
|
|
|
|
if original_script.sample_script:
|
|
|
|
print(doc_file)
|
2025-05-01 10:08:58 +00:00
|
|
|
|
2024-04-27 09:33:09 +00:00
|
|
|
|
|
|
|
converted_file.save(doc_file)
|
|
|
|
print("convert to pdf called", "and it is inside sample script translations")
|
2025-05-01 10:08:58 +00:00
|
|
|
|
2024-04-27 09:33:09 +00:00
|
|
|
saveFile = doc_file.split('.')[0] + ".pdf"
|
|
|
|
translation_instance.translated_script_path = "/media/" + str(doc_file.split('media')[1])
|
|
|
|
# translation_instance.translated_script_pdf = "/media/" + str(saveFile.split('media')[1])
|
|
|
|
translation_instance.save()
|
|
|
|
return saveFile
|
|
|
|
|
2025-05-01 10:08:58 +00:00
|
|
|
|
2024-04-27 09:33:09 +00:00
|
|
|
|
|
|
|
converted_file.save(doc_file)
|
|
|
|
saveFile = doc_file.split('.')[0] + ".pdf"
|
|
|
|
translation_instance.translated_script_path = "/media/" + str(doc_file.split('media')[1])
|
|
|
|
translation_instance.status = "Translated"
|
2025-05-01 10:08:58 +00:00
|
|
|
translation_instance.converted_audit_id = kwargs['script_id']
|
2024-04-27 09:33:09 +00:00
|
|
|
translation_instance.save()
|
2025-05-01 10:08:58 +00:00
|
|
|
|
2024-04-27 09:33:09 +00:00
|
|
|
original_stdout = sys.stdout
|
2025-05-01 10:08:58 +00:00
|
|
|
|
|
|
|
|
2024-05-24 06:10:17 +00:00
|
|
|
|
2024-04-27 09:33:09 +00:00
|
|
|
sys.stdout = original_stdout
|
|
|
|
return saveFile
|