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 摘要。