mirror of
https://github.com/photoprism/photoprism.git
synced 2025-10-05 00:43:09 +08:00
45 lines
1.1 KiB
Go
45 lines
1.1 KiB
Go
package commands
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/urfave/cli/v2"
|
|
|
|
"github.com/photoprism/photoprism/internal/ai/vision"
|
|
"github.com/photoprism/photoprism/internal/config"
|
|
"github.com/photoprism/photoprism/pkg/clean"
|
|
"github.com/photoprism/photoprism/pkg/fs"
|
|
)
|
|
|
|
// visionSaveFlags specifies the available command flags.
|
|
var visionSaveFlags = []cli.Flag{
|
|
&cli.BoolFlag{
|
|
Name: "force",
|
|
Aliases: []string{"f"},
|
|
Usage: "replaces an existing vision.yml file",
|
|
},
|
|
}
|
|
|
|
// VisionSaveCommand writes the model configuration to vision.yml.
|
|
var VisionSaveCommand = &cli.Command{
|
|
Name: "save",
|
|
Usage: "Saves the current model configuration to the vision.yml file",
|
|
Flags: visionSaveFlags,
|
|
Action: visionSaveAction,
|
|
}
|
|
|
|
// visionListAction displays existing user accounts.
|
|
func visionSaveAction(ctx *cli.Context) error {
|
|
return CallWithDependencies(ctx, func(conf *config.Config) error {
|
|
force := ctx.Bool("force")
|
|
|
|
fileName := conf.VisionYaml()
|
|
|
|
if !force && fs.FileExistsNotEmpty(fileName) {
|
|
return fmt.Errorf("%s already exists", clean.Log(fileName))
|
|
}
|
|
|
|
return vision.Config.Save(fileName)
|
|
})
|
|
}
|