diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2016-04-12 17:00:42 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2016-04-12 17:00:42 +0800 |
commit | 934f587bd5c38a36e8b8c8647a9e600d1751ff2f (patch) | |
tree | 342555f160d5141b9e4a44d0d4504edb0337dce8 /cmd/geth/js.go | |
parent | e456451a89042fd477f8c05de25a1a1265e4b65b (diff) | |
parent | 3c5329599c6a07176fb80848f8592c5f90944a31 (diff) | |
download | dexon-934f587bd5c38a36e8b8c8647a9e600d1751ff2f.tar dexon-934f587bd5c38a36e8b8c8647a9e600d1751ff2f.tar.gz dexon-934f587bd5c38a36e8b8c8647a9e600d1751ff2f.tar.bz2 dexon-934f587bd5c38a36e8b8c8647a9e600d1751ff2f.tar.lz dexon-934f587bd5c38a36e8b8c8647a9e600d1751ff2f.tar.xz dexon-934f587bd5c38a36e8b8c8647a9e600d1751ff2f.tar.zst dexon-934f587bd5c38a36e8b8c8647a9e600d1751ff2f.zip |
Merge pull request #2431 from bas-vk/js-preload
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) |