mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-03 20:02:47 +00:00 
			
		
		
		
	Add first iteration of query and analysis corpora page
This commit is contained in:
		@@ -1,7 +1,7 @@
 | 
			
		||||
from flask_wtf import FlaskForm
 | 
			
		||||
from wtforms import (MultipleFileField, StringField, SubmitField,
 | 
			
		||||
                     ValidationError)
 | 
			
		||||
from wtforms.validators import DataRequired, Length
 | 
			
		||||
                     ValidationError, IntegerField)
 | 
			
		||||
from wtforms.validators import DataRequired, Length, NumberRange
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class CreateCorpusForm(FlaskForm):
 | 
			
		||||
@@ -16,3 +16,11 @@ class CreateCorpusForm(FlaskForm):
 | 
			
		||||
            if not file.filename.lower().endswith('.vrt'):
 | 
			
		||||
                raise ValidationError('File does not have an approved '
 | 
			
		||||
                                      'extension: .vrt')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class QueryForm(FlaskForm):
 | 
			
		||||
    query = StringField('CQP Query', validators=[DataRequired()])
 | 
			
		||||
    # hits_per_page = IntegerField('Hits per page',
 | 
			
		||||
                                 # validators=[DataRequired(),
 | 
			
		||||
                                 #             NumberRange(min=10, max=50)])
 | 
			
		||||
    submit = SubmitField('Start Query')
 | 
			
		||||
 
 | 
			
		||||
@@ -3,12 +3,13 @@ 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 CreateCorpusForm
 | 
			
		||||
from .forms import CreateCorpusForm, QueryForm
 | 
			
		||||
from .. import db
 | 
			
		||||
from ..models import Corpus, CorpusFile, Job
 | 
			
		||||
from werkzeug.utils import secure_filename
 | 
			
		||||
import os
 | 
			
		||||
import threading
 | 
			
		||||
import logging
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@main.route('/')
 | 
			
		||||
@@ -62,12 +63,19 @@ def corpus_download(corpus_id):
 | 
			
		||||
                               filename=file)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@main.route('/corpora/<int:corpus_id>/analysis')
 | 
			
		||||
@main.route('/corpora/<int:corpus_id>/analysis', methods=['GET', 'POST'])
 | 
			
		||||
@login_required
 | 
			
		||||
def corpus_analysis(corpus_id):
 | 
			
		||||
    corpus = Corpus.query.get_or_404(corpus_id)
 | 
			
		||||
    form = QueryForm()
 | 
			
		||||
    if form.validate_on_submit():
 | 
			
		||||
        logger = logging.getLogger(__name__)
 | 
			
		||||
        logger.warning('Data has been sent!')
 | 
			
		||||
        flash('Query has been sent!')
 | 
			
		||||
        return redirect(url_for('main.corpus_analysis', corpus_id=corpus_id))
 | 
			
		||||
    return render_template('main/corpora/corpus_analysis.html.j2',
 | 
			
		||||
                           corpus=corpus,
 | 
			
		||||
                           form=form,
 | 
			
		||||
                           title='Corpus: ' + corpus.title)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user