def markDifferences(pythonCode, prefix): ''' Esta função com a ajuda do "alter_make_transformations" consegue repro duzir o código de python com as tags de html necessária para identificar onde occoreu uma alteração em comparação com o ficheiro de python original ''' sys.path.append('../qom_questions_transformer') from text_transformer.tt_text_transformer_interface import clear from python_transformer.pt_util.pt_util_file import load_source_code_from_file make_transformations_text = alter_make_transformations() file1 = open('altered_make_transformations.py', 'w+') file1.writelines(make_transformations_text) file1.close() import os clear() import importlib.util spec = importlib.util.spec_from_file_location( "altered_make_transformations", os.getcwd() + "\\altered_make_transformations.py") foo = importlib.util.module_from_spec(spec) spec.loader.exec_module(foo) python_module = load_source_code_from_file(pythonCode) if os.path.isfile(prefix + 'seed.txt'): seedFile = get_file_content(prefix + 'seed.txt') seed(int(seedFile)) foo.make_transformations() return python_module.to_string()
def alter_full_program(prefix): sys.path.append('../qom_questions_transformer') from text_transformer.tt_text_transformer_interface import clear from python_transformer.pt_util.pt_util_file import load_source_code_from_file clear() import importlib.util spec = importlib.util.spec_from_file_location( "make_transformations", os.getcwd() + "\\make_transformations.py") foo = importlib.util.module_from_spec(spec) spec.loader.exec_module(foo) python_module = load_source_code_from_file('full_program.py') if os.path.isfile(os.getcwd() + "\\" + prefix + 'seed.txt'): seedFile = get_file_content(os.getcwd() + "\\" + prefix + 'seed.txt') seed(int(seedFile)) else: if os.path.isfile('seed.txt'): seedFile = get_file_content('seed.txt') seed(int(seedFile)) else: seed_value = randint(1000, 9999) create_file('seed.txt', str(seed_value)) seed(int(seed_value)) foo.make_transformations() create_file('altered_full_program.py', python_module.to_string())
def simulateTex_values(text, prefix, seed_value): ''' Esta função com a ajuda do "alter_make_transformations" consegue repro duzir o código de python com as tags de html necessária para identificar onde occoreu uma alteração em comparação com o ficheiro de python original ''' sys.path.append('../qom_questions_transformer') from text_transformer.tt_text_transformer_interface import clear, load_text from python_transformer.pt_util.pt_util_file import load_source_code_from_file make_transformations_text = alter_make_transformations_for_code() file1 = open('altered_make_transformations_for_code.py','w+') file1.writelines(make_transformations_text) file1.close() clear() import importlib.util spec = importlib.util.spec_from_file_location("altered_make_transformations_for_code", os.getcwd() + "\\altered_make_transformations_for_code.py") foo = importlib.util.module_from_spec(spec) spec.loader.exec_module(foo) python_module = load_source_code_from_file('full_program.py') text_module = load_text(text) seed(int(seed_value)) foo.make_transformations() python_module.execute() foo.make_transformations_on_results(python_module) final_text = text_module.to_string() create_file('simulated_tex.tex', final_text)
def simulateTex_values(text, prefix, seed_value): ''' Esta função com a ajuda do "alter_make_transformations" consegue repro duzir o código de python com as tags de html necessária para identificar onde occoreu uma alteração em comparação com o ficheiro de python original ''' sys.path.append('../qom_questions_transformer') from text_transformer.tt_text_transformer_interface import clear, load_text from python_transformer.pt_util.pt_util_file import load_source_code_from_file make_transformations_text = alter_make_transformations_for_code() file1 = open('altered_make_transformations_for_code.py','w+') file1.writelines(make_transformations_text) file1.close() clear() import importlib.util spec = importlib.util.spec_from_file_location("altered_make_transformations_for_code", os.getcwd() + "\\altered_make_transformations_for_code.py") foo = importlib.util.module_from_spec(spec) spec.loader.exec_module(foo) python_module = load_source_code_from_file('full_program.py') text_module = load_text(text) seed(int(seed_value)) foo.make_transformations() python_module.execute() foo.make_transformations_on_results(python_module) text3 = text_module.to_string() ## lines1 = re.split('\n|\n\n',text) ## lines2 = re.split('\n|\n\n',text3) ## final_text = '' ## for i in range(len(lines1)): ## text1 = format_string(lines1[i].split(" ")) ## text2 = format_string(lines2[i].split(" ")) ## for i in range(len(text1)): ## if text1[i] != text2[i]: ## if '<b><i>' in text1[i]: ## final_text += text1[i] + " " ## continue ## final_text += '<b><i>' + text2[i] + '</i></b> ' ## else: ## final_text += text2[i] + " " ## final_text+= '\n' final_text = text3 create_file('simulated_tex.tex', final_text)
def simulateTex(text, prefix): ''' Esta função com a ajuda do "alter_make_transformations" consegue repro duzir o código de python com as tags de html necessária para identificar onde occoreu uma alteração em comparação com o ficheiro de python original ''' sys.path.append('../qom_questions_transformer') from text_transformer.tt_text_transformer_interface import clear, load_text from python_transformer.pt_util.pt_util_file import load_source_code_from_file make_transformations_text = alter_make_transformations() file1 = open('altered_make_transformations.py','w+') file1.writelines(make_transformations_text) file1.close() clear() import importlib.util spec = importlib.util.spec_from_file_location("altered_make_transformations", os.getcwd() + "\\altered_make_transformations.py") foo = importlib.util.module_from_spec(spec) spec.loader.exec_module(foo) seed_value= 0 text_module = load_text(get_file_content(text)) if os.path.isfile(os.getcwd() + "\\" + prefix + 'seed.txt'): seedFile = get_file_content(os.getcwd() + "\\" + prefix + 'seed.txt') seed_value=int(seedFile) seed(int(seedFile)) else: if os.path.isfile('seed.txt'): seedFile = get_file_content('seed.txt') seed(int(seedFile)) else: seed_value = randint(1000, 9999) create_file('seed.txt', str(seed_value)) seed(int(seed_value)) foo.make_transformations() alter_full_program(prefix) simulateTex_values(text_module.to_string(),prefix, seed_value)