Compare commits
1
Commits
f02cbaebf7
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3f6638fc85 |
+15
-7
@@ -17,22 +17,29 @@ var Api api
|
|||||||
type api struct {}
|
type api struct {}
|
||||||
|
|
||||||
func (api) CallApi(date string, fromTime string, toTime string, itemID string, description string) error {
|
func (api) CallApi(date string, fromTime string, toTime string, itemID string, description string) error {
|
||||||
if itemID == "break" || itemID == "lunch" || itemID == "pauze" { return nil }
|
if itemID == "break" || itemID == "lunch" || itemID == "pauze" || itemID == "T1-break" || itemID == "T1-lunch" || itemID == "T1-pauze" { return nil }
|
||||||
|
|
||||||
if date == "" || fromTime == "" || toTime == "" || itemID == "" {
|
if date == "" || fromTime == "" || toTime == "" || itemID == "" {
|
||||||
return fmt.Errorf("incomplete log entry: %s, %s-%s, %s, %s", date, fromTime, toTime, itemID, description)
|
return fmt.Errorf("incomplete log entry: %s, %s-%s, %s, %s", date, fromTime, toTime, itemID, description)
|
||||||
}
|
}
|
||||||
|
|
||||||
time1, err := time.Parse("15:04", fromTime)
|
const layout = "2006-01-02 15:04:05"
|
||||||
|
timestamp1 := date + " " + fromTime + ":00"
|
||||||
|
timestamp2 := date + " " + toTime + ":00"
|
||||||
|
|
||||||
|
location, err := time.LoadLocation("Local")
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("error loading location: %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
time1, err := time.ParseInLocation(layout, timestamp1, location)
|
||||||
if err != nil { return fmt.Errorf("error parsing from_time: %s", err) }
|
if err != nil { return fmt.Errorf("error parsing from_time: %s", err) }
|
||||||
|
|
||||||
time2, err := time.Parse("15:04", toTime)
|
time2, err := time.ParseInLocation(layout, timestamp2, location)
|
||||||
if err != nil { return fmt.Errorf("error parsing to_time: %s", err) }
|
if err != nil { return fmt.Errorf("error parsing to_time: %s", err) }
|
||||||
|
|
||||||
// Convert local timezone to UTC time
|
// Convert local timezone to UTC time
|
||||||
_, offset := time.Now().Zone()
|
time1UTC := time1.UTC()
|
||||||
time1.Add(-time.Duration(offset) * time.Second);
|
|
||||||
time2.Add(-time.Duration(offset) * time.Second);
|
|
||||||
|
|
||||||
duration := time2.Sub(time1)
|
duration := time2.Sub(time1)
|
||||||
seconds := int(duration.Seconds())
|
seconds := int(duration.Seconds())
|
||||||
@@ -42,7 +49,8 @@ func (api) CallApi(date string, fromTime string, toTime string, itemID string, d
|
|||||||
|
|
||||||
data := map[string]string{
|
data := map[string]string{
|
||||||
"comment": description,
|
"comment": description,
|
||||||
"started": fmt.Sprintf("%sT%s:00.000+0000", date, fromTime), // "2021-01-17T12:34:00.000+0000",
|
"started": fmt.Sprintf("%s:00.000+0000",
|
||||||
|
time1UTC.Format("2006-01-02T15:04")), // "2021-01-17T12:34:00.000+0000",
|
||||||
"timeSpentSeconds": strconv.Itoa(seconds),
|
"timeSpentSeconds": strconv.Itoa(seconds),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -92,7 +92,7 @@ func (self *Process) parseTask(line string, line_number int) error {
|
|||||||
if err != nil { return err }
|
if err != nil { return err }
|
||||||
|
|
||||||
// Set last_time, last_item_id, description
|
// Set last_time, last_item_id, description
|
||||||
if data[3] == "X" {
|
if data[3] == "X" || data[3] == "x" {
|
||||||
date.last_time = data[1]
|
date.last_time = data[1]
|
||||||
date.last_item_id = data[2]
|
date.last_item_id = data[2]
|
||||||
date.last_description = data[4]
|
date.last_description = data[4]
|
||||||
|
|||||||
Reference in New Issue
Block a user