Beispiel #1
0
func chooseDevice(controller *spotcontrol.SpircController, reader *bufio.Reader) string {
	devices := controller.ListDevices()
	if len(devices) == 0 {
		fmt.Println("no devices")
		return ""
	}

	fmt.Println("\n choose a device:")
	for i, d := range devices {
		fmt.Printf("%v) %v %v \n", i, d.Name, d.Ident)
	}

	for {
		fmt.Print("Enter device number: ")
		text, _ := reader.ReadString('\n')
		i, err := strconv.Atoi(strings.TrimSpace(text))
		if err == nil && i < len(devices) && i >= 0 {
			return devices[i].Ident
		}
		fmt.Println("invalid device number")

	}
}