fileexporter: Include standalone exercices
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
nemunaire 2025-04-07 11:19:44 +02:00
parent 7f38911bbb
commit 961542283d
3 changed files with 19 additions and 14 deletions

View File

@ -72,13 +72,9 @@ func SpeedySyncDeep(i Importer) (errs SyncReport) {
errs.ThemesSync = append(errs.ThemesSync, sterr.Error())
}
if themes, err := fic.GetThemes(); err == nil {
if themes, err := fic.GetThemesExtended(); err == nil {
DeepSyncProgress = 2
if i.Exists(fic.StandaloneExercicesDirectory) {
themes = append(themes, &fic.StandaloneExercicesTheme)
}
var themeStep uint8 = uint8(250) / uint8(len(themes))
for tid, theme := range themes {
@ -143,14 +139,9 @@ func SyncDeep(i Importer) (errs SyncReport) {
}
// Synchronize themes
if themes, err := fic.GetThemes(); err == nil {
if themes, err := fic.GetThemesExtended(); err == nil {
DeepSyncProgress = 2
// Also synchronize standalone exercices
if i.Exists(fic.StandaloneExercicesDirectory) {
themes = append(themes, &fic.StandaloneExercicesTheme)
}
var themeStep uint8 = uint8(250) / uint8(len(themes))
for tid, theme := range themes {

View File

@ -40,6 +40,20 @@ func GetThemes(i Importer) (themes []string, err error) {
return themes, nil
}
// GetThemesExtended returns all theme directories, including standalone exercices.
func GetThemesExtended(i Importer) (themes []string, err error) {
themes, err = GetThemes(i)
if err != nil {
return
}
if i.Exists(fic.StandaloneExercicesDirectory) {
themes = append(themes, fic.StandaloneExercicesDirectory)
}
return
}
// resizePicture makes the given image just fill the given rectangle.
func resizePicture(i Importer, imgPath string, importedPath string, rect image.Rectangle) error {
if fl, err := i.GetFile(imgPath); err != nil {

View File

@ -33,7 +33,7 @@ func exportThemeFiles(tdir string) (errs error) {
dmap := map[int64]*fic.Exercice{}
for i, edir := range exercices {
log.Printf("In theme %s, doing exercice %d/%d: %s", tdir, i, len(exercices), tdir)
log.Printf("In theme %s, doing exercice %d/%d: %s", tdir, i+1, len(exercices), edir)
err = exportExerciceFiles(theme, edir, &dmap, exceptions)
errs = errors.Join(errs, err)
}
@ -155,14 +155,14 @@ func main() {
}
}
themes, err := sync.GetThemes(sync.GlobalImporter)
themes, err := sync.GetThemesExtended(sync.GlobalImporter)
if err != nil {
log.Fatal(err)
}
hasError := false
for i, tdir := range themes {
log.Printf("Doing theme %d/%d: %s", i, len(themes), tdir)
log.Printf("Doing theme %d/%d: %s", i+1, len(themes), tdir)
err = exportThemeFiles(tdir)
if err != nil {
hasError = true