forked from mrlan/EnglishPal
42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
from flask import Flask, request, Blueprint, render_template
|
|
from UseSqlite import InsertQuery, RecordQuery
|
|
|
|
TKTK = 'token' # set token
|
|
|
|
show_bp = Blueprint(
|
|
'site',
|
|
__name__,
|
|
)
|
|
|
|
|
|
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("SELECT * FROM words where user = \'" + name + "\'")
|
|
rq.do()
|
|
# show the results
|
|
record = '<h1>' + f"Here are {name}'s words:" + '</h1>'
|
|
record += '<table border= \"2\" >'
|
|
record += '<tr>'
|
|
record += '<th>WORDS</th>'
|
|
record += '</tr>'
|
|
for r in rq.format_results().split('\n\n'):
|
|
record += '%s' % (make_html_paragraph(r))
|
|
record += '</table>'
|
|
return record + '\n'
|