Skip to content
Snippets Groups Projects
Commit 3fb58026 authored by Patrick Jentsch's avatar Patrick Jentsch
Browse files

Cleanup corpus analysis code

parent df98f3a9
Branches
Tags
No related merge requests found
from app import db, logger from app import db
from app.models import Corpus, CorpusFile from app.models import Corpus, CorpusFile
from flask import (abort, current_app, flash, redirect, request, from flask import (abort, current_app, flash, redirect, request,
render_template, url_for, send_from_directory) render_template, url_for, send_from_directory)
...@@ -6,7 +6,7 @@ from flask_login import current_user, login_required ...@@ -6,7 +6,7 @@ from flask_login import current_user, login_required
from werkzeug.utils import secure_filename from werkzeug.utils import secure_filename
from . import corpora from . import corpora
from .background_functions import (delete_corpus_, delete_corpus_file_, from .background_functions import (delete_corpus_, delete_corpus_file_,
edit_corpus_file_) edit_corpus_file_)
from .forms import (AddCorpusFileForm, AddCorpusForm, EditCorpusFileForm, from .forms import (AddCorpusFileForm, AddCorpusForm, EditCorpusFileForm,
QueryDownloadForm, QueryForm) QueryDownloadForm, QueryForm)
import os import os
...@@ -48,31 +48,21 @@ def corpus(corpus_id): ...@@ -48,31 +48,21 @@ def corpus(corpus_id):
title='Corpus') title='Corpus')
@corpora.route('/<int:corpus_id>/analysis', methods=['GET', 'POST']) @corpora.route('/<int:corpus_id>/analyse')
@login_required @login_required
def corpus_analysis(corpus_id): def analyse_corpus(corpus_id):
corpus = Corpus.query.get_or_404(corpus_id) corpus = Corpus.query.get_or_404(corpus_id)
if corpus.status == 'prepared': if corpus.status == 'prepared':
corpus.status = 'start analysis' corpus.status = 'start analysis'
db.session.commit() db.session.commit()
query = request.args.get('query') query_download_form = QueryDownloadForm()
logger.warning('Query first: {}'.format(query)) query_form = QueryForm(context=request.args.get('context', 10),
hits_per_page = request.args.get('hits_per_page', 30) hits_per_page=request.args.get('hits_per_page', 30),
context = request.args.get('context', 10) query=request.args.get('query'))
dl_form = QueryDownloadForm() return render_template('corpora/analyse_corpus.html.j2',
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',
corpus_id=corpus_id, corpus_id=corpus_id,
form=form, dl_form=dl_form, query_download_form=query_download_form,
title='Corpus: {}'.format(corpus.title)) query_form=query_form, title='Analyse Corpus')
@corpora.route('/<int:corpus_id>/delete') @corpora.route('/<int:corpus_id>/delete')
......
...@@ -6,12 +6,12 @@ ...@@ -6,12 +6,12 @@
<div class="card"> <div class="card">
<div class="card-content"> <div class="card-content">
<form id="query-form" method="POST"> <form id="query-form" method="POST">
{{ form.hidden_tag() }} {{ query_form.hidden_tag() }}
<span class="card-title">Query and analysis</span> <span class="card-title">Query and analysis</span>
<div class="input-field"> <div class="input-field">
{{ form.query(class='materialize-textarea') }} {{ query_form.query(class='materialize-textarea') }}
{{ form.query.label }} {{ query_form.query.label }}
{% for error in form.query.errors %} {% for error in query_form.query.errors %}
<span class="helper-text red-text">{{ error }}</span> <span class="helper-text red-text">{{ error }}</span>
{% endfor %} {% endfor %}
</div> </div>
...@@ -23,17 +23,17 @@ ...@@ -23,17 +23,17 @@
<span class="card-title">Options</span> <span class="card-title">Options</span>
<div class="input-field"> <div class="input-field">
<i class="material-icons prefix">format_list_numbered</i> <i class="material-icons prefix">format_list_numbered</i>
{{ form.hits_per_page() }} {{ query_form.hits_per_page() }}
{{ form.hits_per_page.label }} {{ query_form.hits_per_page.label }}
{% for error in form.hits_per_page.errors %} {% for error in query_form.hits_per_page.errors %}
<span class="helper-text red-text">{{ error }}</span> <span class="helper-text red-text">{{ error }}</span>
{% endfor %} {% endfor %}
</div> </div>
<div class="input-field"> <div class="input-field">
<i class="material-icons prefix">short_text</i> <i class="material-icons prefix">short_text</i>
{{ form.context() }} {{ query_form.context() }}
{{ form.context.label }} {{ query_form.context.label }}
{% for error in form.context.errors %} {% for error in query_form.context.errors %}
<span class="helper-text red-text">{{ error }}</span> <span class="helper-text red-text">{{ error }}</span>
{% endfor %} {% endfor %}
</div> </div>
...@@ -44,14 +44,14 @@ ...@@ -44,14 +44,14 @@
<div class="card"> <div class="card">
<div class="card-content"> <div class="card-content">
<form id="download-form" method="POST"> <form id="download-form" method="POST">
{{ dl_form.hidden_tag() }} {{ query_download_form.hidden_tag() }}
<span class="card-title">Download Results</span> <span class="card-title">Download Results</span>
<p>Downlaod all results of the current query as csv, excel or json file.</p> <p>Downlaod all results of the current query as csv, excel or json file.</p>
<div class="input-field"> <div class="input-field">
<i class="material-icons prefix">insert_drive_file</i> <i class="material-icons prefix">insert_drive_file</i>
{{ dl_form.file_type() }} {{ query_download_form.file_type() }}
{{ dl_form.file_type.label }} {{ query_download_form.file_type.label }}
{% for error in dl_form.file_type.errors %} {% for error in query_download_form.file_type.errors %}
<span class="helper-text red-text">{{ error }}</span> <span class="helper-text red-text">{{ error }}</span>
{% endfor %} {% endfor %}
</div> </div>
......
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
</div> </div>
</div> </div>
<div class="card-action right-align"> <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 %} {% 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> <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 %} {% endif %}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment