diff --git a/app.py b/app.py index d2f0a249cc7db819772ed4be4803515fa5810465..71b56c756375f3e507bc67248324dd3cc4a59ac0 100644 --- a/app.py +++ b/app.py @@ -3,7 +3,7 @@ import sys from pathlib import Path import pdfplumber -from flask import Flask, render_template, request, redirect, send_file +from flask import Flask, render_template, request, redirect, send_file, jsonify from werkzeug.utils import secure_filename from title_focus_search_index import TitleFocusSearchIndex @@ -47,16 +47,22 @@ def upload(): return redirect('/') -@app.route("/search") +@app.route("/search", methods=['POST']) def query(): try: index = Index() - query = request.args.get("term") + query = request.form.get("term") + context = request.form.get("context") # TODO: Use context to find better results result = index.search(query) img_name = result["path"][7:] + "_" + str(result["page"]) + ".jpg" - return "slide/" + img_name - except: - return str(sys.exc_info()[0]).replace("<", "-").replace(">", "-") + return jsonify({ + "type": "image", + "path": "slide/" + img_name + }) + except IndexError: + return jsonify({ + "type": "miss" + }) @app.route("/slide/<img_name>") diff --git a/templates/index.html b/templates/index.html index 4a1d7f52bdc00c2c04c1d95528df2f6fa77780ff..35b815d437d34e58275f24be48d6bb1eba82ab1b 100644 --- a/templates/index.html +++ b/templates/index.html @@ -3,19 +3,42 @@ <head> <title>Slide index</title></head> <body> - <h1>Upload new slide</h1> - <form action="upload" enctype="multipart/form-data" method="post"> - <input type="file" name="file"> - <input type="submit" value="Upload"> - </form> - {% for item in ll %}<ul> - <li>{{ item }}</li> +<h1>Upload new slide</h1> +<form action="upload" enctype="multipart/form-data" method="post"> + <input type="file" name="file"> + <input type="submit" value="Upload"> +</form> +{% for item in ll %} + <ul> + <li>{{ item }}</li> </ul>{% endfor %} - <h1>Query</h1> - <form action="search" method="get"> - <input name="term"> - <input type="submit" value="Query"> - </form> +<h1>Query</h1> +<form action="search" method="post"> + <input name="term" placeholder="term"><br> + <input name="context" placeholder="context"><br> + <input type="submit" value="Query"> +</form> + +<button onclick="execute();">Execute</button> + +<script> + function execute() { + var http = new XMLHttpRequest(); + var url = '/search'; + var params = 'term=Freedom&Concept Evaluation' + http.open('POST', url, true); + + http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); + + http.onreadystatechange = function () { + if (http.readyState == 4 && http.status == 200) { + console.log(http.responseText); + console.log(JSON.parse(http.responseText)); + } + } + http.send(params); + } +</script> </body> </html>