Spaces:
Build error
Build error
import os | |
import PyPDF2 | |
import json | |
import traceback | |
def read_file(file): | |
if file.name.endswith(".pdf"): | |
try: | |
pdf_reader = PyPDF2.PdfReader(file) | |
text="" | |
for page in pdf_reader.pages: | |
text+=page.extract_text() | |
return text | |
except Exception as e: | |
raise Exception("error reading the PDF file") | |
elif file.name.endswith(".txt"): | |
return file.read().decode("utf-8") | |
else: | |
raise Exception( | |
"unsupported file format only pdf and text file suppoted" | |
) | |
def get_table_data(quiz_str): | |
try: | |
# convert the quiz from a str to dict | |
quiz_dict=json.loads(quiz_str) | |
quiz_table_data=[] | |
# iterate over the quiz dictionary and extract the required information | |
for key,value in quiz_dict.items(): | |
mcq=value["mcq"] | |
options=" || ".join( | |
[ | |
f"{option}-> {option_value}" for option, option_value in value["options"].items() | |
] | |
) | |
correct=value["correct"] | |
quiz_table_data.append({"MCQ": mcq, "Choices": options, "Correct": correct}) | |
return quiz_table_data | |
except Exception as e: | |
traceback.print_exception(type(e), e, e.__traceback__) | |
return False | |