summaryrefslogtreecommitdiff
path: root/main.go
blob: 6681bb4398f6621311609913ad89d212bf093e57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
package main

import (
    "fmt"
    "flag"
    _ "log"
    //"bufio"
    "os"
    //"strings"
    _ "os/exec"
)

//var svar string
var starttime,stoptime string
var projectid, edittaskid, editprojectid int
var newproject, newtask, stoptask, allproj bool

func init() {

    flag.BoolVar(&allproj,
        "all",
        false,
        "Show all Projects")
    flag.BoolVar(&newtask,
        "startnow",
        false,
        "Start a new Task in current project")
    flag.IntVar(&edittaskid,
        "edittask",
        0,
        "Specify which Task to edit")
    flag.IntVar(&editprojectid,
        "editproject",
        0,
        "Specify which project to edit")
    flag.IntVar(&projectid,
        "project",
        0,
        "Specify which project to track")
    flag.BoolVar(&stoptask,
        "stopnow",
        false,
        "Stop the currently open task")
    flag.StringVar(&starttime,
        "start",
        "now",
        "Start a new Task in current project\nFormat: 'YYYY-MM-DD HH:MM' or 'HH:MM'")
    flag.StringVar(&stoptime,
        "stop",
        "now",
        "Stop to Track the current Task\nFormat: 'YYYY-MM-DD HH:MM' or 'HH:MM'")
    flag.BoolVar(&newproject,
        "new",
        false,
        "Create a new project")
    //flag.StringVar(&svar, "svar", "bar", "A String Var")

    flag.Parse()

}

func main() {
    if len(flag.Args())>0 {
        fmt.Println("Unknown Commands: ",flag.Args())
    }
    fmt.Println("Laboravi Started")
    initDB("./.mytimes.db")
    getLastProject()
    //getProjects()
    getOpenTask()

    if allproj {
        allProjects()
    }

    if newproject {
        newProject()
        os.Exit(0)
    } else if newtask {
        newTask(projectid)
        showLastProject()
        getClosedTasks(0)
        showOpenTask()
        os.Exit(0)
    } else if stoptask {
        closeTask()
        showLastProject()
        getClosedTasks(0)
        showOpenTask()
    } else if (starttime != "now") {
        newTaskTime(projectid,starttime)
        os.Exit(0)
    } else if (stoptime != "now") {
        closeTaskTime(stoptime)
        showLastProject()
        getClosedTasks(0)
        showOpenTask()
    } else if (edittaskid>0) {
        editTask(edittaskid)
    } else if (editprojectid>0) {
        editProject(editprojectid)
    } else if (projectid>0) {
        setProject(projectid)
        showLastProject()
        getClosedTasks(0)
        showOpenTask()
    } else {
        showLastProject()
        getClosedTasks(0)
        showOpenTask() 

    }

    //fmt.Println("Start Act:",actstart)
    //fmt.Println("Stop Act:",actstop)
    //fmt.Println("Project:",projectid)
    //fmt.Println("New Project:",newproject)
    //fmt.Println("svar:",svar)
    //fmt.Println("Unknown Commands: ",flag.Args())
}