25
25
import sys
26
26
import os
27
27
from models import setup_db , db , Artist , Venue , Show
28
+ from check_db .check_db import requires_db
28
29
#----------------------------------------------------------------------------#
29
30
# App Config.
30
31
#----------------------------------------------------------------------------#
31
32
32
33
app = Flask (__name__ )
33
34
app .config ['SECRET_KEY' ] = os .urandom (32 )
35
+ deployment_location = os .environ .get ('DEPLOYMENT_LOCATION' )
34
36
35
37
moment = Moment (app )
36
- setup_db (app )
38
+ if deployment_location :
39
+ setup_db (app )
37
40
38
41
#----------------------------------------------------------------------------#
39
42
# Filters.
@@ -62,6 +65,7 @@ def index():
62
65
# ----------------------------------------------------------------
63
66
64
67
@app .route ('/venues' )
68
+ @requires_db ()
65
69
def venues ():
66
70
cities = db .session .query (Venue .city ).group_by (Venue .city ).all ()
67
71
current_time = datetime .now (timezone .utc )
@@ -90,6 +94,7 @@ def venues():
90
94
return render_template ('pages/venues.html' , areas = data )
91
95
92
96
@app .route ('/venues/search' , methods = ['POST' ])
97
+ @requires_db ()
93
98
def search_venues ():
94
99
term = request .form .get ('search_term' )
95
100
search = "%{}%" .format (term .lower ())
@@ -98,6 +103,7 @@ def search_venues():
98
103
return render_template ('pages/search_venues.html' , results = response , search_term = request .form .get ('search_term' , '' ))
99
104
100
105
@app .route ('/venues/<int:venue_id>' )
106
+ @requires_db ()
101
107
def show_venue (venue_id ):
102
108
venue = db .session .query (Venue ).filter (Venue .id == venue_id ).all ()
103
109
current_time = datetime .now (timezone .utc )
@@ -152,11 +158,13 @@ def show_venue(venue_id):
152
158
# ----------------------------------------------------------------
153
159
154
160
@app .route ('/venues/create' , methods = ['GET' ])
161
+ @requires_db ()
155
162
def create_venue_form ():
156
163
form = VenueForm ()
157
164
return render_template ('forms/new_venue.html' , form = form )
158
165
159
166
@app .route ('/venues/create' , methods = ['POST' ])
167
+ @requires_db ()
160
168
def create_venue_submission ():
161
169
error = False
162
170
try :
@@ -189,6 +197,7 @@ def create_venue_submission():
189
197
return render_template ('pages/home.html' )
190
198
191
199
@app .route ('/venues/<venue_id>/delete' , methods = ['DELETE' ])
200
+ @requires_db ()
192
201
def delete_venue (venue_id ):
193
202
error = False
194
203
try :
@@ -208,6 +217,7 @@ def delete_venue(venue_id):
208
217
# Artists
209
218
# ----------------------------------------------------------------
210
219
@app .route ('/artists' )
220
+ @requires_db ()
211
221
def artists ():
212
222
data = []
213
223
artists = db .session .query (Artist ).order_by ('id' ).all ()
@@ -219,6 +229,7 @@ def artists():
219
229
return render_template ('pages/artists.html' , artists = data )
220
230
221
231
@app .route ('/artists/search' , methods = ['POST' ])
232
+ @requires_db ()
222
233
def search_artists ():
223
234
term = request .form .get ('search_term' )
224
235
search = "%{}%" .format (term .lower ())
@@ -227,6 +238,7 @@ def search_artists():
227
238
return render_template ('pages/search_artists.html' , results = response , search_term = request .form .get ('search_term' , '' ))
228
239
229
240
@app .route ('/artists/<int:artist_id>' )
241
+ @requires_db ()
230
242
def show_artist (artist_id ):
231
243
artist = db .session .query (Artist ).filter (Artist .id == artist_id ).all ()
232
244
current_time = datetime .now (timezone .utc )
@@ -279,6 +291,7 @@ def show_artist(artist_id):
279
291
# Update
280
292
# ----------------------------------------------------------------
281
293
@app .route ('/artists/<int:artist_id>/edit' , methods = ['GET' ])
294
+ @requires_db ()
282
295
def edit_artist (artist_id ):
283
296
form = ArtistForm ()
284
297
data = Artist .query .get (artist_id )
@@ -298,6 +311,7 @@ def edit_artist(artist_id):
298
311
return render_template ('forms/edit_artist.html' , form = form , artist = artist )
299
312
300
313
@app .route ('/artists/<int:artist_id>/edit' , methods = ['POST' ])
314
+ @requires_db ()
301
315
def edit_artist_submission (artist_id ):
302
316
try :
303
317
data = Artist .query .get (artist_id )
@@ -323,6 +337,7 @@ def edit_artist_submission(artist_id):
323
337
return redirect (url_for ('show_artist' , artist_id = artist_id ))
324
338
325
339
@app .route ('/venues/<int:venue_id>/edit' , methods = ['GET' ])
340
+ @requires_db ()
326
341
def edit_venue (venue_id ):
327
342
form = VenueForm ()
328
343
data = Venue .query .get (venue_id )
@@ -343,6 +358,7 @@ def edit_venue(venue_id):
343
358
return render_template ('forms/edit_venue.html' , form = form , venue = venue )
344
359
345
360
@app .route ('/venues/<int:venue_id>/edit' , methods = ['POST' ])
361
+ @requires_db ()
346
362
def edit_venue_submission (venue_id ):
347
363
try :
348
364
data = Venue .query .get (venue_id )
@@ -371,11 +387,13 @@ def edit_venue_submission(venue_id):
371
387
# ----------------------------------------------------------------
372
388
373
389
@app .route ('/artists/create' , methods = ['GET' ])
390
+ @requires_db ()
374
391
def create_artist_form ():
375
392
form = ArtistForm ()
376
393
return render_template ('forms/new_artist.html' , form = form )
377
394
378
395
@app .route ('/artists/create' , methods = ['POST' ])
396
+ @requires_db ()
379
397
def create_artist_submission ():
380
398
error = False
381
399
try :
@@ -406,6 +424,7 @@ def create_artist_submission():
406
424
return render_template ('pages/home.html' )
407
425
408
426
@app .route ('/artists/<artist_id>/delete' , methods = ['DELETE' ])
427
+ @requires_db ()
409
428
def delete_artist (artist_id ):
410
429
error = False
411
430
try :
@@ -426,6 +445,7 @@ def delete_artist(artist_id):
426
445
# ----------------------------------------------------------------
427
446
428
447
@app .route ('/shows' )
448
+ @requires_db ()
429
449
def shows ():
430
450
data = []
431
451
shows = db .session .query (Show ).order_by (desc (Show .start_time )).all ()
@@ -443,12 +463,14 @@ def shows():
443
463
return render_template ('pages/shows.html' , shows = data )
444
464
445
465
@app .route ('/shows/create' )
466
+ @requires_db ()
446
467
def create_shows ():
447
468
# renders form. do not touch.
448
469
form = ShowForm ()
449
470
return render_template ('forms/new_show.html' , form = form )
450
471
451
472
@app .route ('/shows/create' , methods = ['POST' ])
473
+ @requires_db ()
452
474
def create_show_submission ():
453
475
error = False
454
476
try :
@@ -471,6 +493,10 @@ def create_show_submission():
471
493
abort (500 )
472
494
return render_template ('pages/home.html' )
473
495
496
+ @app .errorhandler (400 )
497
+ def not_found_error (error ):
498
+ return render_template ('errors/400.html' ), 400
499
+
474
500
@app .errorhandler (404 )
475
501
def not_found_error (error ):
476
502
return render_template ('errors/404.html' ), 404
0 commit comments