This commit is contained in:
63
app.py
63
app.py
@@ -62,7 +62,61 @@ def homepage():
|
||||
board_list = [ k['_key'] for k in boards0]
|
||||
return render_template("main-page.html", host_id=docker_short_id, boards=board_list)
|
||||
|
||||
|
||||
|
||||
#### TODO если борды нет, то возвращать 404 мемную
|
||||
#### TODO если треда нет, то возвращать 404 мемную
|
||||
|
||||
|
||||
#### DONE route :: /{board}/
|
||||
@app.route('/<board>')
|
||||
def board_posts(board=None):
|
||||
postos = db.collection('posts')
|
||||
postos = [ p for p in postos if p.get('root_post') == True and p.get('board') == board ]
|
||||
postos = sorted(postos, key=lambda posto: int(posto['_key']), reverse=False)
|
||||
|
||||
return render_template("board-posts.html", host_id=docker_short_id, postos=postos, target_post_id=None)
|
||||
|
||||
|
||||
#### TODO route :: /{board}/{thread}/
|
||||
#### TODO убрать отсюда чужие рут-потсы
|
||||
@app.route("/<board>/<int:target_post_id>")
|
||||
def thread_posts(board=None, target_post_id=None):
|
||||
|
||||
## взять рут-пост
|
||||
## взять всех его детей
|
||||
|
||||
# postos = db.collection('posts')
|
||||
# postos = [ p for p in postos]
|
||||
# postos = sorted(postos, key=lambda posto: int(posto['_key']), reverse=False)
|
||||
|
||||
cursor = db.aql.execute(
|
||||
f"""FOR ppp IN posts
|
||||
FILTER ppp.root_post == True and ppp._key == "{target_post_id}"
|
||||
FOR v IN 1 OUTBOUND ppp post_parents RETURN v"""
|
||||
)
|
||||
|
||||
postos = [ ]
|
||||
while not cursor.empty(): # Pop until nothing is left on the cursor.
|
||||
postos.append(cursor.pop())
|
||||
cursor = db.aql.execute(
|
||||
f'RETURN DOCUMENT("posts/{target_post_id}")'
|
||||
)
|
||||
while not cursor.empty(): # Pop until nothing is left on the cursor.
|
||||
postos.append(cursor.pop())
|
||||
postos = [ p for p in postos ]
|
||||
postos = sorted(postos, key=lambda posto: int(posto['_key']), reverse=False)
|
||||
|
||||
if not target_post_id:
|
||||
target_post_id = postos[0]['_key']
|
||||
|
||||
return render_template("interactive-posts.html", host_id=docker_short_id, postos=postos, target_post_id=target_post_id)
|
||||
|
||||
#### TODO route :: /{board}/{thread}/create_thread/
|
||||
|
||||
#### TODO route :: /{board}/{thread}/answer_post/
|
||||
|
||||
#### TODO route :: /{board}/{thread}/post_to_another_post/
|
||||
|
||||
|
||||
@app.route('/db_posts')
|
||||
@app.route("/db_posts/<target_post_id>")
|
||||
@@ -72,6 +126,11 @@ def page_posts_from_db(target_post_id=None):
|
||||
postos = [ p for p in postos]
|
||||
postos = sorted(postos, key=lambda posto: int(posto['_key']), reverse=False)
|
||||
|
||||
|
||||
for p in postos:
|
||||
#if p['root_post']:
|
||||
print(p)
|
||||
|
||||
if not target_post_id:
|
||||
target_post_id = postos[0]['_key']
|
||||
|
||||
@@ -82,7 +141,7 @@ def page_posts_from_db(target_post_id=None):
|
||||
def answer_post(target_post_id):
|
||||
|
||||
postos = db.collection('posts')
|
||||
postos = [ p for p in postos]
|
||||
postos = [ p for p in postos ]
|
||||
postos = sorted(postos, key=lambda posto: int(posto['_key']), reverse=False)
|
||||
|
||||
if not target_post_id:
|
||||
|
||||
Reference in New Issue
Block a user