forked from briannagata/flask-mailroom
/
setup.py
executable file
·41 lines (34 loc) · 1.32 KB
/
setup.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
#!/usr/bin/env python3
"""Flask-Mailroom setup script"""
import random
from flask_bcrypt import Bcrypt
from model import db, Donor, Donation
def main():
"""Main function for populating the database"""
donors = [('Toni Morrison', random.sample(range(100, 25000), 3)),
('Mike McHargue', random.sample(range(100, 25000), 3)),
("Flannery O'Connor", random.sample(range(100, 25000), 3)),
('Angelina Davis', random.sample(range(100, 25000), 3)),
('Bell Hooks', random.sample(range(100, 25000), 3))]
db.connect()
db.drop_tables([Donor, Donation])
db.create_tables([Donor, Donation])
bcrypt = Bcrypt()
for donor, donations in donors:
try:
Donor.create(name=donor,
email='.'.join(donor.lower().split()) + '@gmail.com',
password=bcrypt.generate_password_hash('password'),
total=sum(donations),
average=sum(donations) / len(donations))
except:
db.rollback()
for donor, donations in donors:
for donation in donations:
try:
Donation.create(donor=donor,
amount=donation)
except:
db.rollback()
if __name__ == '__main__':
main()