ActivityWatch / ActivityWatch/aw-core

Add endtime to event model

Aperta
#49 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
65
Fork
72
Merge medio
2g 3h
PR unite (30g)
5

Descrizione

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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.