Skip to content
Snippets Groups Projects
Commit d260b437 authored by Simon Will's avatar Simon Will
Browse files

Make dev.py print the verse if an error occurs.

parent ca8fbd9f
No related branches found
No related tags found
No related merge requests found
......@@ -4,6 +4,7 @@
import argparse
import json
import random
import traceback
from typing import List
from unidecode import unidecode
......@@ -18,6 +19,7 @@ def dev(reference_verses, number=10, randomize=False) -> List[Verse]:
scanner = Scanner()
all_analyses = []
correct = 0
errors = 0
if randomize:
sample = random.sample(reference_verses, number)
......@@ -27,7 +29,12 @@ def dev(reference_verses, number=10, randomize=False) -> List[Verse]:
for ref in sample:
ref_reading = ref.readings[0]
analysis = scanner.scan_verses([unidecode(ref.text)])[0]
try:
analysis = scanner.scan_verses([unidecode(ref.text)])[0]
except:
errors += 1
print('ERROR at verse {}'.format(ref.text))
traceback.print_exc()
all_analyses.append(analysis)
correct_schema = ref_reading.get_schema()
......@@ -46,9 +53,10 @@ def dev(reference_verses, number=10, randomize=False) -> List[Verse]:
for reading in analysis.readings:
print(' {}'.format(reading.format_differences(ref_reading)))
print('Correct: {}/{} ({:.2f})'
print('Correct: {}/{} ({:.2f})\n{} program errors'
.format(correct, len(sample),
correct / len(sample)))
correct / len(sample),
errors))
return all_analyses
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment