You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
945 B
Python

3 years ago
from flask import (Blueprint, flash, g, redirect,
render_template, request, session, url_for)
from exquisite_branch.db import get_db
bp = Blueprint('display', __name__, url_prefix='/display')
@bp.route('/')
def display():
db = get_db()
branches = db.execute(
"SELECT content, branch, parent FROM branches"
).fetchall()
streams = []
for branch in branches[::-1]:
if branch not in flatten(streams):
stream = [branch]
parent = branch['parent']
while parent != 'NEW':
current = next(
(x for x in branches if x['branch'] == parent), None)
parent = current['parent']
stream.append(current)
streams.append(stream[::-1])
return render_template('display.html', branches=branches, streams=streams)
def flatten(t):
return [item for sublist in t for item in sublist]