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'