Merge pull request #1269 from bas-vk/console-batch

added batch mode to console
pull/1287/head
Jeffrey Wilcke 10 years ago
commit ae36beb38f
  1. 25
      cmd/console/js.go
  2. 11
      cmd/console/main.go

@ -30,6 +30,7 @@ import (
"sort" "sort"
"github.com/codegangsta/cli"
"github.com/ethereum/go-ethereum/cmd/utils" "github.com/ethereum/go-ethereum/cmd/utils"
"github.com/ethereum/go-ethereum/common/docserver" "github.com/ethereum/go-ethereum/common/docserver"
re "github.com/ethereum/go-ethereum/jsre" re "github.com/ethereum/go-ethereum/jsre"
@ -329,7 +330,29 @@ func (self *jsre) welcome(ipcpath string) {
} }
} }
func (self *jsre) interactive() { func (self *jsre) batch(args cli.Args) {
statement := strings.Join(args, " ")
val, err := self.re.Run(statement)
if err != nil {
fmt.Printf("error: %v", err)
} else if val.IsDefined() && val.IsObject() {
obj, _ := self.re.Get("ret_result")
fmt.Printf("%v", obj)
} else if val.IsDefined() {
fmt.Printf("%v", val)
}
if self.atexit != nil {
self.atexit()
}
self.re.Stop(false)
}
func (self *jsre) interactive(ipcpath string) {
self.welcome(ipcpath)
// Read input lines. // Read input lines.
prompt := make(chan string) prompt := make(chan string)
inputln := make(chan string) inputln := make(chan string)

@ -40,7 +40,7 @@ const (
var ( var (
gitCommit string // set via linker flag gitCommit string // set via linker flag
nodeNameVersion string nodeNameVersion string
app = utils.NewApp(Version, "the ether console") app = utils.NewApp(Version, "the geth console")
) )
func init() { func init() {
@ -93,8 +93,11 @@ func main() {
func run(ctx *cli.Context) { func run(ctx *cli.Context) {
jspath := ctx.GlobalString(utils.JSpathFlag.Name) jspath := ctx.GlobalString(utils.JSpathFlag.Name)
ipcpath := utils.IpcSocketPath(ctx) ipcpath := utils.IpcSocketPath(ctx)
repl := newJSRE(jspath, ipcpath) repl := newJSRE(jspath, ipcpath)
repl.welcome(ipcpath)
repl.interactive() if ctx.Args().Present() {
repl.batch(ctx.Args())
} else {
repl.interactive(ipcpath)
}
} }

Loading…
Cancel
Save