TestDesk/tools/providers/vceplus.py
2024-05-08 13:59:08 -04:00

72 lines
No EOL
1.6 KiB
Python

def Letter2Number(letter):
if("A" in letter):
return 0
if("B" in letter):
return 1
if("C" in letter):
return 2
if("D" in letter):
return 3
if("E" in letter):
return 4
if("F" in letter):
return 5
if("G" in letter):
return 6
if("H" in letter):
return 7
if("I" in letter):
return 8
if("J" in letter):
return 9
if("K" in letter):
return 10
def ParseVCE(lines):
# Result object
result = []
# Pre-Stuff
tempQuestion = {
"type": 0,
"prompt": "",
"responses": [],
"correct": 0
}
state = 0
# Going through lines
for line in lines:
match(state):
case 0: # Awaiting question
if("QUESTION" in line):
state = 1
case 1: # Writing to prompt
if("A." in line):
state = 2
else:
tempQuestion["prompt"] += line
case 2: # Awaiting for answers
if(line == "" or line == " " or line == "\n" or line == None):
state = 3
case 3: #Adding responses
if(line == "" or line == " " or line == "\n" or line == None):
state = 4
else:
tempQuestion["responses"].append(line)
case 4: # Awaiting for correct answer
if("Correct" in line):
print(line)
tempQuestion["correct"] = Letter2Number(line.split(": ")[1])
elif("Section: " in line):
result.append(tempQuestion)
tempQuestion = {
"type": 0,
"prompt": "",
"responses": [],
"correct": 0
}
state = 0
# Return result
return result