3939 integrations = [FlaskIntegration ()]
4040)
4141
42- App = Flask (__name__ )
42+ app = Flask (__name__ )
4343
4444auth = HTTPTokenAuth (scheme = 'Token' )
4545api_keys = os .environ .get ('JUMPSTART_API_KEYS' )
4646
4747tokens = api_keys .split (',' ) if api_keys else []
48- App .config ['SQLALCHEMY_TRACK_MODIFICATIONS' ] = True
49- App .config ['SQLALCHEMY_DATABASE_URI' ] = 'sqlite:///site.db'
50- db = SQLAlchemy (App )
48+
49+ app .config ['SQLALCHEMY_TRACK_MODIFICATIONS' ] = True
50+ app .config ['SQLALCHEMY_DATABASE_URI' ] = 'sqlite:///site.db'
51+
52+ db = SQLAlchemy (app )
5153
5254from jumpstart .models import File , Ann
5355
5456if not os .path .exists (os .path .join (os .getcwd (), "site.db" )):
55- db .create_all ()
56-
57- # Initializes the database for Files
58- file = File (title = "Jumpstart.exe" )
59- db .session .query (File ).delete ()
60- db .session .commit ()
61- db .session .add (file )
62- db .session .commit ()
63-
64- # Initializes the database for Announcements
65- ann = Ann (title = "Have a great day!" )
66- db .session .query (Ann ).delete ()
67- db .session .commit ()
68- db .session .add (ann )
69- db .session .commit ()
57+ with app .app_context ():
58+ db .create_all ()
59+
60+ # Prepare database
61+ # geese: If the database is cleared every boot,
62+ # why can't it just be a damn variable?
63+ with app .app_context ():
64+ # Initializes the database for Files
65+ file = File (title = "Jumpstart.exe" )
66+ db .session .query (File ).delete ()
67+ db .session .commit ()
68+ db .session .add (file )
69+ db .session .commit ()
70+
71+ # Initializes the database for Announcements
72+ ann = Ann (title = "Have a great day!" )
73+ db .session .query (Ann ).delete ()
74+ db .session .commit ()
75+ db .session .add (ann )
76+ db .session .commit ()
7077
7178@auth .verify_token
7279def verify_token (token ):
@@ -77,20 +84,21 @@ def verify_token(token):
7784
7885
7986limiter = Limiter (
80- App ,
81- key_func = get_remote_address ,
87+ get_remote_address ,
88+ app = app ,
8289 default_limits = ["13 per minute" , "1 per second" ],
8390)
8491
8592@limiter .request_filter
8693def ip_whitelist ():
8794 return request .remote_addr == "127.0.0.1"
8895
89- @App .route ('/' )
96+
97+ @app .route ('/' )
9098def index ():
9199 return render_template ('index.html' )
92100
93- @App .route ('/calendar' , methods = ['GET' ])
101+ @app .route ('/calendar' , methods = ['GET' ])
94102@limiter .limit ("3/minute" )
95103@limiter .limit ("1/second" )
96104def calendar ():
@@ -136,15 +144,15 @@ def calendar():
136144 event_list = {'data' : final_events }
137145 return jsonify (event_list )
138146
139- @App .route ('/get-announcement' , methods = ['GET' ])
147+ @app .route ('/get-announcement' , methods = ['GET' ])
140148@limiter .limit ("13/minute" )
141149@limiter .limit ("1/second" )
142150def get_announcement ():
143151 ann = Ann .query .first ()
144152 announcement_post = {'data' : str (ann )}
145153 return jsonify (announcement_post )
146154
147- @App .route ("/update-announcement" , methods = ["POST" ])
155+ @app .route ("/update-announcement" , methods = ["POST" ])
148156@auth .login_required
149157@limiter .limit ("3/hour" )
150158@limiter .limit ("2/minute" )
@@ -157,15 +165,15 @@ def update_announcement():
157165 db .session .commit ()
158166 return "Announcement Updated"
159167
160- @App .route ('/get-harold' , methods = ['GET' ])
168+ @app .route ('/get-harold' , methods = ['GET' ])
161169@limiter .limit ("13/minute" )
162170@limiter .limit ("1/second" )
163171def get_harold ():
164172 file = File .query .first ()
165173 filename = {'data' : str (file )}
166174 return jsonify (filename )
167175
168- @App .route ("/update-harold" , methods = ["POST" ])
176+ @app .route ("/update-harold" , methods = ["POST" ])
169177@auth .login_required
170178def update_harold ():
171179 req_data = request .get_json ()
@@ -178,7 +186,7 @@ def update_harold():
178186if __name__ == '__main__' :
179187 App .run (debug = True )
180188
181- @App .route ('/showerthoughts' , methods = ['GET' ])
189+ @app .route ('/showerthoughts' , methods = ['GET' ])
182190@limiter .limit ("3/minute" )
183191@limiter .limit ("1/second" )
184192def showerthoughts ():
0 commit comments