steam-chat-viewer/steam_chat_viewer/__init__.py
2022-06-01 19:24:36 +02:00

52 lines
1.3 KiB
Python

#!/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
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,
)