admin/sync: handle exercice gain from toml file: defines.txt

This commit is contained in:
nemunaire 2018-01-10 03:45:56 +01:00
parent e7d3e34c0b
commit 332aa90931
2 changed files with 30 additions and 2 deletions

View File

@ -0,0 +1,20 @@
package sync
import (
"path"
"github.com/BurntSushi/toml"
)
type ExerciceParams struct {
Gain int64
}
func parseExerciceParams(i Importer, exPath string) (p ExerciceParams, err error) {
var defs string
defs, err = getFileContent(i, path.Join(exPath, "defines.txt"))
_, err = toml.Decode(defs, &p)
return
}

View File

@ -78,8 +78,16 @@ func SyncExercices(i Importer, theme fic.Theme) []string {
continue
}
// TODO: calculate gain
var gain int64 = 42
// Handle score gain
var gain int64
if p, err := parseExerciceParams(i, path.Join(theme.Name, edir)); err != nil {
errs = append(errs, fmt.Sprintf("%q: defines.txt: %s", edir, err))
continue
} else if p.Gain == 0 {
errs = append(errs, fmt.Sprintf("%q: defines.txt: Undefined gain for challenge", edir))
} else {
gain = p.Gain
}
// Handle video
videoURI, err := findResolutionMovie(i, path.Join(theme.Name, edir))