Merge branch 'development' of gitlab.ub.uni-bielefeld.de:sfb1288inf/opaque into development

This commit is contained in:
Patrick Jentsch 2019-10-30 08:28:54 +01:00
commit 8b8939b17a
3 changed files with 55 additions and 18 deletions

View File

@ -1,6 +1,6 @@
from flask_wtf import FlaskForm from flask_wtf import FlaskForm
from wtforms import (FileField, IntegerField, StringField, SubmitField, from wtforms import (FileField, StringField, SubmitField,
ValidationError) ValidationError, IntegerField, SelectField)
from wtforms.validators import DataRequired, Length from wtforms.validators import DataRequired, Length
@ -26,8 +26,27 @@ class CreateCorpusForm(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

View File

@ -90,15 +90,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)

View File

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