diff --git a/pkg/api/server.go b/pkg/api/server.go index 65454f704..3bc005eeb 100644 --- a/pkg/api/server.go +++ b/pkg/api/server.go @@ -119,7 +119,7 @@ func Start() { return } - _ = os.Mkdir(downloads, 0755) + _ = os.Mkdir(downloads, 0644) config.Set(config.Stash, stash) config.Set(config.Generated, generated) diff --git a/pkg/manager/generator_sprite.go b/pkg/manager/generator_sprite.go index 07805c61f..eb0d943b3 100644 --- a/pkg/manager/generator_sprite.go +++ b/pkg/manager/generator_sprite.go @@ -60,6 +60,9 @@ func (g *SpriteGenerator) Generate() error { } func (g *SpriteGenerator) generateSpriteImage(encoder *ffmpeg.Encoder) error { + if g.imageExists() { + return nil + } logger.Infof("[generator] generating sprite image for %s", g.Info.VideoFile.Path) // Create `this.chunkCount` thumbnails in the tmp directory @@ -109,6 +112,9 @@ func (g *SpriteGenerator) generateSpriteImage(encoder *ffmpeg.Encoder) error { } func (g *SpriteGenerator) generateSpriteVTT(encoder *ffmpeg.Encoder) error { + if g.vttExists() { + return nil + } logger.Infof("[generator] generating sprite vtt for %s", g.Info.VideoFile.Path) spriteImage, err := imaging.Open(g.ImageOutputPath) @@ -134,5 +140,15 @@ func (g *SpriteGenerator) generateSpriteVTT(encoder *ffmpeg.Encoder) error { } vtt := strings.Join(vttLines, "\n") - return ioutil.WriteFile(g.VTTOutputPath, []byte(vtt), 0755) + return ioutil.WriteFile(g.VTTOutputPath, []byte(vtt), 0644) +} + +func (g *SpriteGenerator) imageExists() bool { + exists, _ := utils.FileExists(g.ImageOutputPath) + return exists +} + +func (g *SpriteGenerator) vttExists() bool { + exists, _ := utils.FileExists(g.VTTOutputPath) + return exists } diff --git a/pkg/manager/jsonschema/utils.go b/pkg/manager/jsonschema/utils.go index 362023b17..18e180cf3 100644 --- a/pkg/manager/jsonschema/utils.go +++ b/pkg/manager/jsonschema/utils.go @@ -20,7 +20,7 @@ func marshalToFile(filePath string, j interface{}) error { if err != nil { return err } - return ioutil.WriteFile(filePath, data, 0755) + return ioutil.WriteFile(filePath, data, 0644) } func encode(j interface{}) ([]byte, error) { diff --git a/pkg/utils/file.go b/pkg/utils/file.go index e029c3073..e7088f70f 100644 --- a/pkg/utils/file.go +++ b/pkg/utils/file.go @@ -60,7 +60,7 @@ func Touch(path string) error { func EnsureDir(path string) error { exists, err := FileExists(path) if !exists { - err = os.Mkdir(path, 0755) + err = os.Mkdir(path, 0644) return err } return err