aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorViktor TrĂ³n <viktor.tron@gmail.com>2018-09-27 13:10:22 +0800
committerGitHub <noreply@github.com>2018-09-27 13:10:22 +0800
commite39a9b3480af0ac8044294f46e0e9e4c3948d23c (patch)
treebb213b42cbbcea6ceeb982eee1f0d09efcdb1b44
parentc3cfdfacd00bf61c3f6ffaf7714b084f62de635c (diff)
parent09dde380f906b943eb834b7b93c1afa0c2e49b46 (diff)
downloadgo-tangerine-e39a9b3480af0ac8044294f46e0e9e4c3948d23c.tar
go-tangerine-e39a9b3480af0ac8044294f46e0e9e4c3948d23c.tar.gz
go-tangerine-e39a9b3480af0ac8044294f46e0e9e4c3948d23c.tar.bz2
go-tangerine-e39a9b3480af0ac8044294f46e0e9e4c3948d23c.tar.lz
go-tangerine-e39a9b3480af0ac8044294f46e0e9e4c3948d23c.tar.xz
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
-rw-r--r--cmd/swarm/config.go10
-rw-r--r--cmd/swarm/upload.go6
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:]