From 3fb5802682b17301923295744c9842b9003f4078 Mon Sep 17 00:00:00 2001 From: Patrick Jentsch <p.jentsch@uni-bielefeld.de> Date: Thu, 14 Nov 2019 15:53:43 +0100 Subject: [PATCH] Cleanup corpus analysis code --- app/corpora/views.py | 32 +++++++------------ ...nalysis.html.j2 => analyse_corpus.html.j2} | 28 ++++++++-------- app/templates/corpora/corpus.html.j2 | 2 +- 3 files changed, 26 insertions(+), 36 deletions(-) rename app/templates/corpora/{corpus_analysis.html.j2 => analyse_corpus.html.j2} (85%) diff --git a/app/corpora/views.py b/app/corpora/views.py index c91b8783..9c86a644 100644 --- a/app/corpora/views.py +++ b/app/corpora/views.py @@ -1,4 +1,4 @@ -from app import db, logger +from app import db from app.models import Corpus, CorpusFile from flask import (abort, current_app, flash, redirect, request, render_template, url_for, send_from_directory) @@ -6,7 +6,7 @@ from flask_login import current_user, login_required from werkzeug.utils import secure_filename from . import corpora from .background_functions import (delete_corpus_, delete_corpus_file_, - edit_corpus_file_) + edit_corpus_file_) from .forms import (AddCorpusFileForm, AddCorpusForm, EditCorpusFileForm, QueryDownloadForm, QueryForm) import os @@ -48,31 +48,21 @@ def corpus(corpus_id): title='Corpus') -@corpora.route('/<int:corpus_id>/analysis', methods=['GET', 'POST']) +@corpora.route('/<int:corpus_id>/analyse') @login_required -def corpus_analysis(corpus_id): +def analyse_corpus(corpus_id): corpus = Corpus.query.get_or_404(corpus_id) if corpus.status == 'prepared': corpus.status = 'start analysis' db.session.commit() - query = request.args.get('query') - logger.warning('Query first: {}'.format(query)) - hits_per_page = request.args.get('hits_per_page', 30) - context = request.args.get('context', 10) - dl_form = QueryDownloadForm() - form = QueryForm(hits_per_page=hits_per_page, context=context, query=query) - if form.validate_on_submit(): - flash('Query has been sent!') - query = form.query.data - hits_per_page = form.hits_per_page.data - context = form.context.data - return redirect(url_for('corpora.corpus_analysis', corpus_id=corpus_id, - query=query, hits_per_page=hits_per_page, - context=context)) - return render_template('corpora/corpus_analysis.html.j2', + query_download_form = QueryDownloadForm() + query_form = QueryForm(context=request.args.get('context', 10), + hits_per_page=request.args.get('hits_per_page', 30), + query=request.args.get('query')) + return render_template('corpora/analyse_corpus.html.j2', corpus_id=corpus_id, - form=form, dl_form=dl_form, - title='Corpus: {}'.format(corpus.title)) + query_download_form=query_download_form, + query_form=query_form, title='Analyse Corpus') @corpora.route('/<int:corpus_id>/delete') diff --git a/app/templates/corpora/corpus_analysis.html.j2 b/app/templates/corpora/analyse_corpus.html.j2 similarity index 85% rename from app/templates/corpora/corpus_analysis.html.j2 rename to app/templates/corpora/analyse_corpus.html.j2 index 7185f13d..080eeca1 100644 --- a/app/templates/corpora/corpus_analysis.html.j2 +++ b/app/templates/corpora/analyse_corpus.html.j2 @@ -6,12 +6,12 @@ <div class="card"> <div class="card-content"> <form id="query-form" method="POST"> - {{ form.hidden_tag() }} + {{ query_form.hidden_tag() }} <span class="card-title">Query and analysis</span> <div class="input-field"> - {{ form.query(class='materialize-textarea') }} - {{ form.query.label }} - {% for error in form.query.errors %} + {{ query_form.query(class='materialize-textarea') }} + {{ query_form.query.label }} + {% for error in query_form.query.errors %} <span class="helper-text red-text">{{ error }}</span> {% endfor %} </div> @@ -23,17 +23,17 @@ <span class="card-title">Options</span> <div class="input-field"> <i class="material-icons prefix">format_list_numbered</i> - {{ form.hits_per_page() }} - {{ form.hits_per_page.label }} - {% for error in form.hits_per_page.errors %} + {{ query_form.hits_per_page() }} + {{ query_form.hits_per_page.label }} + {% for error in query_form.hits_per_page.errors %} <span class="helper-text red-text">{{ error }}</span> {% endfor %} </div> <div class="input-field"> <i class="material-icons prefix">short_text</i> - {{ form.context() }} - {{ form.context.label }} - {% for error in form.context.errors %} + {{ query_form.context() }} + {{ query_form.context.label }} + {% for error in query_form.context.errors %} <span class="helper-text red-text">{{ error }}</span> {% endfor %} </div> @@ -44,14 +44,14 @@ <div class="card"> <div class="card-content"> <form id="download-form" method="POST"> - {{ dl_form.hidden_tag() }} + {{ query_download_form.hidden_tag() }} <span class="card-title">Download Results</span> <p>Downlaod all results of the current query as csv, excel or json file.</p> <div class="input-field"> <i class="material-icons prefix">insert_drive_file</i> - {{ dl_form.file_type() }} - {{ dl_form.file_type.label }} - {% for error in dl_form.file_type.errors %} + {{ query_download_form.file_type() }} + {{ query_download_form.file_type.label }} + {% for error in query_download_form.file_type.errors %} <span class="helper-text red-text">{{ error }}</span> {% endfor %} </div> diff --git a/app/templates/corpora/corpus.html.j2 b/app/templates/corpora/corpus.html.j2 index 98e1f81e..84367cf8 100644 --- a/app/templates/corpora/corpus.html.j2 +++ b/app/templates/corpora/corpus.html.j2 @@ -98,7 +98,7 @@ </div> </div> <div class="card-action right-align"> - <a href="{{ url_for('corpora.corpus_analysis', corpus_id=corpus.id) }}" class="waves-effect waves-light btn hide" id="analyse"><i class="material-icons left">help</i>Analyse</a> + <a href="{{ url_for('corpora.analyse_corpus', corpus_id=corpus.id) }}" class="waves-effect waves-light btn hide" id="analyse"><i class="material-icons left">help</i>Analyse</a> {% if corpus.files[0] is defined %} <a href="{{ url_for('corpora.prepare_corpus', corpus_id=corpus.id) }}" class="waves-effect waves-light btn" id="prepare"><i class="material-icons left">whatshot</i>Prepare</a> {% endif %} -- GitLab