Is there any way to improve this code: punch:0 -> in punch:1 -> out
from datetime import datetime
attendance = [{"id": 1, "punch": 0, "date": "22-04-2022 02:10:00"},
{"id": 1, "punch": 1, "date": "22-04-2022 03:00:00"},
{"id": 1, "punch": 1, "date": "22-04-2022 04:00:00"},
{"id": 1, "punch": 0, "date": "22-04-2022 05:00:00"},
{"id": 1, "punch": 1, "date": "22-04-2022 06:00:00"},
{"id": 1, "punch": 1, "date": "22-04-2022 08:00:10"},
]
sessions = []
total_hours = datetime.strptime("00:00:00", '%H:%M:%S')
in_time = None
out_time = None
for k in attendance:
if k["punch"].__eq__(0):
in_time = k["date"]
elif k["punch"].__eq__(1):
print(k)
if in_time is not None:
out_time = k["date"]
total_hours += datetime.strptime(out_time, '%d-%m-%Y %H:%M:%S') - \
datetime.strptime(in_time, '%d-%m-%Y %H:%M:%S')
sessions.append((in_time, out_time))
in_time = None
print(sessions, total_hours.time())
output: [('22-04-2022 02:10:00', '22-04-2022 03:00:00'), ('22-04-2022 05:00:00', '22-04-2022 06:00:00')] 01:50:00