From 9209d48e308696b0e90da3c1d37968c5608ce67b Mon Sep 17 00:00:00 2001 From: Mokaddem Date: Wed, 6 Jul 2016 14:30:32 +0200 Subject: [PATCH] searching now working with preview, details and redirection to the paste display page. --- var/www/Flask_server.py | 35 ++++++++++++++++++++++--- var/www/templates/search.html | 26 +++++++++++++----- var/www/templates/show_saved_paste.html | 32 +++++++++++----------- 3 files changed, 67 insertions(+), 26 deletions(-) diff --git a/var/www/Flask_server.py b/var/www/Flask_server.py index a11b1920..6bf31038 100755 --- a/var/www/Flask_server.py +++ b/var/www/Flask_server.py @@ -20,7 +20,10 @@ if not os.path.exists(configfile): cfg = ConfigParser.ConfigParser() cfg.read(configfile) -max_preview_char = 500 + +max_preview_char = cfg.get("Flask", "max_preview_char") +max_preview_modal = cfg.get("Flask", "max_preview_modal") + # REDIS # r_serv = redis.StrictRedis( @@ -86,7 +89,7 @@ def search(): results = searcher.search(query, limit=None) for x in results: r.append(x.items()[0][1]) - content = Paste.Paste(x.items()[0][1]).get_p_content() + content = Paste.Paste(x.items()[0][1]).get_p_content().decode('utf8', 'ignore') content_range = max_preview_char if len(content)>max_preview_char else len(content)-1 c.append(content[0:content_range]) return render_template("search.html", r=r, c=c) @@ -117,7 +120,33 @@ def tldstrending(): @app.route("/showsavedpaste/") def showsavedpaste(): - return render_template("show_saved_paste.html") + requested_path = request.args.get('paste', '') + paste = Paste.Paste(requested_path) + p_date = str(paste._get_p_date()) + p_date = p_date[6:]+'/'+p_date[4:6]+'/'+p_date[0:4] + p_source = paste.p_source + p_encoding = paste._get_p_encoding() + p_language = paste._get_p_language() + p_size = paste.p_size + p_mime = paste.p_mime + p_lineinfo = paste.get_lines_info() + p_content = paste.get_p_content().decode('utf-8', 'ignore') + return render_template("show_saved_paste.html", date=p_date, source=p_source, encoding=p_encoding, language=p_language, size=p_size, mime=p_mime, lineinfo=p_lineinfo, content=p_content) + +@app.route("/showpreviewpaste/") +def showpreviewpaste(): + requested_path = request.args.get('paste', '') + paste = Paste.Paste(requested_path) + p_date = str(paste._get_p_date()) + p_date = p_date[6:]+'/'+p_date[4:6]+'/'+p_date[0:4] + p_source = paste.p_source + p_encoding = paste._get_p_encoding() + p_language = paste._get_p_language() + p_size = paste.p_size + p_mime = paste.p_mime + p_lineinfo = paste.get_lines_info() + p_content = paste.get_p_content()[0:max_preview_modal].decode('utf-8', 'ignore') + return render_template("show_saved_paste.html", date=p_date, source=p_source, encoding=p_encoding, language=p_language, size=p_size, mime=p_mime, lineinfo=p_lineinfo, content=p_content) if __name__ == "__main__": diff --git a/var/www/templates/search.html b/var/www/templates/search.html index b9b7caeb..1feef403 100644 --- a/var/www/templates/search.html +++ b/var/www/templates/search.html @@ -25,6 +25,13 @@ max-height: 500px; font-size: 13px; } + xmp { + white-space:pre-wrap; + word-wrap:break-word; + } + .modal-backdrop.fade { + opacity: 0; + } @@ -57,14 +64,14 @@ @@ -98,7 +105,7 @@ {{ i + 1 }} {{ path }} -

+

{% set i = i + 1 %} {% endfor %} @@ -119,6 +126,7 @@ @@ -127,11 +135,17 @@ $(document).ready(function(){ // On click, get html content from url and update the corresponding modal $("[data-toggle='modal']").on("click", function (event) { event.preventDefault(); - var url = $(this).attr('data-url'); - var modal_id = $(this).attr('data-target'); + var modal=$(this) + var url = " {{ url_for('showpreviewpaste') }}?paste=" + $(this).attr('data-path') + "&num=" + $(this).attr('data-num'); $.get(url, function (data) { $("#mymodalbody").html(data); + $("#button_show_path").attr('href', $(modal).attr('data-url')); + $("#button_show_path").show('fast'); }); }); + $("#mymodal").on('hidden.bs.modal', function () { + $("#mymodalbody").html("

Loading paste information...

"); + $("#button_show_path").attr('href', ''); + }); diff --git a/var/www/templates/show_saved_paste.html b/var/www/templates/show_saved_paste.html index 0468ca2a..0accffb1 100644 --- a/var/www/templates/show_saved_paste.html +++ b/var/www/templates/show_saved_paste.html @@ -7,7 +7,7 @@ -

Paste:

+

Paste: {{ request.args.get('num') }}

{{ request.args.get('paste') }}



@@ -19,30 +19,28 @@ Source Encoding Language - Size + Size (Kb) Mime - Number of line + Number of lines + Max line length - John - Doe - john@example.com - - - Mary - Moe - mary@example.com - - - July - Dooley - july@example.com + {{ date }} + {{ source }} + {{ encoding }} + {{ language }} + {{ size }} + {{ mime }} + {{ lineinfo.0 }} + {{ lineinfo.1 }} +

Content:

+

{{ content }}

+ -