diff options
author | Bas van Kervel <bas@ethdev.com> | 2016-04-07 19:48:24 +0800 |
---|---|---|
committer | Bas van Kervel <bas@ethdev.com> | 2016-04-11 19:32:26 +0800 |
commit | 3c5329599c6a07176fb80848f8592c5f90944a31 (patch) | |
tree | 2346e3f01238a91e5d605bffeef29e09b180e016 /cmd/geth/js.go | |
parent | 7e02105672cda92889a78db864a5701d78f45eb2 (diff) | |
download | dexon-3c5329599c6a07176fb80848f8592c5f90944a31.tar dexon-3c5329599c6a07176fb80848f8592c5f90944a31.tar.gz dexon-3c5329599c6a07176fb80848f8592c5f90944a31.tar.bz2 dexon-3c5329599c6a07176fb80848f8592c5f90944a31.tar.lz dexon-3c5329599c6a07176fb80848f8592c5f90944a31.tar.xz dexon-3c5329599c6a07176fb80848f8592c5f90944a31.tar.zst dexon-3c5329599c6a07176fb80848f8592c5f90944a31.zip |
cmd/geth: add JS preload parameter
Diffstat (limited to 'cmd/geth/js.go')
-rw-r--r-- | cmd/geth/js.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/cmd/geth/js.go b/cmd/geth/js.go index a4b14d7b1..b01fd7e36 100644 --- a/cmd/geth/js.go +++ b/cmd/geth/js.go @@ -27,6 +27,7 @@ import ( "sort" "strings" + "github.com/codegangsta/cli" "github.com/ethereum/go-ethereum/cmd/utils" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/registrar" @@ -331,6 +332,23 @@ func (self *jsre) UnlockAccount(addr []byte) bool { } } +// preloadJSFiles loads JS files that the user has specified with ctx.PreLoadJSFlag into +// the JSRE. If not all files could be loaded it will return an error describing the error. +func (self *jsre) preloadJSFiles(ctx *cli.Context) error { + if ctx.GlobalString(utils.PreLoadJSFlag.Name) != "" { + assetPath := ctx.GlobalString(utils.JSpathFlag.Name) + jsFiles := strings.Split(ctx.GlobalString(utils.PreLoadJSFlag.Name), ",") + for _, file := range jsFiles { + filename := common.AbsolutePath(assetPath, strings.TrimSpace(file)) + if err := self.re.Exec(filename); err != nil { + return fmt.Errorf("%s: %v", file, err) + } + } + } + return nil +} + +// exec executes the JS file with the given filename and stops the JSRE func (self *jsre) exec(filename string) error { if err := self.re.Exec(filename); err != nil { self.re.Stop(false) |