from datetime import timedelta ''' Hier sind alle Methoden gesammelt, die bei der Zeiterfassung eine Rolle spielen. daterange() - Gibt jeden Tag zwischen zwei Daten zurück @param: date1 - Startdatum date2 - Enddatum @return: Array mit den entsprechenden Tagen getIsAbsenceStartEndHalf() - Gibt True zurücke, wenn der Anfang oder das Ende einer Abwesenheit nur ein halber Tag ist, ansonsten False @param: absence - Die zu prüfende Abwesenheit @return: True -> Ist nur ein halber Tag False -> Ist ein ganzer Tag ''' # Gibt die Woche als Wochentage zurück def daterange(date1, date2): for n in range(int ((date2 - date1).days)+1): yield date1 + timedelta(n) # Gibt True zurück, wenn eine Tag einer Abwesenheit nur ein halber Tag ist def getIsAbsenceStartEndHalf(absence): if absence.startday_info == "1" or absence.startday_info == "2" or absence.endday_info == "1" or absence.endday_info == "2": return True else: return False