mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2025-06-12 09:00:40 +00:00
Add more form fields to corpus analysis
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
from flask_wtf import FlaskForm
|
||||
from wtforms import (FileField, StringField, SubmitField,
|
||||
ValidationError, IntegerField, SelectField)
|
||||
ValidationError, IntegerField, SelectField, TextAreaField)
|
||||
from wtforms.validators import DataRequired, Length
|
||||
|
||||
|
||||
@ -26,7 +26,8 @@ class CreateCorpusForm(FlaskForm):
|
||||
|
||||
|
||||
class QueryForm(FlaskForm):
|
||||
query = StringField('CQP Query', validators=[DataRequired(), (Length(1, 1024))])
|
||||
query = TextAreaField('CQP Query', validators=[DataRequired(),
|
||||
(Length(1, 1024))])
|
||||
hits_per_page = SelectField('Hits per page',
|
||||
choices=[('', 'Nr. of hits per page'),
|
||||
('10', '10'),
|
||||
@ -34,8 +35,7 @@ class QueryForm(FlaskForm):
|
||||
('30', '30'),
|
||||
('40', '40'),
|
||||
('50', '50')],
|
||||
validators=[DataRequired()],
|
||||
default='30')
|
||||
validators=[DataRequired()])
|
||||
context = SelectField('Context',
|
||||
choices=[('', 'Words of context around hit'),
|
||||
('5', '5'),
|
||||
@ -43,10 +43,14 @@ class QueryForm(FlaskForm):
|
||||
('15', '15'),
|
||||
('20', '20'),
|
||||
('25', '25')],
|
||||
validators=[DataRequired()],
|
||||
default='10')
|
||||
validators=[DataRequired()])
|
||||
submit = SubmitField('Start Query')
|
||||
|
||||
|
||||
class QueryDownloadForm(FlaskForm):
|
||||
pass
|
||||
file_type = SelectField('File type',
|
||||
choices=[('', 'Choose file type'),
|
||||
('csv', 'csv'),
|
||||
('json', 'json'),
|
||||
('excel', 'excel')],
|
||||
validators=[DataRequired()])
|
||||
|
@ -3,7 +3,7 @@ from flask import (abort, current_app, flash, redirect, request,
|
||||
render_template, url_for, send_from_directory)
|
||||
from flask_login import current_user, login_required
|
||||
from . import main
|
||||
from .forms import AddCorpusFileForm, CreateCorpusForm, QueryForm
|
||||
from .forms import AddCorpusFileForm, CreateCorpusForm, QueryForm, QueryDownloadForm
|
||||
from .. import db
|
||||
from ..models import Corpus, CorpusFile, Job, JobInput, JobResult
|
||||
from werkzeug.utils import secure_filename
|
||||
@ -87,25 +87,35 @@ def corpus_download(corpus_id):
|
||||
@main.route('/corpora/<int:corpus_id>/analysis', methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def corpus_analysis(corpus_id):
|
||||
logger = logging.getLogger(__name__)
|
||||
corpus = Corpus.query.get_or_404(corpus_id)
|
||||
query = request.args.get('query')
|
||||
form = QueryForm()
|
||||
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():
|
||||
logger = logging.getLogger(__name__)
|
||||
logger.warning('Data has been sent!')
|
||||
logger.warning('Data labels: {data}'.format(data=[data for data in form.data]))
|
||||
logger.warning('Query: {q}'.format(q=form.query.data))
|
||||
logger.warning('Query Second: {q}'.format(q=form.query.data))
|
||||
logger.warning('Hits: {hits}'.format(hits=form.hits_per_page.data))
|
||||
logger.warning('Context: {context}'.format(context=form.context.data))
|
||||
flash('Query has been sent!')
|
||||
query = form.query.data
|
||||
logger.warning('Session query: {sq}'.format(sq=query))
|
||||
return redirect(url_for('main.corpus_analysis', corpus_id=corpus_id,
|
||||
query=query))
|
||||
hits_per_page = form.hits_per_page.data
|
||||
context = form.context.data
|
||||
logger.warning('Query Thrid: {sq}'.format(sq=query))
|
||||
return redirect(url_for('main.corpus_analysis',
|
||||
corpus_id=corpus_id,
|
||||
query=query,
|
||||
hits_per_page=hits_per_page,
|
||||
context=context))
|
||||
return render_template('main/corpora/corpus_analysis.html.j2',
|
||||
corpus=corpus,
|
||||
form=form,
|
||||
query=query,
|
||||
dl_form=dl_form,
|
||||
title='Corpus: ' + corpus.title)
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user