From d6ada236169c4a1f5a427d40d83cbce8a7e01ff5 Mon Sep 17 00:00:00 2001 From: EnameEtavir <84581448+EnameEtavir@users.noreply.github.com> Date: Tue, 25 May 2021 10:40:51 +0200 Subject: [PATCH] Fix: unhandled errors (#1419) As these errors where not explicitly ignored with _, I made changes to make sure they bubble up. --- pkg/api/resolver_mutation_scene.go | 3 +++ pkg/api/resolver_query_configuration.go | 18 +++++++++++++----- pkg/api/resolver_query_find_image.go | 3 +++ pkg/api/resolver_query_find_scene.go | 3 +++ pkg/ffmpeg/downloader.go | 3 +++ pkg/manager/generator_sprite.go | 3 +++ pkg/manager/task_stash_box_tag.go | 3 +++ pkg/utils/file.go | 10 ++++++---- 8 files changed, 37 insertions(+), 9 deletions(-) diff --git a/pkg/api/resolver_mutation_scene.go b/pkg/api/resolver_mutation_scene.go index 2a187bf1b..b73acabed 100644 --- a/pkg/api/resolver_mutation_scene.go +++ b/pkg/api/resolver_mutation_scene.go @@ -406,6 +406,9 @@ func (r *mutationResolver) ScenesDestroy(ctx context.Context, input models.Scene sceneID, _ := strconv.Atoi(id) scene, err := qb.Find(sceneID) + if err != nil { + return err + } if scene != nil { scenes = append(scenes, scene) } diff --git a/pkg/api/resolver_query_configuration.go b/pkg/api/resolver_query_configuration.go index 7c450e9f9..0f553dc0f 100644 --- a/pkg/api/resolver_query_configuration.go +++ b/pkg/api/resolver_query_configuration.go @@ -13,17 +13,25 @@ func (r *queryResolver) Configuration(ctx context.Context) (*models.ConfigResult } func (r *queryResolver) Directory(ctx context.Context, path *string) (*models.Directory, error) { + + directory := &models.Directory{} + var err error + var dirPath = "" if path != nil { dirPath = *path } currentDir := utils.GetDir(dirPath) + directories, err := utils.ListDir(currentDir) + if err != nil { + return directory, err + } - return &models.Directory{ - Path: currentDir, - Parent: utils.GetParent(currentDir), - Directories: utils.ListDir(currentDir), - }, nil + directory.Path = currentDir + directory.Parent = utils.GetParent(currentDir) + directory.Directories = directories + + return directory, err } func makeConfigResult() *models.ConfigResult { diff --git a/pkg/api/resolver_query_find_image.go b/pkg/api/resolver_query_find_image.go index d3112e440..cd6cbf94c 100644 --- a/pkg/api/resolver_query_find_image.go +++ b/pkg/api/resolver_query_find_image.go @@ -21,6 +21,9 @@ func (r *queryResolver) FindImage(ctx context.Context, id *string, checksum *str } image, err = qb.Find(idInt) + if err != nil { + return err + } } else if checksum != nil { image, err = qb.FindByChecksum(*checksum) } diff --git a/pkg/api/resolver_query_find_scene.go b/pkg/api/resolver_query_find_scene.go index be250e101..b55839dc8 100644 --- a/pkg/api/resolver_query_find_scene.go +++ b/pkg/api/resolver_query_find_scene.go @@ -19,6 +19,9 @@ func (r *queryResolver) FindScene(ctx context.Context, id *string, checksum *str return err } scene, err = qb.Find(idInt) + if err != nil { + return err + } } else if checksum != nil { scene, err = qb.FindByChecksum(*checksum) } diff --git a/pkg/ffmpeg/downloader.go b/pkg/ffmpeg/downloader.go index 7d4374070..e99716cbf 100644 --- a/pkg/ffmpeg/downloader.go +++ b/pkg/ffmpeg/downloader.go @@ -217,6 +217,9 @@ func unzip(src, configDirectory string) error { } rc, err := f.Open() + if err != nil { + return err + } unzippedPath := filepath.Join(configDirectory, filename) unzippedOutput, err := os.Create(unzippedPath) diff --git a/pkg/manager/generator_sprite.go b/pkg/manager/generator_sprite.go index 457ad4ca5..bbd1b92c4 100644 --- a/pkg/manager/generator_sprite.go +++ b/pkg/manager/generator_sprite.go @@ -120,6 +120,9 @@ func (g *SpriteGenerator) generateSpriteVTT(encoder *ffmpeg.Encoder) error { defer spriteImage.Close() spriteImageName := filepath.Base(g.ImageOutputPath) image, _, err := image.DecodeConfig(spriteImage) + if err != nil { + return err + } width := image.Width / g.Columns height := image.Height / g.Rows diff --git a/pkg/manager/task_stash_box_tag.go b/pkg/manager/task_stash_box_tag.go index f7d9888ba..597655e9f 100644 --- a/pkg/manager/task_stash_box_tag.go +++ b/pkg/manager/task_stash_box_tag.go @@ -174,6 +174,9 @@ func (t *StashBoxPerformerTagTask) stashBoxPerformerTag() { return err } err = r.Performer().UpdateImage(t.performer.ID, image) + if err != nil { + return err + } } if err == nil { diff --git a/pkg/utils/file.go b/pkg/utils/file.go index 00189a704..616678fa3 100644 --- a/pkg/utils/file.go +++ b/pkg/utils/file.go @@ -106,21 +106,23 @@ func EmptyDir(path string) error { } // ListDir will return the contents of a given directory path as a string slice -func ListDir(path string) []string { +func ListDir(path string) ([]string, error) { + var dirPaths []string files, err := ioutil.ReadDir(path) if err != nil { path = filepath.Dir(path) files, err = ioutil.ReadDir(path) + if err != nil { + return dirPaths, err + } } - - var dirPaths []string for _, file := range files { if !file.IsDir() { continue } dirPaths = append(dirPaths, filepath.Join(path, file.Name())) } - return dirPaths + return dirPaths, nil } // GetHomeDirectory returns the path of the user's home directory. ~ on Unix and C:\Users\UserName on Windows