Add new helper string related to justified MCQ flag

This commit is contained in:
nemunaire 2018-12-02 04:52:15 +01:00
commit c5b65289d3
10 changed files with 121 additions and 69 deletions

View file

@ -0,0 +1,31 @@
package fic
import (
"errors"
"strings"
"strconv"
)
type FlagLabel struct {
Label string
IdChoice int64
Checksum []byte
Solved bool
}
// IsMCQJustification tells you if this key represent a justification from a MCQ.
func (k Flag) IsMCQJustification() (bool) {
return len(k.Label) > 0 && k.Label[0] == '%'
}
// GetMCQJustification returns the structure corresponding to the given flag.
func (k Flag) GetMCQJustification() (fl FlagLabel, err error) {
spl := strings.Split(k.Label, "%")
if len(spl) >= 3 && len(spl[0]) == 0 {
fl.IdChoice, err = strconv.ParseInt(spl[1], 10, 64)
fl.Label = strings.Join(spl[2:], "%")
} else {
err = errors.New("This is not a MCQ justification")
}
return
}