main.go 873 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package main
  2. import (
  3. "os"
  4. "fmt"
  5. "time"
  6. "code.google.com/p/getopt"
  7. "devel.mephi.ru/dyokunev/voltlogger_parser/voltloggerParser"
  8. )
  9. func main() {
  10. var dumpPath string
  11. var outputPath string
  12. getopt.StringVar(&dumpPath, 'i', "dump-path")
  13. getopt.StringVar(&outputPath, 'o', "output-path").SetOptional()
  14. getopt.Parse()
  15. if (getopt.NArgs() > 0 || dumpPath == "") {
  16. getopt.Usage()
  17. os.Exit(-2)
  18. }
  19. dump, err := voltloggerReader.ParseVoltloggerDump(dumpPath)
  20. if (err != nil) {
  21. fmt.Printf("Cannot parse the dump: %v\n", err.Error())
  22. os.Exit(-1)
  23. }
  24. if (outputPath == "") {
  25. now := time.Now()
  26. year, month, day := now.Date()
  27. hour, min, sec := now.Clock()
  28. outputPath = fmt.Sprintf("%v_%v-%02v-%02v_%02v:%02v:%02v.csv", dump.DeviceName, year, int(month), day, hour, min, sec)
  29. }
  30. fmt.Printf("%v %v %v\n", dumpPath, outputPath, dump)
  31. }