diff --git a/cmd/ipfs/publish.go b/cmd/ipfs/publish.go index 8e2aa7cc4b37811c2a0f87dc7c6b2828b430e74e..fe473107718bac6350b0adf3f7031dd2567f43b3 100644 --- a/cmd/ipfs/publish.go +++ b/cmd/ipfs/publish.go @@ -1,13 +1,9 @@ package main import ( - "os" - "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/gonuts/flag" "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/commander" "github.com/jbenet/go-ipfs/core/commands" - "github.com/jbenet/go-ipfs/daemon" - u "github.com/jbenet/go-ipfs/util" ) var cmdIpfsPub = &commander.Command{ @@ -24,35 +20,10 @@ func init() { cmdIpfsPub.Flag.String("k", "", "Specify key to use for publishing.") } -func pubCmd(c *commander.Command, inp []string) error { - if len(inp) < 1 { - u.POut(c.Long) - return nil - } - - conf, err := getConfigDir(c.Parent) - if err != nil { - return err - } - - cmd := daemon.NewCommand() - cmd.Command = "publish" - cmd.Args = inp - cmd.Opts["k"] = c.Flag.Lookup("k").Value.Get() - err = daemon.SendCommand(cmd, conf) - if err != nil { - u.DOut("Executing command locally.\n") - // Do locally - conf, err := getConfigDir(c.Parent) - if err != nil { - return err - } - n, err := localNode(conf, true) - if err != nil { - return err - } - - return commands.Publish(n, cmd.Args, cmd.Opts, os.Stdout) - } - return nil -} +var pubCmd = makeCommand(command{ + name: "publish", + args: 1, + flags: []string{"k"}, + online: true, + cmdFn: commands.Publish, +}) diff --git a/cmd/ipfs/resolve.go b/cmd/ipfs/resolve.go index 3665f2a9177fac204665430e9b45427f1d9a4a67..75b9903b591b4de24cd9bd7c4083824f2a436d04 100644 --- a/cmd/ipfs/resolve.go +++ b/cmd/ipfs/resolve.go @@ -1,15 +1,9 @@ package main import ( - "fmt" - "os" - "time" - "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/gonuts/flag" "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/commander" "github.com/jbenet/go-ipfs/core/commands" - "github.com/jbenet/go-ipfs/daemon" - u "github.com/jbenet/go-ipfs/util" ) var cmdIpfsResolve = &commander.Command{ @@ -22,32 +16,10 @@ var cmdIpfsResolve = &commander.Command{ Flag: *flag.NewFlagSet("ipfs-resolve", flag.ExitOnError), } -func resolveCmd(c *commander.Command, inp []string) error { - if len(inp) < 1 { - u.POut(c.Long) - return nil - } - conf, err := getConfigDir(c.Parent) - if err != nil { - return err - } - - cmd := daemon.NewCommand() - cmd.Command = "resolve" - cmd.Args = inp - err = daemon.SendCommand(cmd, conf) - if err != nil { - now := time.Now() - // Resolve requires working DHT - n, err := localNode(conf, true) - if err != nil { - return err - } - - took := time.Now().Sub(now) - fmt.Printf("localNode creation took %s\n", took.String()) - - return commands.Resolve(n, cmd.Args, cmd.Opts, os.Stdout) - } - return nil -} +var resolveCmd = makeCommand(command{ + name: "resolve", + args: 1, + flags: nil, + online: true, + cmdFn: commands.Resolve, +})