merge
This commit is contained in:
commit
abc2a2c02d
4
.gitignore
vendored
4
.gitignore
vendored
@ -128,3 +128,7 @@ dmypy.json
|
|||||||
.pyre/
|
.pyre/
|
||||||
|
|
||||||
# End of https://www.gitignore.io/api/python
|
# End of https://www.gitignore.io/api/python
|
||||||
|
|
||||||
|
|
||||||
|
# private
|
||||||
|
test.py
|
102
day.py
102
day.py
@ -1,32 +1,112 @@
|
|||||||
''' Dayclass wich represents a day at work '''
|
''' Contains dayclas as representation of a day at work '''
|
||||||
|
|
||||||
from calculation import hoursSpent
|
from calculation import hoursSpent
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from time import sleep
|
|
||||||
|
|
||||||
|
|
||||||
class Day:
|
class Day:
|
||||||
|
'''A class used to represent a day at work
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
Attributes
|
||||||
|
----------
|
||||||
|
|
||||||
|
date: str
|
||||||
|
date of the day set at init
|
||||||
|
|
||||||
|
begin: datetime
|
||||||
|
datetime timestamp at started day, starting day and initializing day are seperate
|
||||||
|
|
||||||
|
end: dateime
|
||||||
|
dateime timestamp at end of a day
|
||||||
|
|
||||||
|
begin_break: datetime
|
||||||
|
dateime timestamp at begin of a break
|
||||||
|
|
||||||
|
end_break: datetime
|
||||||
|
dateime timestamp at end of a break
|
||||||
|
|
||||||
|
duration: dateime
|
||||||
|
dateime of working duration - pause
|
||||||
|
|
||||||
|
isDayStarted: bool
|
||||||
|
|
||||||
|
isBreakDone: bool
|
||||||
|
|
||||||
|
isInBreak: bool
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
The Day class holds only one pause!
|
||||||
|
'''
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.begin = 0
|
|
||||||
self.end = 0
|
self.date: str = datetime.now().date()
|
||||||
self.begin_break = 0
|
|
||||||
self.end_break = 0
|
self.begin: datetime = datetime.__init__
|
||||||
self.duration = 0
|
|
||||||
|
self.end: datetime = datetime.__init__
|
||||||
|
|
||||||
|
self.begin_break: datetime = datetime.__init__
|
||||||
|
|
||||||
|
self.end_break: datetime = datetime.__init__
|
||||||
|
|
||||||
|
self.duration: datetime = datetime.__init__
|
||||||
|
|
||||||
|
self.isDayStarted: bool = False
|
||||||
|
self.isBreakDone: bool = False
|
||||||
|
self.isInBreak: bool = False
|
||||||
|
|
||||||
def beginDay(self):
|
def beginDay(self):
|
||||||
|
'''Saves the time where a new day was started.'''
|
||||||
self.begin = datetime.now()
|
self.begin = datetime.now()
|
||||||
|
self.isDayStarted = True
|
||||||
|
|
||||||
def make_break(self):
|
def make_break(self):
|
||||||
self.begin_break = datetime.now()
|
'''Saves the time where a break was started'''
|
||||||
|
if not self.isDayStarted:
|
||||||
|
raise AssertionError("Day hasn't been started yet")
|
||||||
|
if self.isBreakDone or self.isInBreak:
|
||||||
|
raise AssertionError(
|
||||||
|
"You are already in break or have done your break already")
|
||||||
|
|
||||||
|
self.beingin_break = datetime.now()
|
||||||
|
self.isInBreak = True
|
||||||
|
|
||||||
|
def stop_break(self):
|
||||||
|
'''Saves the time where the break was finished'''
|
||||||
|
if not self.isDayStarted:
|
||||||
|
raise AssertionError("Day hasn't been started yet")
|
||||||
|
if not self.isInBreak:
|
||||||
|
raise AssertionError(
|
||||||
|
"You didn't start breaking yet")
|
||||||
|
|
||||||
def go_on(self):
|
|
||||||
self.end_break = datetime.now()
|
self.end_break = datetime.now()
|
||||||
|
self.isInBreak = False
|
||||||
|
self.isBreakDone = True
|
||||||
|
|
||||||
def endDay(self):
|
def endDay(self):
|
||||||
|
'''Saves the time where the work was ended and calcuclats the duration of work done'''
|
||||||
|
if not self.isDayStarted:
|
||||||
|
raise AssertionError("Day hasn't been started yet")
|
||||||
|
|
||||||
self.end = datetime.now()
|
self.end = datetime.now()
|
||||||
self.duration = hoursSpent(
|
self.duration = hoursSpent(
|
||||||
self.begin, self.end, self.begin_break, self.end_break)
|
self.begin, self.end, self.begin_break, self.end_break)
|
||||||
|
|
||||||
def get_begin(self):
|
def get_date(self) -> str:
|
||||||
return self.begin
|
''' Returns the date of the day'''
|
||||||
|
return self.date
|
||||||
|
|
||||||
|
def is_day_started(self) -> bool:
|
||||||
|
return self.isDayStarted
|
||||||
|
|
||||||
|
def is_break_done(self) -> bool:
|
||||||
|
return self.isBreakDone
|
||||||
|
|
||||||
|
def is_in_break(self) -> bool:
|
||||||
|
return self.isInBreak
|
||||||
|
Loading…
x
Reference in New Issue
Block a user