diff --git a/admin/sync/exercice_defines.go b/admin/sync/exercice_defines.go index 23b119a1..7f208802 100644 --- a/admin/sync/exercice_defines.go +++ b/admin/sync/exercice_defines.go @@ -173,9 +173,7 @@ func getExerciceParams(i Importer, exercice *fic.Exercice) (params ExerciceParam if params, _, err = parseExerciceParams(i, exercice.Path); err != nil { errs = multierr.Append(errs, NewChallengeTxtError(exercice, 0, err)) } else if len(params.Flags) == 0 && len(params.FlagsUCQ) == 0 && len(params.FlagsMCQ) == 0 { - if !params.WIP { - errs = multierr.Append(errs, NewChallengeTxtError(exercice, 0, fmt.Errorf("has no flag"))) - } + errs = multierr.Append(errs, NewChallengeTxtError(exercice, 0, fmt.Errorf("has no flag"))) } else { // Treat legacy UCQ flags as ExerciceFlag for _, flag := range params.FlagsUCQ { diff --git a/admin/sync/exercice_files.go b/admin/sync/exercice_files.go index fe37eba1..8f9d4806 100644 --- a/admin/sync/exercice_files.go +++ b/admin/sync/exercice_files.go @@ -60,7 +60,7 @@ func BuildFilesListInto(i Importer, exercice *fic.Exercice, into string) (files // Parse DIGESTS.txt if digs, err := GetFileContent(i, path.Join(exercice.Path, into, "DIGESTS.txt")); err != nil { errs = multierr.Append(errs, NewExerciceError(exercice, fmt.Errorf("unable to read %s: %w", path.Join(into, "DIGESTS.txt"), err))) - } else if len(digs) > 0 { + } else { digests = map[string][]byte{} for nline, d := range strings.Split(digs, "\n") { if dsplt := strings.SplitN(d, " ", 2); len(dsplt) < 2 { diff --git a/admin/sync/file.go b/admin/sync/file.go index 59b1ec6e..4f720e91 100644 --- a/admin/sync/file.go +++ b/admin/sync/file.go @@ -172,6 +172,10 @@ func GetFileContent(i Importer, URI string) (string, error) { buf = append(buf, b) } + if len(buf) == 0 { + return "", fmt.Errorf("File is empty") + } + return strings.TrimSpace(string(buf)), nil } }