@ -4,6 +4,7 @@ import json
import datetime
from flask import Flask , Response , redirect , url_for , request , session , abort , render_template
from flask_login import LoginManager , UserMixin , login_required , login_user , logout_user , current_user
import sqlalchemy
from sqlalchemy . sql import select , text
from dateutil . parser import parse
app = Flask ( __name__ )
@ -36,18 +37,19 @@ def getUpcomingMeals():
query = ' select username as kuk, meal_date, array_agg as eaters, selection_deadline from (select kuk, meal_date, selection_deadline, array_agg(username) from meals join users on users.id = any(meals.eaters) where meals.status=0 group by meals.id order by meal_date) as foo join users on kuk=users.id; '
r = db_engine . execute ( text ( query ) )
meals = [ ]
for row in r :
meals . append ( dict ( row ) )
r . close ( )
for row in r :
meals . append ( dict ( row ) )
r . close ( )
return meals
@app.route ( ' / ' )
def index ( ) :
return render_template ( ' meal_list.html ' , leaderboard = getLeaderboard ( ) , meals = getUpcomingMeals ( ) , current_user_name = ' Wille ' )
if __name__ == ' __main__ ' :
with open ( ' admin.json ' ) as f :
postgres_credentials = json . load ( f )
with open ( ' admin.json ' ) as f :
postgres_credentials = json . load ( f )
db_engine , db_metadata = connect ( postgres_credentials [ ' username ' ] , postgres_credentials [ ' password ' ] , ' kuk_app ' )
meals = sqlalchemy . Table ( ' meals ' , db_metadata )
if __name__ == ' __main__ ' :
app . run ( ' 0.0.0.0 ' )