From 8f41afed30471dc93cef2987bd72bcebf425382d Mon Sep 17 00:00:00 2001 From: rroller Date: Sat, 16 Nov 2024 21:45:05 -0800 Subject: [PATCH] Fix lint issues --- src/main.go | 3 ++- src/media/fetch.go | 8 +++++++- src/media/serve.go | 8 ++++---- src/media/updater.go | 2 +- tidy.sh | 6 +++++- 5 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/main.go b/src/main.go index 1370778..243fd8e 100644 --- a/src/main.go +++ b/src/main.go @@ -53,7 +53,8 @@ func main() { <-sig // Shutdown signal with grace period of 30 seconds - shutdownCtx, _ := context.WithTimeout(serverCtx, 30*time.Second) + shutdownCtx, cancel := context.WithTimeout(serverCtx, 30*time.Second) + defer cancel() go func() { <-shutdownCtx.Done() diff --git a/src/media/fetch.go b/src/media/fetch.go index b207ba5..3183550 100644 --- a/src/media/fetch.go +++ b/src/media/fetch.go @@ -105,6 +105,9 @@ func getMediaResults(inputUrl string) ([]Media, string, error) { id := GetMD5Hash(url) // Look to see if we already have the media on disk medias, err := getAllFilesForId(id) + if err != nil { + return nil, "", err + } if len(medias) == 0 { // We don't, so go fetch it errMessage := "" @@ -189,11 +192,14 @@ func getAllFilesForId(id string) ([]Media, error) { root := getMediaDirectory(id) file, err := os.Open(root) if err != nil { + if os.IsNotExist(err) { + return nil, nil + } return nil, err } files, _ := file.Readdirnames(0) // 0 to read all files and folders if len(files) == 0 { - return nil, errors.New("ID not found") + return nil, errors.New("ID not found: " + id) } var medias []Media diff --git a/src/media/serve.go b/src/media/serve.go index 2e88d42..a6477b4 100644 --- a/src/media/serve.go +++ b/src/media/serve.go @@ -37,19 +37,19 @@ func streamFileToClientById(w http.ResponseWriter, r *http.Request, id string) { func streamFileToClient(w http.ResponseWriter, r *http.Request, filename string) { // Check if file exists and open - Openfile, err := os.Open(filename) - defer Openfile.Close() //Close after function return + openfile, err := os.Open(filename) if err != nil { //File not found, send 404 http.Error(w, "File not found.", 404) return } + defer openfile.Close() // Get the Content-Type of the file // Create a buffer to store the header of the file in fileHeader := make([]byte, 100) //Copy the headers into the FileHeader buffer - if _, err = Openfile.Read(fileHeader); err != nil { + if _, err = openfile.Read(fileHeader); err != nil { log.Error().Msgf("File not found, couldn't open for reading at %s %v", filename, err) http.Error(w, "File not found", 404) return @@ -64,7 +64,7 @@ func streamFileToClient(w http.ResponseWriter, r *http.Request, filename string) // Send the file // We read n bytes from the file already, so we reset the offset back to 0 - if _, err = Openfile.Seek(0, 0); err != nil { + if _, err = openfile.Seek(0, 0); err != nil { log.Error().Msgf("Error seeking into file %s %v", filename, err) http.Error(w, "File not found", 404) return diff --git a/src/media/updater.go b/src/media/updater.go index ccde2af..e320d6f 100644 --- a/src/media/updater.go +++ b/src/media/updater.go @@ -71,7 +71,7 @@ func GetInstalledVersion() string { log.Error().Err(err).Msgf("Error getting installed version") } - version := strings.TrimSpace(string(s.Bytes())) + version := strings.TrimSpace(s.String()) if version == "" { version = "unknown" } diff --git a/tidy.sh b/tidy.sh index 161acee..4be50ed 100644 --- a/tidy.sh +++ b/tidy.sh @@ -3,4 +3,8 @@ set -ex go get -u ./... go mod tidy -go fmt ./... \ No newline at end of file +go fmt ./... + +curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.62.0 +$(go env GOPATH)/bin/golangci-lint --version +$(go env GOPATH)/bin/golangci-lint run \ No newline at end of file