add accumulation of captured time
This commit is contained in:
@@ -42,3 +42,8 @@ class TimeSlot():
|
||||
|
||||
def end_now(self):
|
||||
self.end = datetime.now()
|
||||
|
||||
def duration(self) -> datetime.timedelta:
|
||||
end = self.end
|
||||
if not end: end = datetime.now()
|
||||
return self.end - self.start
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
from datetime import date, datetime
|
||||
import re
|
||||
|
||||
from datetime import date, datetime, timedelta
|
||||
from model.DataStore import DataStore
|
||||
from model.TimeSlot import TimeSlot
|
||||
|
||||
@@ -43,5 +45,12 @@ class TimeSlotContainer:
|
||||
def delete_time_slot(self, ts: TimeSlot):
|
||||
raise NotImplementedError
|
||||
|
||||
def accumulate_duration(self, query: str) -> timedelta:
|
||||
pattern = re.compile(query)
|
||||
return sum([ts.duration() for ts in self._ds.get_all_time_slots()
|
||||
if pattern.search(ts.name) ], start=timedelta(0))
|
||||
|
||||
time_slot_container = TimeSlotContainer(DataStore("data.json"))
|
||||
try:
|
||||
time_slot_container = TimeSlotContainer(DataStore("data.json"))
|
||||
except FileNotFoundError:
|
||||
time_slot_container = TimeSlotContainer(DataStore("data.json", create=True))
|
||||
|
||||
Reference in New Issue
Block a user