Readmode, not accidental suppressions anymore
This commit is contained in:
parent
5ef2f5fc55
commit
1f288bd583
Binary file not shown.
@ -13,7 +13,7 @@ services:
|
||||
#ports:
|
||||
#- 8080:8080
|
||||
labels:
|
||||
- "traefik.http.routers.sqnotes.rule=Host(`notes.sq.lan`)"
|
||||
- "traefik.http.routers.sqnotes.rule=Host(`notes.squi.fr`)"
|
||||
- "traefik.http.services.sqnotes.loadbalancer.server.port=8080"
|
||||
- "traefik.docker.network=traefik_traefik"
|
||||
networks:
|
||||
|
37
src/app.py
37
src/app.py
@ -18,7 +18,8 @@ def render():
|
||||
#Delete has been clicked
|
||||
try:
|
||||
todelete = request.args.get("delete")
|
||||
delnote(int(todelete))
|
||||
if todelete is not None:
|
||||
delnote(int(todelete))
|
||||
except Exception as e:
|
||||
pass
|
||||
|
||||
@ -30,6 +31,15 @@ def render():
|
||||
except Exception as e:
|
||||
pass
|
||||
|
||||
#Read has been clicked
|
||||
try:
|
||||
toread = request.args.get("toread")
|
||||
if toread is not None:
|
||||
return redirect(url_for('readmode', note=(int(toread))))
|
||||
except Exception as e:
|
||||
print(e)
|
||||
pass
|
||||
|
||||
return render_template("homepage.html", nr = catnotes(getnotes()))
|
||||
|
||||
#Export mode
|
||||
@ -37,15 +47,36 @@ def render():
|
||||
def rawnotes():
|
||||
return render_template("export.html", rawnotes = exportnotes())
|
||||
|
||||
#Read mode
|
||||
@app.route('/readmode', methods=['GET','POST'])
|
||||
def readmode():
|
||||
if request.method == 'GET':
|
||||
notenumber = request.args.get("note")
|
||||
mynote = findnote(int(notenumber))
|
||||
return render_template("read.html", note=mynote.flaskrender())
|
||||
|
||||
|
||||
#Edition mode
|
||||
@app.route('/edit', methods=['GET', 'POST'])
|
||||
def edit():
|
||||
import time
|
||||
if request.method == "GET":
|
||||
print("GET")
|
||||
notenumber = request.args.get("notenumber")
|
||||
mynote = findnote(int(notenumber))
|
||||
delnote(int(notenumber))
|
||||
return render_template("edit.html", notenumber=notenumber, ntitle=mynote.title, ntext=mynote.text)
|
||||
return render_template("edit.html", notenumber=notenumber, ntitle=mynote.title, ntext=mynote.text)
|
||||
if request.method == "POST":
|
||||
print("POST")
|
||||
print(request.args.get("submit"))
|
||||
notetitle = request.form['title']
|
||||
notetext = request.form['text']
|
||||
notenumber = int(request.form['notenumber'])
|
||||
delnote(notenumber)
|
||||
rightnow = int(time.time())
|
||||
newnote = note(createtime=notenumber, modtime=rightnow, title=notetitle, text=notetext)
|
||||
addnote(newnote)
|
||||
return render_template("read.html", note=newnote.flaskrender())
|
||||
|
||||
|
||||
#Basic route, allows note creation
|
||||
@app.route('/', methods=['POST'])
|
||||
|
@ -26,9 +26,9 @@ class note:
|
||||
timestamp = timestamp.strftime("%d/%m/%Y-%H:%M:%S")
|
||||
return timestamp
|
||||
|
||||
def flaskrender(self):
|
||||
def titlerender(self):
|
||||
"""
|
||||
Render the note as html for flask, using flask.Markup
|
||||
Render the note title and details as html for flask, using flask.Markup.
|
||||
"""
|
||||
import markdown
|
||||
from flask import Markup
|
||||
@ -37,7 +37,25 @@ class note:
|
||||
<hr>
|
||||
<div class="notetitle">{Markup.escape(self.title)}</div>
|
||||
<form action="." method="GET" name="{self.createtime}">
|
||||
<button type="submit" name="delete" value="{self.createtime}" class="delbutton" onclick="return confirm('Really ?')">Delete</button>|<button type="submit" name="edit" value="{self.createtime}" class="editbutton">Edit</button>
|
||||
<button type="submit" name="delete" value="{self.createtime}" class="delbutton" onclick="return confirm('Really ?')">Delete</button>|<button type="submit" name="edit" value="{self.createtime}" class="editbutton">Edit</button>|<button type="submit" name="toread" value="{self.createtime}" class="readbutton">Read</button>
|
||||
</form>
|
||||
<div class="notetime">Created : {self.rendertime(self.createtime)}
|
||||
<br>Modified : {self.rendertime(self.modtime)}</div><br>
|
||||
"""
|
||||
return Markup(rendered)
|
||||
|
||||
def flaskrender(self):
|
||||
"""
|
||||
Render the note whole content as html for flask, using flask.Markup
|
||||
"""
|
||||
import markdown
|
||||
from flask import Markup, url_for
|
||||
|
||||
rendered = f"""
|
||||
<hr>
|
||||
<div class="notetitle">{Markup.escape(self.title)}</div>
|
||||
<form action="." method="GET" name="{self.createtime}">
|
||||
<button type="submit" name="delete" value="{self.createtime}" class="delbutton" onclick="return confirm('Really ?')">Delete</button>|<button type="submit" name="edit" value="{self.createtime}" class="editbutton">Edit</button>|<a href="{ url_for('render') }" class="backlink">Back</a>
|
||||
</form>
|
||||
<div class="notetime">Created : {self.rendertime(self.createtime)}
|
||||
<br>Modified : {self.rendertime(self.modtime)}</div><br>
|
||||
|
@ -43,7 +43,7 @@ def catnotes(notelist: list):
|
||||
"""
|
||||
final = ""
|
||||
for note in notelist:
|
||||
final += note.flaskrender()
|
||||
final += note.titlerender()
|
||||
|
||||
return final
|
||||
|
||||
|
@ -9,9 +9,10 @@
|
||||
|
||||
<h1 class="pagetitle">$ ~/sqnotes</h1>
|
||||
<div class="div1">
|
||||
<form action="." method="POST">
|
||||
<form action="{{ url_for('edit') }}" method="POST">
|
||||
<textarea type="text" name="title" class="title">{{ ntitle }}</textarea><br>
|
||||
<textarea type="text" name="text" cols = "60*" class="text">{{ ntext }}</textarea><br>
|
||||
<input type="hidden" name="notenumber" value="{{ notenumber }}" />
|
||||
<button type="submit" name="submit">OK</button>
|
||||
<div class="notetime">Note : you can drag the textbox to make it bigger.</div>
|
||||
</form>
|
||||
|
20
src/templates/read.html
Normal file
20
src/templates/read.html
Normal file
@ -0,0 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='styles/main.css') }}" type="text/css" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<!--<link href='https://fonts.googleapis.com/css?family=Source Sans Pro' rel='stylesheet'> -->
|
||||
<title>sqnotes</title>
|
||||
</head>
|
||||
<body>
|
||||
{{ note }}
|
||||
</body>
|
||||
<footer>
|
||||
<hr>
|
||||
<div class="notetime">
|
||||
<p>
|
||||
You've reached the bottom. Made by Squip, 2022.
|
||||
</p>
|
||||
</div>
|
||||
</meta>
|
||||
</html>
|
||||
|
Loading…
x
Reference in New Issue
Block a user