diff --git a/app.py b/app.py index 853d683..c25bd80 100644 --- a/app.py +++ b/app.py @@ -24,6 +24,7 @@ def quiz(): """ Handle upload and conversion of file + other stuff """ UPLOAD_STATUS = False + questions = dict() # Make directory to store uploaded files, if not exists if not os.path.isdir('./pdf'): @@ -36,13 +37,13 @@ def quiz(): file_path = os.path.join( app.config['UPLOAD_FOLDER'], secure_filename(uploaded_file.filename)) file_exten = uploaded_file.filename.rsplit('.', 1)[1].lower() - questions = '' # Save uploaded file uploaded_file.save(file_path) # Get contents of file uploaded_content = pdf2text(file_path, file_exten) questions = txt2questions(uploaded_content) + print(questions) # File upload + convert success if uploaded_content is not None: diff --git a/templates/index.html b/templates/index.html index de22e51..10c00a0 100644 --- a/templates/index.html +++ b/templates/index.html @@ -1,102 +1,81 @@ - - - - - - - MLH Quizzet - - - +
+
+ upload + +
+ -
+ Choose a file… + + No file uploaded + +
- - - - -
- + + + + + - - + button.addEventListener('click', toggleClass); + button.addEventListener('transitionend', toggleClass); + button.addEventListener('transitionend', addClass); + + + \ No newline at end of file diff --git a/templates/quiz.html b/templates/quiz.html index 97d2f55..a62ca75 100644 --- a/templates/quiz.html +++ b/templates/quiz.html @@ -1,28 +1,29 @@ - - - - - - MLH Quizzet - - - + + + + + + MLH Quizzet + + + - + - {% if uploaded == true %} - {% for i in range(size) %} -
-
-
-
-

{{ i+1 }}. {{ questions[i+1]['question'] }}

-
-
- {% for j in questions[i+1]['options'] %} - {% if questions[i+1]['options'][j+1] == questions[i+1]['answer'] %} - -
- {% else %} - -
- {% endif %} - {% endfor %} -
-
- -
+ {% if uploaded == true %} + {% for i in range(size) %} +
+
+
+
+

{{ i+1 }}. {{ questions[i+1]['question'] }}

+
+
+ {% for op in questions[i+1]['options'] %} + {% if op == questions[i+1]['answer'] %} + +
+ {% else %} + +
+ {% endif %} + {% endfor %} +
+
+ +
-{% endfor %} -{% else %} -

Could not upload file

-{% endif %} + {% endfor %} + {% else %} +
+

Could not upload file

+
+ {% endif %} - + - + \ No newline at end of file diff --git a/workers.py b/workers.py index 0e224ed..b2b0ff5 100644 --- a/workers.py +++ b/workers.py @@ -2,7 +2,7 @@ from PyPDF2 import PdfFileReader from question_generation_main import QuestionGeneration -def pdf2text(file_path, file_exten) -> str: +def pdf2text(file_path: str, file_exten: str) -> str: """ Converts a given file to text content """ _content = '' @@ -11,9 +11,9 @@ def pdf2text(file_path, file_exten) -> str: if file_exten == 'pdf': with open(file_path, 'rb') as pdf_file: _pdf_reader = PdfFileReader(pdf_file) - # for p in range(_pdf_reader.numPages): - # _content += _pdf_reader.getPage(p).extractText() - _content = _pdf_reader.getPage(0).extractText() + for p in range(_pdf_reader.numPages): + _content += _pdf_reader.getPage(p).extractText() + # _content = _pdf_reader.getPage(0).extractText() print('PDF operation done!') elif file_exten == 'txt': @@ -24,8 +24,15 @@ def pdf2text(file_path, file_exten) -> str: return _content -def txt2questions(doc, n=1, o=4): +def txt2questions(doc: str, n=1, o=4) -> dict: """ Get all questions and options """ qGen = QuestionGeneration(n, o) - return qGen.generate_questions_dict(doc) + q = qGen.generate_questions_dict(doc) + for i in range(len(q)): + temp = [] + for j in range(len(q[i+1]['options'])): + temp.append(q[i+1]['options'][j+1]) + # print(temp) + q[i+1]['options'] = temp + return q