|
package main |
|
|
|
import ( |
|
"fmt" |
|
"os" |
|
"path/filepath" |
|
|
|
"github.com/mudler/LocalAI/pkg/downloader" |
|
"github.com/mudler/LocalAI/pkg/utils" |
|
"gopkg.in/yaml.v3" |
|
) |
|
|
|
type Asset struct { |
|
FileName string `yaml:"filename"` |
|
URL string `yaml:"url"` |
|
SHA string `yaml:"sha"` |
|
} |
|
|
|
func main() { |
|
|
|
|
|
|
|
assets := []Asset{} |
|
|
|
assetFile := os.Args[1] |
|
destPath := os.Args[2] |
|
|
|
|
|
f, err := os.ReadFile(assetFile) |
|
if err != nil { |
|
panic(err) |
|
} |
|
|
|
if err := yaml.Unmarshal(f, &assets); err != nil { |
|
panic(err) |
|
} |
|
|
|
|
|
for _, asset := range assets { |
|
uri := downloader.URI(asset.URL) |
|
if err := uri.DownloadFile(filepath.Join(destPath, asset.FileName), asset.SHA, 1, 1, utils.DisplayDownloadFunction); err != nil { |
|
panic(err) |
|
} |
|
} |
|
|
|
fmt.Println("Finished downloading assets") |
|
} |
|
|