sync: alert about unknown keys in challenge.txt

This commit is contained in:
nemunaire 2019-07-21 22:31:43 +02:00
commit c8ece39cb2
3 changed files with 19 additions and 6 deletions

View file

@ -64,11 +64,14 @@ type ExerciceParams struct {
}
// parseExerciceParams reads challenge definitions from defines.txt and extract usefull data to set up the challenge.
func parseExerciceParams(i Importer, exPath string) (p ExerciceParams, err error) {
func parseExerciceParams(i Importer, exPath string) (p ExerciceParams, md toml.MetaData, err error) {
var defs string
defs, err = getFileContent(i, path.Join(exPath, "challenge.txt"))
if err != nil {
return
}
_, err = toml.Decode(defs, &p)
md, err = toml.Decode(defs, &p)
return
}
@ -76,7 +79,7 @@ func parseExerciceParams(i Importer, exPath string) (p ExerciceParams, err error
// getExerciceParams returns normalized
func getExerciceParams(i Importer, exercice fic.Exercice) (params ExerciceParams, errs []string) {
var err error
if params, err = parseExerciceParams(i, exercice.Path); err != nil {
if params, _, err = parseExerciceParams(i, exercice.Path); err != nil {
errs = append(errs, fmt.Sprintf("%q: challenge.txt: %s", path.Base(exercice.Path), err))
} else if len(params.Flags) == 0 && len(params.FlagsUCQ) == 0 && len(params.FlagsMCQ) == 0 {
errs = append(errs, fmt.Sprintf("%q: has no flag", path.Base(exercice.Path)))