This commit is contained in:
Ayush Baluni 2026-04-02 21:53:44 -07:00 committed by GitHub
commit cfac2b7c67
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -22,6 +22,7 @@ import (
"bytes" "bytes"
"crypto/sha256" "crypto/sha256"
"encoding/hex" "encoding/hex"
"errors"
"fmt" "fmt"
"io" "io"
"iter" "iter"
@ -180,12 +181,16 @@ func (db *ChecksumDB) DownloadFile(url, dstPath string) error {
return fmt.Errorf("no known hash for file %q", basename) return fmt.Errorf("no known hash for file %q", basename)
} }
// Shortcut if already downloaded. // Shortcut if already downloaded.
if verifyHash(dstPath, hash) == nil { verifyErr := verifyHash(dstPath, hash)
if verifyErr == nil {
fmt.Printf("%s is up-to-date\n", dstPath) fmt.Printf("%s is up-to-date\n", dstPath)
return nil return nil
} }
if errors.Is(verifyErr, os.ErrNotExist) {
fmt.Printf("%s is stale\n", dstPath) fmt.Printf("%s not found, downloading\n", dstPath)
} else {
fmt.Printf("%s is stale\n", dstPath)
}
fmt.Printf("downloading from %s\n", url) fmt.Printf("downloading from %s\n", url)
resp, err := http.Get(url) resp, err := http.Get(url)
if err != nil { if err != nil {