#!/usr/bin/env python3 from os import environ from flask import Flask, request, render_template from .pg import query, select app = Flask(__name__) @app.route('/') def home(): if 'filter' in request.args: messages = select( ''' SELECT * FROM messages ORDER BY date DESC WHERE from_url = :filter OR to_url = :filter ''', filter=request.args['filter'] ) else: messages = select( ''' SELECT * FROM messages ORDER BY date DESC LIMIT 100 ''' ) return render_template( "home.html", users=select( ''' SELECT DISTINCT ON (url) url, name FROM ( ( SELECT DISTINCT ON (from_url) from_url as url, from_name as name FROM messages ORDER BY url, date DESC ) UNION ( SELECT DISTINCT ON (to_url) to_url as url, to_name as name FROM messages ORDER BY url, date DESC ) ) as nested; ''' ), messages=messages, )