Files
stash/pkg/manager/task_generate_gallery_thumbs.go
WithoutPants c104c6d075 Generate content for specific scenes (#672)
* Add UI dialog for scene(s)
* Move preview preset to config
2020-07-19 11:59:18 +10:00

40 lines
930 B
Go

package manager
import (
"sync"
"github.com/stashapp/stash/pkg/logger"
"github.com/stashapp/stash/pkg/manager/paths"
"github.com/stashapp/stash/pkg/models"
"github.com/stashapp/stash/pkg/utils"
)
type GenerateGthumbsTask struct {
Gallery models.Gallery
Overwrite bool
}
func (t *GenerateGthumbsTask) Start(wg *sync.WaitGroup) {
defer wg.Done()
generated := 0
count := t.Gallery.ImageCount()
for i := 0; i < count; i++ {
thumbPath := paths.GetGthumbPath(t.Gallery.Checksum, i, models.DefaultGthumbWidth)
exists, _ := utils.FileExists(thumbPath)
if !t.Overwrite && exists {
continue
}
data := t.Gallery.GetThumbnail(i, models.DefaultGthumbWidth)
err := utils.WriteFile(thumbPath, data)
if err != nil {
logger.Errorf("error writing gallery thumbnail: %s", err)
} else {
generated++
}
}
if generated > 0 {
logger.Infof("Generated %d thumbnails for %s", generated, t.Gallery.Path)
}
}