mirror of
https://github.com/wavetermdev/backup.git
synced 2026-08-05 13:57:07 -07:00
Ensure config dir and keybindings.json file to remove 404 keybindings file not found console error (#513)
* added ensure dir to config dir * removed extraneous slashes
This commit is contained in:
@@ -962,6 +962,11 @@ func main() {
|
||||
log.Printf("[error] %v\n", err)
|
||||
return
|
||||
}
|
||||
_, err = scbase.EnsureConfigDir()
|
||||
if err != nil {
|
||||
log.Printf("[error] ensuring config directory: %v\n", err)
|
||||
return
|
||||
}
|
||||
err = sstore.TryMigrateUp()
|
||||
if err != nil {
|
||||
log.Printf("[error] migrate up: %v\n", err)
|
||||
|
||||
@@ -234,6 +234,46 @@ func GetScreensDir() string {
|
||||
return sdir
|
||||
}
|
||||
|
||||
func EnsureConfigDir() (string, error) {
|
||||
scHome := GetWaveHomeDir()
|
||||
configDir := path.Join(scHome, "config")
|
||||
err := ensureDir(configDir)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
keybindingsFile := path.Join(configDir, "keybindings.json")
|
||||
keybindingsFileObj, err := ensureFile(keybindingsFile)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
if keybindingsFileObj != nil {
|
||||
keybindingsFileObj.WriteString("[]\n")
|
||||
keybindingsFileObj.Close()
|
||||
}
|
||||
return configDir, nil
|
||||
}
|
||||
|
||||
func ensureFile(fileName string) (*os.File, error) {
|
||||
info, err := os.Stat(fileName)
|
||||
var myFile *os.File
|
||||
if errors.Is(err, fs.ErrNotExist) {
|
||||
myFile, err = os.Create(fileName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
log.Printf("[wave] created file %q\n", fileName)
|
||||
info, err = myFile.Stat()
|
||||
}
|
||||
if err != nil {
|
||||
return myFile, err
|
||||
}
|
||||
if info.IsDir() {
|
||||
return myFile, fmt.Errorf("'%s' must be a file", fileName)
|
||||
}
|
||||
return myFile, nil
|
||||
|
||||
}
|
||||
|
||||
func ensureDir(dirName string) error {
|
||||
info, err := os.Stat(dirName)
|
||||
if errors.Is(err, fs.ErrNotExist) {
|
||||
|
||||
Reference in New Issue
Block a user