#!/usr/bin/python
print('Content-type: text/html\n')
import cgitb; cgitb.enable()
import psycopg2
conn = psycopg2.connect('user=foo password=bar dbname=baz')
curs = conn.cursor()
print("""
The FooBar Bulletin Board
The FooBar Bulletin Board
""")
curs.execute('SELECT * FROM messages')
rows = curs.dictfetchall()
toplevel = []
children = {}
for row in rows:
parent_id = row['reply_to']
if parent_id is None:
toplevel.append(row)
else:
children.setdefault(parent_id, []).append(row)
def format(row):
print('{subject}
'.format(row))
try: kids = children[row['id']]
except KeyError: pass
else:
print('')
for kid in kids:
format(kid)
print('
')
print('')
for row in toplevel:
format(row)
print("""
Post message
""")