/
manage.py
71 lines (53 loc) · 1.81 KB
/
manage.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
#!/usr/bin/env python
#The following lines of code is the original file.
# from migrate.versioning.shell import main
# if __name__ == '__main__':
# main()
#New code:
#handles both run.py and migrate.py
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.script import Manager
from flask.ext.migrate import Migrate, MigrateCommand
from app import app
from app import BaseNutrition, BaseUSDA, session
import csv
class DB(object):
def __init__(self, metadata):
self.metadata = metadata
migrate = Migrate(app, DB(BaseNutrition.metadata))
manager = Manager(app)
#add migrate to the manager
#default run file is built into the manager
manager.add_command('db', MigrateCommand)
@manager.command
def import_targets():
from app.models.target import Target
with open('nutritionTablesReformatted.csv', 'rU') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
#to skip the first row in the csv file containing headings
reader.next()
for row in reader:
#create a new line in the database using sqlalchemy
#instantiate in instance of the model, add it and commit
target = Target()
target.group = row[0]
target.lower_age = float(row[1])
target.upper_age = float(row[2])
target.nutrient_no = row[3]
if row[4] == "":
target.value = None
else:
target.value = row[4]
if row[5] == "":
target.upper_limit = None
else:
target.upper_limit = row[5]
session.add(target)
session.commit()
@manager.command
def run():
app.run(
host='127.0.0.1', port=5000, debug=True)
if __name__ == '__main__':
manager.run()