From ad7fca31d412ca605723f777ec56a7e6a45569e7 Mon Sep 17 00:00:00 2001 From: Nikolaus Gotsche Date: Sun, 21 Jan 2018 02:22:46 +0100 Subject: closeTaskTime - made working ... minding local time --- main.go | 39 +++++++++++---------------------------- sqlite.go | 39 ++++++++++++++++++++++++++++++++++++--- 2 files changed, 47 insertions(+), 31 deletions(-) diff --git a/main.go b/main.go index bfce7b8..c572819 100644 --- a/main.go +++ b/main.go @@ -52,6 +52,9 @@ func init() { } func main() { + if len(flag.Args())>0 { + fmt.Println("Unknown Commands: ",flag.Args()) + } fmt.Println("Laboravi Started") initDB("./.mytimes.db") getLastProject() @@ -63,46 +66,26 @@ func main() { } if newproject { - //fmt.Print("Enter Project Name: ") - //var input string - //fmt.Scanln(&input) - //in := bufio.NewReader(os.Stdin) - //line, err := in.ReadString('\n') - //line = strings.TrimSuffix(line, "\n") - //checkErr(err) -// fmt.Println(line) - //newProject(line) newProject() os.Exit(0) } else if newtask { - //fmt.Print("Specify Task: ") - //in := bufio.NewReader(os.Stdin) - //line, err := in.ReadString('\n') - //line = strings.TrimSuffix(line, "\n") - //checkErr(err) - // fmt.Println(line) - //newTask(projectid,line) + showLastProject() + getClosedTasks(0) newTask(projectid) os.Exit(0) } else if stoptask { closeTask() showLastProject() getClosedTasks(0) - //fmt.Print("Soon to Come...") + showOpenTask() } else if (starttime != "now") { - //fmt.Print("Specify Task: ") - //in := bufio.NewReader(os.Stdin) - //line, err := in.ReadString('\n') - //line = strings.TrimSuffix(line, "\n") - //checkErr(err) - //newTaskTime(projectid,line,starttime) - newTaskTime(projectid,starttime) os.Exit(0) - //fmt.Println("HmmmWTF") - //fmt.Print("Soon to Come...") } else if (stoptime != "now") { - fmt.Print("Soon to Come...") + closeTaskTime(stoptime) + showLastProject() + getClosedTasks(0) + showOpenTask() } else if (projectid>0) { setProject(projectid) showLastProject() @@ -120,5 +103,5 @@ func main() { //fmt.Println("Project:",projectid) //fmt.Println("New Project:",newproject) //fmt.Println("svar:",svar) - fmt.Println("Unknown Commands: ",flag.Args()) + //fmt.Println("Unknown Commands: ",flag.Args()) } diff --git a/sqlite.go b/sqlite.go index ce00df6..e6e5845 100644 --- a/sqlite.go +++ b/sqlite.go @@ -120,8 +120,42 @@ func newTask(proj int) { } } +func closeTaskTime(tim string) { + //timt,err := time.Parse("2006-01-02 15:04",tim) + timst,timstr := "1791-09-30 19:07","1791-09-30 19:07" + zone, _ := time.Now().Zone() + if isDate(tim) { + timstr = getDate(tim) + timst = timstr+" "+zone + } else if isTime(tim) { + timstr = time.Now().Local().Format("2006-01-02")+" "+getTime(tim) + timst = timstr+" "+zone + } else { + fmt.Println(tim,"is Not a Valid Timestring! use: 'YYYY-MM-DD HH:MM' or 'HH:MM'") + os.Exit(0) + + } + timt,err := time.Parse("2006-01-02 15:04 MST",timst) + checkErr(err) + + fmt.Println(timst,timt,opentask.start) + if (timt.After(opentask.start)) { + //timstr := timt.UTC().Format("2006-01-02 15:04") + fmt.Println("...Closing Task",opentask.id,"at",timst) + stmt, err := db.Prepare("UPDATE timetable SET stop = datetime(?,'utc') WHERE id = ?") + checkErr(err) + _, err = stmt.Exec(timstr,opentask.id) + checkErr(err) + opentask.id=0 + updateProject(opentask.projectid) + }else{ + fmt.Println("Cannot Stop before the Beginning!") + } + //fmt.Println(tim,timt) +} + func closeTask() { - if (time.Now().After(opentask.start)) { + if (time.Now().After(opentask.start.Local())) { fmt.Println("...Closing Task",opentask.id) stmt, err := db.Prepare("UPDATE timetable SET stop = datetime('now') WHERE id = ?") checkErr(err) @@ -168,7 +202,7 @@ func showOpenTask() { } else { fmt.Println("___Open Task________________") dur := float64(time.Now().Sub(opentask.start))/(1000000000*60*60) - fmt.Printf("%v: %v - (%v) - %.2f h\n",opentask.id, opentask.taskname, opentask.start.Local().Format("Mon Jan _2 2006 15:04"),dur) + fmt.Printf(" %v: %v - (%v) - %.2f h\n",opentask.id, opentask.taskname, opentask.start.Local().Format("Mon Jan _2 2006 15:04"),dur) //fmt.Println(opentask.id,":", opentask.taskname,"-", opentask.start.Local().Format("Mon Jan _2 2006 15:04"),dur,"h") } } @@ -309,7 +343,6 @@ func allProjects() { func getDate(in string) string { r := regexp.MustCompile(`(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2})`) return r.FindString(in) - //fmt.Println(r.FindString(in) } func getTime(in string) string { -- cgit v1.2.3