mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2024-11-15 09:15:41 +00:00
Add query analysis form options etc.
This commit is contained in:
parent
5f29112390
commit
31c015f761
@ -1,6 +1,6 @@
|
|||||||
from flask_wtf import FlaskForm
|
from flask_wtf import FlaskForm
|
||||||
from wtforms import (MultipleFileField, StringField, SubmitField,
|
from wtforms import (MultipleFileField, StringField, SubmitField,
|
||||||
ValidationError, IntegerField)
|
ValidationError, IntegerField, SelectField)
|
||||||
from wtforms.validators import DataRequired, Length, NumberRange
|
from wtforms.validators import DataRequired, Length, NumberRange
|
||||||
|
|
||||||
|
|
||||||
@ -26,8 +26,27 @@ class AddCorpusFileForm(FlaskForm):
|
|||||||
|
|
||||||
|
|
||||||
class QueryForm(FlaskForm):
|
class QueryForm(FlaskForm):
|
||||||
query = StringField('CQP Query', validators=[DataRequired()])
|
query = StringField('CQP Query', validators=[DataRequired(), (Length(1, 1024))])
|
||||||
# hits_per_page = IntegerField('Hits per page',
|
hits_per_page = SelectField('Hits per page',
|
||||||
# validators=[DataRequired(),
|
choices=[('', 'Nr. of hits per page'),
|
||||||
# NumberRange(min=10, max=50)])
|
('10', '10'),
|
||||||
|
('20', '20'),
|
||||||
|
('30', '30'),
|
||||||
|
('40', '40'),
|
||||||
|
('50', '50')],
|
||||||
|
validators=[DataRequired()],
|
||||||
|
default='30')
|
||||||
|
context = SelectField('Context',
|
||||||
|
choices=[('', 'Words of context around hit'),
|
||||||
|
('5', '5'),
|
||||||
|
('10', '10'),
|
||||||
|
('15', '15'),
|
||||||
|
('20', '20'),
|
||||||
|
('25', '25')],
|
||||||
|
validators=[DataRequired()],
|
||||||
|
default='10')
|
||||||
submit = SubmitField('Start Query')
|
submit = SubmitField('Start Query')
|
||||||
|
|
||||||
|
|
||||||
|
class QueryDownloadForm(FlaskForm):
|
||||||
|
pass
|
||||||
|
@ -55,15 +55,24 @@ def corpus_download(corpus_id):
|
|||||||
@login_required
|
@login_required
|
||||||
def corpus_analysis(corpus_id):
|
def corpus_analysis(corpus_id):
|
||||||
corpus = Corpus.query.get_or_404(corpus_id)
|
corpus = Corpus.query.get_or_404(corpus_id)
|
||||||
|
query = request.args.get('query')
|
||||||
form = QueryForm()
|
form = QueryForm()
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
logger.warning('Data has been sent!')
|
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('Hits: {hits}'.format(hits=form.hits_per_page.data))
|
||||||
|
logger.warning('Context: {context}'.format(context=form.context.data))
|
||||||
flash('Query has been sent!')
|
flash('Query has been sent!')
|
||||||
return redirect(url_for('main.corpus_analysis', corpus_id=corpus_id))
|
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))
|
||||||
return render_template('main/corpora/corpus_analysis.html.j2',
|
return render_template('main/corpora/corpus_analysis.html.j2',
|
||||||
corpus=corpus,
|
corpus=corpus,
|
||||||
form=form,
|
form=form,
|
||||||
|
query=query,
|
||||||
title='Corpus: ' + corpus.title)
|
title='Corpus: ' + corpus.title)
|
||||||
|
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
<span class="card-title">Query and analysis</span>
|
<span class="card-title">Query and analysis</span>
|
||||||
<div class="input-field">
|
<div class="input-field">
|
||||||
<i class="material-icons prefix">search</i>
|
<i class="material-icons prefix">search</i>
|
||||||
<textarea id="{{ form.query.id }}" name="{{ form.query.id }}" required="" type="text" value="" class="materialize-textarea"></textarea>
|
<input autofocus size="1024" data-length="1024" id="{{ form.query.id }}" name="{{ form.query.id }}" required="" type="text" value="{{ query if query != None else '' }}"></input>
|
||||||
{{ form.query.label }}
|
{{ form.query.label }}
|
||||||
{% for error in form.query.errors %}
|
{% for error in form.query.errors %}
|
||||||
<span class="helper-text red-text">{{ error }}</span>
|
<span class="helper-text red-text">{{ error }}</span>
|
||||||
@ -44,7 +44,7 @@
|
|||||||
<div class="right-align">
|
<div class="right-align">
|
||||||
{{ form.submit(class='btn') }}
|
{{ form.submit(class='btn') }}
|
||||||
</div>
|
</div>
|
||||||
<!-- <br>
|
<br>
|
||||||
<span class="card-title">Help</span>
|
<span class="card-title">Help</span>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
@ -54,17 +54,26 @@
|
|||||||
</ul>
|
</ul>
|
||||||
<br>
|
<br>
|
||||||
<span class="card-title">Options</span>
|
<span class="card-title">Options</span>
|
||||||
<select>
|
|
||||||
<option value="" disabled selected>Choose your option</option>
|
|
||||||
<option value="1">10</option>
|
|
||||||
<option value="2">20</option>
|
|
||||||
<option value="3">25</option>
|
|
||||||
<option value="3">50</option>
|
|
||||||
</select>
|
|
||||||
<label>Materialize Select</label>
|
|
||||||
<br>
|
<br>
|
||||||
|
<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 %}
|
||||||
|
<span class="helper-text red-text">{{ error }}</span>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
<div class="input-field">
|
||||||
|
<i class="material-icons prefix">short_text</i>
|
||||||
|
{{ form.context() }}
|
||||||
|
{{ form.context.label }}
|
||||||
|
{% for error in form.context.errors %}
|
||||||
|
<span class="helper-text red-text">{{ error }}</span>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
<span class="card-title">Download Results</span>
|
<span class="card-title">Download Results</span>
|
||||||
</div> -->
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user