#!/usr/bin/env python3 from os import environ from flask import Flask, request, render_template from urllib.parse import urlparse from .pg import query, select app = Flask(__name__) @app.route('/') def home(): if 'filter' in request.args: messages = select( ''' SELECT * FROM messages WHERE from_url = :filter OR to_url = :filter ORDER BY date DESC ''', filter=request.args['filter'] ) else: messages = select( ''' SELECT * FROM messages ORDER BY date DESC LIMIT 1000 ''' ) return render_template( "home.html", contacts=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, urlparse=urlparse, )