-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathadd_members.py
107 lines (88 loc) · 3.03 KB
/
add_members.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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import csv
# create list of all members
members = []
with open('member_bios.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
for i, row in enumerate(csv_reader):
if i != 0: # skip first row
member = {}
member['Name'] = row[1]
member['Email'] = row[2]
member['Year'] = row[3]
member['Major/Minor'] = row[4]
member['Hometown'] = row[5]
member['Team'] = row[6]
member['Favorite Sport(s)'] = row[7]
member['Favorite Sport Team(s)'] = row[8]
member['Fact'] = row[9]
members.append(member)
# sort based on name
members = sorted(members, key = lambda i: i['Name'])
bio_snippet_1 = (
"<div id=\"modal"
)
bio_snippet_2 = (
"\" class=\"modal\">"
"<div class=\"modal-content\">"
"<img class=\"officer-images\" src=\"../assets/members_1819/\" alt=\"Avatar\">"
)
bio_snippet_3 = (
"</div>"
"<div class=\"modal-footer\">"
"<a href=\"#!\" class=\"modal-action modal-close waves-effect waves-green btn-flat\">Return</a>"
"</div>"
"</div>"
)
member_card_1 = (
"<div class=\"col s12 m6 l4\">"
"<a class=\"modal-trigger\" href=\"#modal"
)
member_card_2 = (
"\">"
"<div class=\"card\">"
"<div class=\"cardcontent\">"
"<img class=\"officer-images\" src=\"../assets/members_1819/\" alt=\"Avatar\">"
"<div class=\"cardcontainer\">"
)
member_card_3 = (
"</div>"
"</div>"
"</div>"
"</a>"
"</div>"
)
# open existing officers file
with open('officers/index.html') as f:
officer_file = f.read()
# get index to write into file
search_key = '<!-- begin bios -->'
write_index = officer_file.find(search_key)
# add in member bios
new_off = new_off = officer_file[:write_index + len(search_key)]
for i, member in enumerate(members):
new_off += "\n"
new_off += bio_snippet_1 + str(i + 10) + bio_snippet_2 + "\n"
new_off += "<h4>" + member['Name'] + "</h4>" + "\n"
new_off += "<p class=\"modal-text\">"
new_off += "BSA Team: " + member['Team'] + "<br>"
new_off += "Major/Minor: " + member['Major/Minor'] + "<br>"
new_off += "Year: " + member['Year'] + "<br>"
new_off += "Hometown: " + member['Hometown'] + "<br>"
new_off += "Favorite Sport(s): " + member['Favorite Sport(s)'] + "<br>"
new_off += "Favorite Sport Team(s): " + member['Favorite Sport Team(s)'] + "<br>"
new_off += "Fun Fact: " + member["Fact"] + "<br><br>"
new_off += "Contact: " + member["Email"]
new_off += "</p>" + "\n" + bio_snippet_3 + "\n"
# member cards
search_key = '<!-- begin cards -->'
write_index = officer_file.find(search_key)
last_chunk = officer_file[write_index + len(search_key):] # final part of file to attach later
cards = ""
for i, member in enumerate(members):
cards += "\n"
cards += member_card_1 + str(i + 10) + member_card_2 + "\n"
cards += "<h4><b>" + member['Name'] + "</b></h4>" + "\n"
cards += member_card_3 + "\n"
new_off += "\n" + search_key + "\n" + cards
new_off += last_chunk
print(new_off)