sync: Allow using challenge.toml instead of challenge.txt
This commit is contained in:
parent
20c41ec573
commit
2140939364
4 changed files with 12 additions and 6 deletions
|
@ -112,7 +112,13 @@ func (p ExerciceParams) GetRawFlags() (ret []string) {
|
||||||
// parseExerciceParams reads challenge definitions from defines.txt and extract usefull data to set up the challenge.
|
// parseExerciceParams reads challenge definitions from defines.txt and extract usefull data to set up the challenge.
|
||||||
func parseExerciceParams(i Importer, exPath string) (p ExerciceParams, md toml.MetaData, err error) {
|
func parseExerciceParams(i Importer, exPath string) (p ExerciceParams, md toml.MetaData, err error) {
|
||||||
var defs string
|
var defs string
|
||||||
|
|
||||||
|
if i.Exists(path.Join(exPath, "challenge.toml")) {
|
||||||
|
defs, err = GetFileContent(i, path.Join(exPath, "challenge.toml"))
|
||||||
|
} else {
|
||||||
defs, err = GetFileContent(i, path.Join(exPath, "challenge.txt"))
|
defs, err = GetFileContent(i, path.Join(exPath, "challenge.txt"))
|
||||||
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,7 +120,7 @@ func buildExerciceHints(i Importer, exercice *fic.Exercice, exceptions *CheckExc
|
||||||
|
|
||||||
// CheckExerciceHints checks if all hints are corrects..
|
// CheckExerciceHints checks if all hints are corrects..
|
||||||
func CheckExerciceHints(i Importer, exercice *fic.Exercice, exceptions *CheckExceptions) ([]importHint, []error) {
|
func CheckExerciceHints(i Importer, exercice *fic.Exercice, exceptions *CheckExceptions) ([]importHint, []error) {
|
||||||
exceptions = exceptions.GetFileExceptions("challenge.txt")
|
exceptions = exceptions.GetFileExceptions("challenge.txt", "challenge.toml")
|
||||||
|
|
||||||
return buildExerciceHints(i, exercice, exceptions)
|
return buildExerciceHints(i, exercice, exceptions)
|
||||||
}
|
}
|
||||||
|
@ -130,7 +130,7 @@ func SyncExerciceHints(i Importer, exercice *fic.Exercice, flagsBindings map[int
|
||||||
if _, err := exercice.WipeHints(); err != nil {
|
if _, err := exercice.WipeHints(); err != nil {
|
||||||
errs = append(errs, err)
|
errs = append(errs, err)
|
||||||
} else {
|
} else {
|
||||||
exceptions = exceptions.GetFileExceptions("challenge.txt")
|
exceptions = exceptions.GetFileExceptions("challenge.txt", "challenge.toml")
|
||||||
|
|
||||||
hints, berrs := buildExerciceHints(i, exercice, exceptions)
|
hints, berrs := buildExerciceHints(i, exercice, exceptions)
|
||||||
errs = append(errs, berrs...)
|
errs = append(errs, berrs...)
|
||||||
|
|
|
@ -513,7 +513,7 @@ func buildExerciceFlags(i Importer, exercice *fic.Exercice, exceptions *CheckExc
|
||||||
|
|
||||||
// CheckExerciceFlags checks if all flags for the given challenge are correct.
|
// CheckExerciceFlags checks if all flags for the given challenge are correct.
|
||||||
func CheckExerciceFlags(i Importer, exercice *fic.Exercice, files []string, exceptions *CheckExceptions) (rf []fic.Flag, errs []error) {
|
func CheckExerciceFlags(i Importer, exercice *fic.Exercice, files []string, exceptions *CheckExceptions) (rf []fic.Flag, errs []error) {
|
||||||
exceptions = exceptions.GetFileExceptions("challenge.txt")
|
exceptions = exceptions.GetFileExceptions("challenge.txt", "challenge.toml")
|
||||||
|
|
||||||
flags, flagsids, berrs := buildExerciceFlags(i, exercice, exceptions)
|
flags, flagsids, berrs := buildExerciceFlags(i, exercice, exceptions)
|
||||||
errs = append(errs, berrs...)
|
errs = append(errs, berrs...)
|
||||||
|
@ -591,7 +591,7 @@ func SyncExerciceFlags(i Importer, exercice *fic.Exercice, exceptions *CheckExce
|
||||||
} else if _, err := exercice.WipeMCQs(); err != nil {
|
} else if _, err := exercice.WipeMCQs(); err != nil {
|
||||||
errs = append(errs, err)
|
errs = append(errs, err)
|
||||||
} else {
|
} else {
|
||||||
exceptions = exceptions.GetFileExceptions("challenge.txt")
|
exceptions = exceptions.GetFileExceptions("challenge.txt", "challenge.toml")
|
||||||
|
|
||||||
flags, flagids, berrs := buildExerciceFlags(i, exercice, exceptions)
|
flags, flagids, berrs := buildExerciceFlags(i, exercice, exceptions)
|
||||||
errs = append(errs, berrs...)
|
errs = append(errs, berrs...)
|
||||||
|
|
|
@ -247,7 +247,7 @@ func main() {
|
||||||
nberr := 0
|
nberr := 0
|
||||||
theme, exceptions, errs := sync.BuildTheme(sync.GlobalImporter, p)
|
theme, exceptions, errs := sync.BuildTheme(sync.GlobalImporter, p)
|
||||||
|
|
||||||
if theme != nil && !sync.GlobalImporter.Exists(path.Join(p, "challenge.txt")) {
|
if theme != nil && !sync.GlobalImporter.Exists(path.Join(p, "challenge.txt")) && !sync.GlobalImporter.Exists(path.Join(p, "challenge.toml")) {
|
||||||
nberr += len(errs)
|
nberr += len(errs)
|
||||||
for _, err := range errs {
|
for _, err := range errs {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
|
|
Reference in a new issue