Commit b51ef1fb authored by NilanDMeegoda's avatar NilanDMeegoda

Merge branch 'master' into attention_new_ui

parents 3a7a0c21 57844861
...@@ -414,23 +414,24 @@ def predictArithmetic(): ...@@ -414,23 +414,24 @@ def predictArithmetic():
candidateID = request.form.get('candidateID') candidateID = request.form.get('candidateID')
print(questionIndex) print(questionIndex)
if file is None or file.filename == "": if file is None or file.filename == "":
return jsonify({'error: no file'}) return jsonify({"error": "no file"})
try: try:
file.save("./"+file.filename) file.save("./"+file.filename)
prediction = transform_audio(file.filename) prediction = transform_audio(file.filename)
data = {'prediction': prediction} activityName = "Arithmetic"
analysis = reasoningIQScoreCalculator(activityName,questionIndex,prediction)
db.db['reasoningIQScore'].insert_one({ db.db['reasoningIQScore'].insert_one({
"activityName": "Arithmetic", "activityName": activityName,
"candidateID": candidateID, "candidateID": candidateID,
"questionIndex": questionIndex, "questionIndex": questionIndex,
"transcription": prediction, "transcription": prediction,
"score":analysis[0],
"expectedAnswer":analysis[1]
}) })
return jsonify(data) return jsonify({"msg": "Prediction completed"})
except: except:
return jsonify({'error: Error during pipeline execution'}) return jsonify({"error": "Error during pipeline execution"})
return jsonify({'result: test'})
# Mental Chronometry data management # Mental Chronometry data management
......
import React, { useState, useEffect } from "react"; import React, { useState, useEffect, useRef } from "react";
import "./Arithmetic.css"; import "./Arithmetic.css";
import Timer from "../timer/Timer"; import Timer from "../timer/Timer";
import { RecordingHandler } from "../recorder/Recorder"; import { RecordingHandler } from "../recorder/Recorder";
import { imgSrcArray } from "./imageSet";
const Arithmetic = ({ nextActivity }) => { const Arithmetic = ({ nextActivity }) => {
const effectRan = useRef(false);
const [allCompleted, setAllCompleted] = useState(false); const [allCompleted, setAllCompleted] = useState(false);
const [activityIndex, setActivityIndex] = useState(1); const [activityIndex, setActivityIndex] = useState(1);
const imgSrcArray = [
"https://i.ibb.co/10pQ5gp/image-27.png",
"https://i.ibb.co/4KGpx50/Screenshot-2022-10-10-232236.jpg",
"https://i.ibb.co/Bckx5FR/arithmatic3.png",
];
const switchActivityHandler = () => { const switchActivityHandler = () => {
if (activityIndex < 3) { if (activityIndex < 3) {
let activityNo = activityIndex + 1; let activityNo = activityIndex + 1;
setActivityIndex(activityNo); setActivityIndex(activityNo);
RecordingHandler(`PC.wav`, activityNo, "pc");
} else { } else {
setAllCompleted(true); setAllCompleted(true);
} }
}; };
useEffect(() => { useEffect(() => {
RecordingHandler(`AR.wav`, activityIndex, "ar"); // RecordingHandler(`AR.wav`, activityIndex, "ar");
if (effectRan.current === false) {
RecordingHandler(`AR.wav`, activityIndex, "ar");
return () => {
console.log("unmounted");
effectRan.current = true;
};
}
}, [activityIndex]); }, [activityIndex]);
useEffect(() => { useEffect(() => {
...@@ -42,27 +47,6 @@ const Arithmetic = ({ nextActivity }) => { ...@@ -42,27 +47,6 @@ const Arithmetic = ({ nextActivity }) => {
/> />
</div> </div>
)} )}
{allCompleted && (
<div className="w-4/6 h-4/6 m-auto">
{" "}
<img
className="m-auto"
src="https://i.ibb.co/sJWJZsD/completed.png"
alt="pattern"
/>
</div>
)}
{allCompleted && (
<button
className="float-right bg-transparent hover:bg-red-500 text-red-700 font-semibold hover:text-white py-2 px-4 border border-red-500 hover:border-transparent rounded"
onClick={() => {
nextActivity();
}}
>
Next Activity
</button>
)}
{!allCompleted && <Timer switchActivity={switchActivityHandler} />} {!allCompleted && <Timer switchActivity={switchActivityHandler} />}
</div> </div>
); );
......
export const imgSrcArray = [
"https://i.ibb.co/10pQ5gp/image-27.png",
"https://i.ibb.co/4KGpx50/Screenshot-2022-10-10-232236.jpg",
"https://i.ibb.co/Bckx5FR/arithmatic3.png",
];
...@@ -99,12 +99,7 @@ const PictureConcept = ({ nextActivity }) => { ...@@ -99,12 +99,7 @@ const PictureConcept = ({ nextActivity }) => {
Next Activity Next Activity
</button> </button>
)} )}
{!allCompleted && ( {!allCompleted && <Timer switchActivity={switchActivityHandler} />}
<Timer
activityIndex={activityIndex}
switchActivity={switchActivityHandler}
/>
)}
{!allCompleted && <div></div>} {!allCompleted && <div></div>}
</div> </div>
); );
......
...@@ -67,12 +67,12 @@ const uploadRecording = async (file, fileName, questionIndex, activityName) => { ...@@ -67,12 +67,12 @@ const uploadRecording = async (file, fileName, questionIndex, activityName) => {
}); });
} }
if (activityName === "ar") { if (activityName === "ar") {
// await API.post(`predictArithmetic`, data, config) await API.post(`predictArithmetic`, data, config)
// .then((res) => { .then((res) => {
// console.log(res, "DONE" + new Date().toISOString); console.log(res, "DONE");
// }) })
// .catch((err) => { .catch((err) => {
// console.log(err, "ERROR" + new Date().toISOString); console.log(err, "ERROR");
// }); });
} }
}; };
...@@ -21,13 +21,7 @@ const Timer = ({ switchActivity }) => { ...@@ -21,13 +21,7 @@ const Timer = ({ switchActivity }) => {
rotation={"counterclockwise"} rotation={"counterclockwise"}
size={100} size={100}
strokeWidth={8} strokeWidth={8}
onUpdate={(remainingTime) => {
if (remainingTime === 15) {
console.log("TIMER START");
}
}}
onComplete={() => { onComplete={() => {
console.log("TIMER STOP");
// change activity // change activity
switchActivity(); switchActivity();
return { shouldRepeat: true, delay: 0 }; // repeat animation in 1.5 seconds return { shouldRepeat: true, delay: 0 }; // repeat animation in 1.5 seconds
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment