mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-06-04 06:04:39 -04:00
33 lines
562 B
Go
33 lines
562 B
Go
package src
|
|
|
|
import (
|
|
"crypto/sha1"
|
|
"encoding/hex"
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
"time"
|
|
)
|
|
|
|
func printExecTime(message string, args ...any) func() {
|
|
msg := fmt.Sprintf(message, args...)
|
|
start := time.Now()
|
|
log.Printf("Running %s", msg)
|
|
|
|
return func() {
|
|
log.Printf("%s finished in %s", msg, time.Since(start))
|
|
}
|
|
}
|
|
|
|
func GetHash(path string) (string, error) {
|
|
info, err := os.Stat(path)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
h := sha1.New()
|
|
h.Write([]byte(path))
|
|
h.Write([]byte(info.ModTime().String()))
|
|
sha := hex.EncodeToString(h.Sum(nil))
|
|
return sha, nil
|
|
}
|