Allow editing config option after renaming

This commit is contained in:
Philipp Wolfer 2025-05-24 17:54:24 +02:00
parent 1ef498943b
commit 93767df567
No known key found for this signature in database
GPG key ID: 8FDF744D4919943B
3 changed files with 17 additions and 9 deletions

View file

@ -38,10 +38,11 @@ func (b *SpotifyHistoryBackend) Name() string { return "spotify-history" }
func (b *SpotifyHistoryBackend) Options() []models.BackendOption {
return []models.BackendOption{{
Name: "archive-path",
Label: i18n.Tr("Archive path"),
Type: models.String,
Default: "./my_spotify_data_extended.zip",
Name: "archive-path",
Label: i18n.Tr("Archive path"),
Type: models.String,
Default: "./my_spotify_data_extended.zip",
MigrateFrom: "dir-path",
}, {
Name: "ignore-incognito",
Label: i18n.Tr("Ignore listens in incognito mode"),

View file

@ -83,6 +83,12 @@ func PromptExtraOptions(config config.ServiceConfig) (config.ServiceConfig, erro
current, exists := config.ConfigValues[opt.Name]
if exists {
opt.Default = fmt.Sprintf("%v", current)
} else if opt.MigrateFrom != "" {
// If there is an old value to migrate from, try that
fallback, exists := config.ConfigValues[opt.MigrateFrom]
if exists {
opt.Default = fmt.Sprintf("%v", fallback)
}
}
val, err := Prompt(opt)

View file

@ -25,9 +25,10 @@ const (
)
type BackendOption struct {
Name string
Label string
Type OptionType
Default string
Validate func(string) error
Name string
Label string
Type OptionType
Default string
Validate func(string) error
MigrateFrom string
}