0
0
Fork 0

improved show() function, and added show.html template

improvment-NiWeiCong2
HAMED SALMA MOHAMED HUSSEIN 2023-05-21 23:59:36 +08:00
parent 43c719b6b2
commit fa3012920e
2 changed files with 42 additions and 0 deletions

9
app/templates/show.html Normal file
View File

@ -0,0 +1,9 @@
<h1>Here are {{ name }}'s words:</h1>
<table border="2">
<tr>
<th>WORDS</th>
</tr>
{% for word in results %}
<tr><td>{{ word }}</td></tr>
{% endfor %}
</table>

33
app/wordCMD.py Normal file
View File

@ -0,0 +1,33 @@
from flask import Flask, request, Blueprint, render_template
from UseSqlite import InsertQuery, RecordQuery
TKTK = 'token' # set token
show_bp = Blueprint(
'site',
__name__,
)
# The following function is replaced by the template show.html.
# And can be safely deleted.
# def make_html_paragraph(s): # build the word's table
# if s.strip() == '':
# return ''
# lst = s.split(',')
# word = lst[1].strip()
# result = '<tr><td>' + word + '</td></tr>'
# return result
@show_bp.route('/show/<name>/') # set route for show page <name> means the var name to search
def show(name):
token = request.args.get("token")
# when token is wrong
if token != TKTK:
return "token is wrong, please try again"
rq = RecordQuery('./static/wordfreqapp.db')
# search the user's words in db
rq.instructions_with_parameters("SELECT * FROM words WHERE user = ?", (name,))
rq.do_with_parameters()
results = [row.split(",")[1].strip() for row in rq.format_results().split("\n\n")]
return render_template("show.html", name=name, results=results)