This should be safe for CSV and others.
We probably want to do a similar thing with messages (commands).
Remember: we should not log the raw data. (security issue)
As detailed in previous commit with the unit-test (which now pass),
the regex is as follows :
(?<candidate>[a-zA-Z]{1})(?<grade>[0-9]{1})
We have room to support more than 25 candidates or 10 grades in the future.
Right now, this is enough, let's move on !
This is the type of thing that will benefit a lot from unit tests,
bacause we'll be able to quickly experiment feeding it malicious data,
since that data will come from userland and may not be trusted.
We're going to start with the following syntax :
<candidate><grade>
such as
A2
means give grade #2 (passable) to candidate A
Grades (when there are 6):
0. TO_REJECT .0
1. POOR .1
2. PASSABLE .2
3. GOOD .3
4. VERY_GOOD .4
5. EXCELLENT .5
This will require showing ABC letters in the results gui… Hmmm.