text version init
parent
ae185baf0c
commit
059880cd39
@ -1,9 +1,9 @@
|
||||
from flask import (Blueprint, flash, g, redirect,
|
||||
render_template, request, session, url_for)
|
||||
from flask import (Blueprint, render_template)
|
||||
|
||||
|
||||
bp = Blueprint('share', __name__, url_prefix='/share')
|
||||
|
||||
|
||||
@bp.route('/<branch>/')
|
||||
def share(branch=None):
|
||||
return render_template('share.html', branch=branch)
|
||||
|
@ -0,0 +1,21 @@
|
||||
{%extends 'base.html' %} {%block head %}
|
||||
<title>Write</title>
|
||||
<link rel="stylesheet" href="{{url_for('static', filename='css/write.css')}}" />
|
||||
|
||||
{%endblock%} {%block nav%}
|
||||
<a href="{{url_for('home.home')}}">Home</a>
|
||||
<a href="{{url_for('display.display')}}">Results</a>
|
||||
|
||||
{%endblock%} {%block contents%}
|
||||
|
||||
<h1>Write</h1>
|
||||
|
||||
<div id="previous">{% if content %} {{content|safe}} {% endif %}</div>
|
||||
|
||||
<form method="POST">
|
||||
<input type="hidden" name="branch" value="{{branch}}" />
|
||||
<textarea name="content" ></textarea>
|
||||
<input type="text" name="username" placeholder="Name" />
|
||||
<input type="submit" />
|
||||
</form>
|
||||
{%endblock%}
|
@ -0,0 +1,93 @@
|
||||
from flask import (Blueprint, redirect,
|
||||
render_template, request, url_for)
|
||||
|
||||
from exquisite_branch.db import get_db
|
||||
from werkzeug.exceptions import abort
|
||||
|
||||
from shortuuid import uuid
|
||||
|
||||
bp = Blueprint('write', __name__, url_prefix='/write')
|
||||
|
||||
|
||||
@bp.route('/<parent>', methods=('GET', 'POST'))
|
||||
def write(parent=None):
|
||||
db = get_db()
|
||||
|
||||
if request.method == 'POST':
|
||||
content = request.form.get('content')
|
||||
branch = request.form.get('branch')
|
||||
username = request.form.get('username')
|
||||
if request.is_json:
|
||||
data = request.get_json()
|
||||
content = data['content']
|
||||
branch = data['branch']
|
||||
username = data['username']
|
||||
|
||||
db.execute(
|
||||
'INSERT INTO branches (content, parent, branch, username) VALUES (?, ?, ?, ?)',
|
||||
(content, parent, branch, username)
|
||||
)
|
||||
db.commit()
|
||||
print(url_for('share.share', branch=f"{branch}"))
|
||||
return redirect(url_for('share.share', branch=branch))
|
||||
|
||||
branch = uuid()
|
||||
|
||||
previous = db.execute(
|
||||
"SELECT content, branch, parent FROM branches"
|
||||
" WHERE branch = ?",
|
||||
(parent,)
|
||||
).fetchone()
|
||||
|
||||
if previous is None:
|
||||
abort(404, f"Previous with id {parent} doesn't exist")
|
||||
|
||||
return render_template('write.html', parent=parent, content=previous['content'], branch=branch)
|
||||
|
||||
|
||||
@bp.route('/last', methods=('GET', 'POST'))
|
||||
def last():
|
||||
|
||||
branch = uuid()
|
||||
db = get_db()
|
||||
previous = db.execute(
|
||||
'SELECT * FROM branches ORDER BY id DESC LIMIT 1'
|
||||
).fetchone()
|
||||
|
||||
parent = previous['branch']
|
||||
|
||||
if request.method == 'POST':
|
||||
content = request.form['content']
|
||||
branch = request.form['branch']
|
||||
username = request.form['username']
|
||||
|
||||
db.execute(
|
||||
'INSERT INTO branches (content, parent, branch, username) VALUES (?, ?, ?, ?)',
|
||||
(content, parent, branch, username)
|
||||
)
|
||||
db.commit()
|
||||
return redirect(url_for('share.share', branch=branch))
|
||||
|
||||
return render_template('write.html', parent=parent, content=previous['content'], branch=branch)
|
||||
|
||||
|
||||
@bp.route('/', methods=('GET', 'POST'))
|
||||
def new():
|
||||
db = get_db()
|
||||
branch = uuid()
|
||||
parent = 'NEW'
|
||||
|
||||
if request.method == 'POST':
|
||||
content = request.form['content']
|
||||
branch = request.form['branch']
|
||||
|
||||
username = request.form['username']
|
||||
|
||||
db.execute(
|
||||
'INSERT INTO branches (content, parent, branch, username) VALUES (?, ?, ?, ?)',
|
||||
(content, parent, branch, username)
|
||||
)
|
||||
db.commit()
|
||||
return redirect(url_for('share.share', branch=branch))
|
||||
|
||||
return render_template('write.html', parent=parent, branch=branch)
|
Loading…
Reference in New Issue