From 5417f3e0bf137a95d30cec9cb632bcc245ce1e85 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Thu, 13 Oct 2016 00:50:10 +0200 Subject: cmd --- runcmd/main.go | 61 ---------------------------------------------------------- 1 file changed, 61 deletions(-) delete mode 100644 runcmd/main.go (limited to 'runcmd') diff --git a/runcmd/main.go b/runcmd/main.go deleted file mode 100644 index e2e5b52..0000000 --- a/runcmd/main.go +++ /dev/null @@ -1,61 +0,0 @@ -package main - -import ( - "log" - "os" - "os/exec" - - "dim13.org/redbutton" -) - -type StateFn func(redbutton.Button) StateFn - -func Init(b redbutton.Button) StateFn { - if b == redbutton.Armed { - log.Println("Ready...") - return Armed - } - return Init -} - -func Armed(b redbutton.Button) StateFn { - if b == redbutton.Pressed { - log.Println("Go!") - go Exec(os.Args[1:]) - return Reset - } - return Init -} - -func Reset(b redbutton.Button) StateFn { - if b == redbutton.Closed { - return Init - } - return Reset -} - -func Exec(args []string) { - cmd := exec.Command(args[0], args[1:]...) - out, err := cmd.CombinedOutput() - if err != nil { - log.Fatal(err) - } - log.Println(string(out)) -} - -func main() { - if len(os.Args) < 2 { - log.Fatal("Usage: ", os.Args[0], " ") - } - - dev, err := redbutton.Open() - if err != nil { - log.Fatal(err) - } - defer dev.Close() - - state := redbutton.Poll(dev) - for stateFn := Init; stateFn != nil; { - stateFn = stateFn(<-state) - } -} -- cgit v1.2.3