forked from TrueCloudLab/frostfs-node
[#747] neofs-adm: Support ~
for paths in config
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
parent
b5cadff2c3
commit
aa0955f15d
3 changed files with 26 additions and 2 deletions
24
cmd/neofs-adm/internal/modules/config/util.go
Normal file
24
cmd/neofs-adm/internal/modules/config/util.go
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
package config
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ResolveHomePath replaces leading `~`
|
||||||
|
// with home directory.
|
||||||
|
//
|
||||||
|
// Does nothing if path does not start
|
||||||
|
// with contain `~`.
|
||||||
|
func ResolveHomePath(path string) string {
|
||||||
|
homeDir, _ := os.UserHomeDir()
|
||||||
|
|
||||||
|
if path == "~" {
|
||||||
|
path = homeDir
|
||||||
|
} else if strings.HasPrefix(path, "~/") {
|
||||||
|
path = filepath.Join(homeDir, path[2:])
|
||||||
|
}
|
||||||
|
|
||||||
|
return path
|
||||||
|
}
|
|
@ -36,7 +36,7 @@ func generateAlphabetCreds(cmd *cobra.Command, args []string) error {
|
||||||
return errors.New("size must be > 0")
|
return errors.New("size must be > 0")
|
||||||
}
|
}
|
||||||
|
|
||||||
walletDir := viper.GetString(alphabetWalletsFlag)
|
walletDir := config.ResolveHomePath(viper.GetString(alphabetWalletsFlag))
|
||||||
pwds, err := initializeWallets(walletDir, int(size))
|
pwds, err := initializeWallets(walletDir, int(size))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -90,7 +90,7 @@ func initializeSideChainCmd(cmd *cobra.Command, args []string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func newInitializeContext(cmd *cobra.Command, v *viper.Viper) (*initializeContext, error) {
|
func newInitializeContext(cmd *cobra.Command, v *viper.Viper) (*initializeContext, error) {
|
||||||
walletDir := v.GetString(alphabetWalletsFlag)
|
walletDir := config.ResolveHomePath(viper.GetString(alphabetWalletsFlag))
|
||||||
wallets, err := openAlphabetWallets(walletDir)
|
wallets, err := openAlphabetWallets(walletDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
Loading…
Reference in a new issue