summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolaus Gotsche <n@softwarefools.com>2018-01-21 02:22:46 +0100
committerNikolaus Gotsche <n@softwarefools.com>2018-01-21 02:22:46 +0100
commitad7fca31d412ca605723f777ec56a7e6a45569e7 (patch)
treee6cac6f905c36053d15ae4339c884a86ade98ed5
parent7d8d1f9a7e46ffecc9eafc27aea10c01183255c8 (diff)
closeTaskTime - made working ... minding local time
-rw-r--r--main.go39
-rw-r--r--sqlite.go39
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 {