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

This commit is contained in:
Stephan Porada 2019-09-12 16:45:12 +02:00
commit 1bdae333b7
8 changed files with 53 additions and 22 deletions

View File

@ -1,5 +1,6 @@
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, BooleanField, SubmitField, ValidationError, TextAreaField
from wtforms import (StringField, PasswordField, BooleanField, SubmitField,
ValidationError)
from wtforms.validators import DataRequired, Length, Email, Regexp, EqualTo
from ..models import User
@ -13,13 +14,20 @@ class LoginForm(FlaskForm):
class RegistrationForm(FlaskForm):
email = StringField('Email', validators=[DataRequired(), Email()])
username = StringField('Username', validators=[
DataRequired(), Length(1, 64),
Regexp('^[A-Za-z][A-Za-z0-9_.]*$', 0,
'Usernames must have only letters, numbers, dots or '
'underscores')])
password = PasswordField('Password', validators=[
DataRequired(), EqualTo('password2', message='Passwords must match.')])
username = StringField(
'Username',
validators=[DataRequired(),
Length(1, 64),
Regexp('^[A-Za-z][A-Za-z0-9_.]*$',
0,
'Usernames must have only letters, numbers, dots '
'or underscores')]
)
password = PasswordField(
'Password',
validators=[DataRequired(),
EqualTo('password2', message='Passwords must match.')]
)
password2 = PasswordField('Confirm password', validators=[DataRequired()])
submit = SubmitField('Register')
@ -79,8 +87,8 @@ class ChangePasswordForm(FlaskForm):
class EditProfileForm(FlaskForm):
email = StringField('Change Email', validators=[Length(0, 64),
DataRequired()])
email = StringField('Change Email',
validators=[Length(0, 254), DataRequired()])
submit = SubmitField('Change Email')
def __init__(self, user, *args, **kwargs):

View File

@ -110,7 +110,7 @@ class User(UserMixin, db.Model):
# Primary key
id = db.Column(db.Integer, primary_key=True)
confirmed = db.Column(db.Boolean, default=False)
email = db.Column(db.String(64), unique=True, index=True)
email = db.Column(db.String(254), unique=True, index=True)
password_hash = db.Column(db.String(128))
registration_date = db.Column(db.DateTime(), default=datetime.utcnow)
role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))

View File

@ -1,5 +1,6 @@
from flask_wtf import FlaskForm
from wtforms import MultipleFileField, SelectField, StringField, SubmitField, ValidationError
from wtforms import (BooleanField, MultipleFileField, SelectField, StringField,
SubmitField, ValidationError)
from wtforms.validators import DataRequired, Length
@ -34,6 +35,7 @@ class NewNLPJobForm(FlaskForm):
class NewOCRJobForm(FlaskForm):
binarization = BooleanField('Binarazation')
description = StringField('Description',
validators=[DataRequired(), Length(1, 255)])
files = MultipleFileField('Files', validators=[DataRequired()])
@ -49,6 +51,7 @@ class NewOCRJobForm(FlaskForm):
('por', 'Portuguese'),
('spa', 'Spanish; Castilian')],
validators=[DataRequired()])
split = BooleanField('Split')
submit = SubmitField('Submit')
title = StringField('Title', validators=[DataRequired(), Length(1, 32)])
version = SelectField('Version',

View File

@ -62,9 +62,13 @@ def ocr():
mem_mb=8192,
n_cores=4,
service='ocr',
service_args=json.dumps([
service_args=json.dumps(
[
'-l {}'.format(new_ocr_job_form.language.data),
'--skip-binarisation']),
'' if new_ocr_job_form.binarization.data
else '--skip-binarisation'
]
),
service_version=new_ocr_job_form.version.data,
status='preparing',
title=new_ocr_job_form.title.data)

View File

@ -13,7 +13,7 @@
{{ form.hidden_tag() }}
<div class="input-field">
<i class="material-icons prefix">person</i>
{{ form.username(class='validate') }}
{{ form.username(class='validate', data_length='64') }}
{{ form.username.label }}
{% for error in form.username.errors %}
<span class="helper-text red-text">{{ error }}</span>

View File

@ -94,7 +94,7 @@
<div class="col s12 m4">
<div class="input-field">
<i class="material-icons prefix">title</i>
{{ create_corpus_form.title() }}
{{ create_corpus_form.title(data_length='32') }}
{{ create_corpus_form.title.label }}
{% for error in create_corpus_form.title.errors %}
<span class="helper-text red-text">{{ error }}</span>
@ -104,7 +104,7 @@
<div class="col s12 m8">
<div class="input-field">
<i class="material-icons prefix">description</i>
{{ create_corpus_form.description() }}
{{ create_corpus_form.description(data_length='255') }}
{{ create_corpus_form.description.label }}
{% for error in create_corpus_form.description.errors %}
<span class="helper-text red-text">{{ error }}</span>

View File

@ -88,8 +88,7 @@
{% endfor %}
</div>
</div>
</div>
<div class="row">
<div class="col s12"></div>
<div class="col s12 m6">
<div class="file-field input-field">
<div class="btn">
@ -114,6 +113,23 @@
{% endfor %}
</div>
</div>
<div class="col s12"></div>
<div class="col s12">
<div class="switch right-align">
<label>
Perform binarization
{{ new_ocr_job_form.binarization() }}
<span class="lever"></span>
</label>
</div>
<div class="switch right-align">
<label>
Split pages in half
<input type="checkbox" disabled>
<span class="lever"></span>
</label>
</div>
</div>
</div>
</div>
<div class="card-action right-align">

View File

@ -30,7 +30,7 @@ def upgrade():
op.create_table('users',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('confirmed', sa.Boolean(), nullable=True),
sa.Column('email', sa.String(length=64), nullable=True),
sa.Column('email', sa.String(length=254), nullable=True),
sa.Column('password_hash', sa.String(length=128), nullable=True),
sa.Column('registration_date', sa.DateTime(), nullable=True),
sa.Column('role_id', sa.Integer(), nullable=True),