main.go 947 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package main
  2. import (
  3. "bufio"
  4. "fmt"
  5. "os"
  6. "sparrow/pkg/server"
  7. "strings"
  8. )
  9. func main() {
  10. // init server
  11. err := server.Init("pdcfg")
  12. if err != nil {
  13. fmt.Printf("pdcfg init error : %s\n", err)
  14. return
  15. }
  16. cmdHandler := NewCommandHander()
  17. cmdHandler.SetHandler("vendor", DoVendorCommand)
  18. cmdHandler.SetHandler("product", DoProductCommand)
  19. cmdHandler.SetHandler("application", DoApplicationCommand)
  20. reader := bufio.NewReader(os.Stdin)
  21. for {
  22. fmt.Printf("> ")
  23. line, err := reader.ReadString('\n')
  24. if err != nil {
  25. fmt.Println(err)
  26. continue
  27. }
  28. fragments := strings.Split(line, " ")
  29. if len(fragments) < 1 {
  30. fmt.Println("wrong command.")
  31. continue
  32. }
  33. cmd := strings.TrimSpace(fragments[0])
  34. handler, err := cmdHandler.GetHandler(cmd)
  35. if err != nil {
  36. fmt.Printf("Error: %v \n", err)
  37. continue
  38. }
  39. args := fragments[1:]
  40. err = handler(args)
  41. if err != nil {
  42. fmt.Println(err)
  43. continue
  44. }
  45. }
  46. }