ActivityWatch / ActivityWatch/aw-core

Add endtime to event model

未關閉
#49 2 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Python
星號
65
分支
72
平均合併
2 天 3 小時
30 天內合併 PR
5

描述

We currently have an issue when fetching events by starttime and endtime.

```
23:00 00:00 01:00
<----------------------------------------------------------------------
| event start event end |
```
If we have a case like this and we have an event which starts before 00:00 and ends after 00:00, if we query with startime=the_second_day we will not get the event even though it is within the second day.

Currently we are checking the datetimes like this

```
if event.starttime >= starttime and event.starttime <= endtime:
return event
```

What we actually should do when fetching events with a starttime and endtime

```
if event.endtime >= starttime and event.starttime <= endtime:
return event
```

This would however require us to add a "endtime" field to save in every datastore.
At that point we could also remove the duration field since it's essentially endtime-starttime to save on db size.

**TL;DR:** Our datastorages cannot filter by starttime+duration to get the endtime, we need an actual endtime field instead of duration to be able to filter after endtime and fix a few quirks when having events in between two dates.

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。