Cleanup corpus analysis code

This commit is contained in:
Patrick Jentsch 2019-11-14 15:53:43 +01:00
parent df98f3a900
commit 3fb5802682
3 changed files with 26 additions and 36 deletions

View File

@ -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)
@ -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')

View File

@ -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>

View File

@ -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 %}