File size: 1,186 Bytes
f176e31
 
 
 
 
 
 
25e642a
f176e31
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import json
import PyPDF2
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 fiile supported"
         )
    
def get_table_data(quiz_str):
     try:
          quiz_dict=json.loads(quiz_str)
          quiz_table_data=[]

          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__)