diff options
author | Viktor TrĂ³n <viktor.tron@gmail.com> | 2018-09-27 13:10:22 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-27 13:10:22 +0800 |
commit | e39a9b3480af0ac8044294f46e0e9e4c3948d23c (patch) | |
tree | bb213b42cbbcea6ceeb982eee1f0d09efcdb1b44 /cmd | |
parent | c3cfdfacd00bf61c3f6ffaf7714b084f62de635c (diff) | |
parent | 09dde380f906b943eb834b7b93c1afa0c2e49b46 (diff) | |
download | go-tangerine-e39a9b3480af0ac8044294f46e0e9e4c3948d23c.tar.gz go-tangerine-e39a9b3480af0ac8044294f46e0e9e4c3948d23c.tar.zst go-tangerine-e39a9b3480af0ac8044294f46e0e9e4c3948d23c.zip |
Merge pull request #17755 from JekaMas/implement-home-directory-expansion
cmd/swarm: use expandPath for swarm cli path parameters
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/swarm/config.go | 10 | ||||
-rw-r--r-- | cmd/swarm/upload.go | 6 |
2 files changed, 13 insertions, 3 deletions
diff --git a/cmd/swarm/config.go b/cmd/swarm/config.go index ae4b5816e..c2f885d25 100644 --- a/cmd/swarm/config.go +++ b/cmd/swarm/config.go @@ -124,7 +124,7 @@ func initSwarmNode(config *bzzapi.Config, stack *node.Node, ctx *cli.Context) { //get the account for the provided swarm account prvkey := getAccount(config.BzzAccount, ctx, stack) //set the resolved config path (geth --datadir) - config.Path = stack.InstanceDir() + config.Path = expandPath(stack.InstanceDir()) //finally, initialize the configuration config.Init(prvkey) //configuration phase completed here @@ -182,7 +182,7 @@ func cmdLineOverride(currentConfig *bzzapi.Config, ctx *cli.Context) *bzzapi.Con if ctx.GlobalIsSet(utils.DataDirFlag.Name) { if datadir := ctx.GlobalString(utils.DataDirFlag.Name); datadir != "" { - currentConfig.Path = datadir + currentConfig.Path = expandPath(datadir) } } @@ -226,6 +226,10 @@ func cmdLineOverride(currentConfig *bzzapi.Config, ctx *cli.Context) *bzzapi.Con if len(ensAPIs) == 1 && ensAPIs[0] == "" { ensAPIs = nil } + for i := range ensAPIs { + ensAPIs[i] = expandPath(ensAPIs[i]) + } + currentConfig.EnsAPIs = ensAPIs } @@ -268,7 +272,7 @@ func envVarsOverride(currentConfig *bzzapi.Config) (config *bzzapi.Config) { } if datadir := os.Getenv(GETH_ENV_DATADIR); datadir != "" { - currentConfig.Path = datadir + currentConfig.Path = expandPath(datadir) } bzzport := os.Getenv(SWARM_ENV_PORT) diff --git a/cmd/swarm/upload.go b/cmd/swarm/upload.go index 9eae2a3f8..f76cb1b98 100644 --- a/cmd/swarm/upload.go +++ b/cmd/swarm/upload.go @@ -138,6 +138,12 @@ func upload(ctx *cli.Context) { // 3. cleans the path, e.g. /a/b/../c -> /a/c // Note, it has limitations, e.g. ~someuser/tmp will not be expanded func expandPath(p string) string { + if i := strings.Index(p, ":"); i > 0 { + return p + } + if i := strings.Index(p, "@"); i > 0 { + return p + } if strings.HasPrefix(p, "~/") || strings.HasPrefix(p, "~\\") { if home := homeDir(); home != "" { p = home + p[1:] |