-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathattendance.py
36 lines (24 loc) · 1013 Bytes
/
attendance.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import pandas as pd
import config
import numpy as np
import os
import datetime
class AttendanceMarker:
def __init__(self):
# current datetime to put attendance
now = datetime.datetime.now()
self.time = now.strftime(config.DATE_TIME_FORMAT)
def _create_new_csv(self):
names = os.listdir(config.FACE_DATABASE_DIR)
names = np.array(names)
df = pd.DataFrame(data=names,columns=[config.CSV_COL_NAME])
df.to_csv(config.ATTENDANCE_FILENAME,index=False)
def mark_attendance(self,names):
if(not os.path.exists(config.ATTENDANCE_FILENAME)):
self._create_new_csv()
df = pd.read_csv(config.ATTENDANCE_FILENAME)
df[self.time] = 0
for name in names:
df.loc[df[config.CSV_COL_NAME] == name,self.time] = 1
df.to_csv(config.ATTENDANCE_FILENAME,index=False)
print('Saving attendance for names -> [ {} ] to file :{} at : {}'.format(names, config.ATTENDANCE_FILENAME,self.time))