import sys import re def parse_results(results): output = {'gl': '-', 'ir': '-', 'ti': '-', 'up': '-'} for r in results: parts = r.split(' - ') if parts[1] == 'GLOOMY': output['gl'] = parts[0] elif parts[1] == 'IRRITABLE': output['ir'] = parts[0] elif parts[1] == 'TIMID': output['ti'] = parts[0] else: output['up'] = parts[0] return output def generate_result(result): if result == "GOOD": output = "GOOD
🎶
" elif result == "OK": output = "OK
💦
" elif result == "BAD": output = "BAD
💢
" else: output = "-
" return "\n\t\t
" + output + '' def create_table(q, flag, top_a, mid_a, bot_a, top_r, mid_r, bot_r): question = '\n\t\n\t\t' + q + "\n\t" header = "\n\t\n\t\t" + "\n\t\tgloomy" + "\n\t\tirritable" + "\n\t\ttimid" + "\n\t\tupbeat\n\t" top = "\n\t\n\t\t" + top_a + "" + generate_result(top_r['gl']) + generate_result(top_r['ir']) + generate_result(top_r['ti']) + generate_result(top_r['up']) + "\n\t" mid = "\n\t\n\t\t" + mid_a + "" + generate_result(mid_r['gl']) + generate_result(mid_r['ir']) + generate_result(mid_r['ti']) + generate_result(mid_r['up']) + "\n\t" bot = "\n\t\n\t\t" + top_a + "" + generate_result(bot_r['gl']) + generate_result(bot_r['ir']) + generate_result(bot_r['ti']) + generate_result(bot_r['up']) + "\n\t" if flag == "": return "\n" + question + header + top + mid + bot + "\n
" else: return '\n' + question + header + top + mid + bot + "\n
" def convert_file(): outputfile = open('data/output.html', 'w', encoding="utf8") inputfile = open('data/input.html', encoding="utf8") indexfile = open('index.md', encoding="utf8") indexHTML = indexfile.read().split('
') inputHTML = inputfile.read().replace('\n', '').replace('\t', '') inputTables = inputHTML.split("") del inputTables[-1] outputfile.write(indexHTML[0]) outputfile.write('
') for table in inputTables: rows = table.split("") question = rows[0] top = rows[1] mid = rows[2] bot = rows[3] question_text = re.findall(r'(.+?)', question)[0] top_text = re.findall(r'(.+?)', top) mid_text = re.findall(r'(.+?)', mid) bot_text = re.findall(r'(.+?)', bot) top_ans = top_text[0] mid_ans = mid_text[0] bot_ans = bot_text[0] if len(top_text) > 1: top_res = top_text[1].split("
") else: top_res = [] if len(mid_text) > 1: mid_res = mid_text[1].split("
") else: mid_res = [] if len(bot_text) > 1: bot_res = bot_text[1].split("
") else: bot_res = [] if "noAnswer" in question: flag = "noAnswer" elif "notCertain" in question: flag = "notCertain" else: flag = "" outputfile.write(create_table(question_text, flag, top_ans, mid_ans, bot_ans, parse_results(top_res), parse_results(mid_res), parse_results(bot_res))) outputfile.write("\n
") outputfile.close() convert_file()