This commit is contained in:
Ross
2020-12-18 17:51:59 +00:00
parent 74484db6c6
commit eddb6a0f04
7 changed files with 1026 additions and 566 deletions
+56
View File
@@ -0,0 +1,56 @@
import csv
def load_leave(Rota, file_name="leave.csv"):
shifts = Rota.get_shift_names()
with open(file_name, newline="") as f:
reader = csv.reader(f, delimiter=',', quotechar='|')
leave = {}
requests = {}
site_prefs = {}
order = []
n = 0
for row in reader:
r = row[2:]
# header, extract names
if n == 0:
names = r
order = names
for name in names:
leave[name] = []
requests[name] = []
site_prefs[name] = []
# preferred site
if n == 5:
for i in range(len(r)):
pref = r[i].lower()
if pref == "1":
site_prefs[order[i]].append(pref)
else:
site_prefs[order[i]].append("0")
if n > 6:
for i in range(len(r)):
lower_item = r[i].lower()
if lower_item != "":
# This may be easier to do as a dict
if lower_item in shifts:
requests[order[i]].append((row[0], lower_item))
else:
leave[order[i]].append((row[0], lower_item))
n = n + 1
return (leave, requests, site_prefs)
#load_leave()