mirror of
https://github.com/dogkeeper886/ollama37.git
synced 2025-12-11 08:17:03 +00:00
routes: use Manifests for ListHandler
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"log/slog"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
@@ -16,6 +17,7 @@ type Manifest struct {
|
||||
ManifestV2
|
||||
|
||||
filepath string
|
||||
fi os.FileInfo
|
||||
digest string
|
||||
}
|
||||
|
||||
@@ -65,6 +67,11 @@ func ParseNamedManifest(n model.Name) (*Manifest, error) {
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
fi, err := f.Stat()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
sha256sum := sha256.New()
|
||||
if err := json.NewDecoder(io.TeeReader(f, sha256sum)).Decode(&m); err != nil {
|
||||
return nil, err
|
||||
@@ -73,6 +80,7 @@ func ParseNamedManifest(n model.Name) (*Manifest, error) {
|
||||
return &Manifest{
|
||||
ManifestV2: m,
|
||||
filepath: p,
|
||||
fi: fi,
|
||||
digest: fmt.Sprintf("%x", sha256sum.Sum(nil)),
|
||||
}, nil
|
||||
}
|
||||
@@ -126,7 +134,8 @@ func Manifests() (map[model.Name]*Manifest, error) {
|
||||
if n.IsValid() {
|
||||
m, err := ParseNamedManifest(n)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
slog.Warn("bad manifest", "name", n, "error", err)
|
||||
continue
|
||||
}
|
||||
|
||||
ms[n] = m
|
||||
|
||||
Reference in New Issue
Block a user