2015-11-10 22:31:14 +01:00
|
|
|
from __future__ import unicode_literals
|
|
|
|
|
2015-11-11 00:50:28 +01:00
|
|
|
from flask.ext.babel import gettext as _
|
2015-11-10 22:31:14 +01:00
|
|
|
from flask.ext.wtf import Form
|
2015-11-11 00:50:28 +01:00
|
|
|
from wtforms import IntegerField, StringField, RadioField
|
2015-11-10 22:31:14 +01:00
|
|
|
from wtforms.validators import (
|
|
|
|
AnyOf, DataRequired, Email, Length, Optional, Regexp
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
class FingerPrint(Regexp):
|
|
|
|
def __init__(self, **kwargs):
|
|
|
|
super(FingerPrint, self).__init__(r'^[a-fA-F0-9]*$', **kwargs)
|
|
|
|
|
|
|
|
|
|
|
|
class PlainText(Regexp):
|
|
|
|
def __init__(self, **kwargs):
|
|
|
|
super(PlainText, self).__init__(r'^[a-zA-Z\-0-9]*$')
|
|
|
|
|
|
|
|
|
|
|
|
class DeveloperData(Form):
|
|
|
|
email = StringField('email', validators=[DataRequired(), Email()])
|
|
|
|
name = StringField('name', validators=[DataRequired()])
|
|
|
|
gpgfp = StringField('gpgfp', validators=[
|
|
|
|
FingerPrint(),
|
|
|
|
Length(min=32, max=40)
|
|
|
|
])
|
|
|
|
username = StringField('username', validators=[PlainText()])
|
|
|
|
nonddemail = StringField('nonddemail', validators=[Email()])
|
|
|
|
aliothusername = StringField('aliothusername', validators=[PlainText()])
|
2015-11-11 00:50:28 +01:00
|
|
|
mode = RadioField(
|
|
|
|
'mode', default='html', choices=[
|
|
|
|
('json', _('JSON')), ('html', _('HTML'))
|
|
|
|
], validators=[AnyOf(['json', 'html'])]
|
2015-11-10 22:31:14 +01:00
|
|
|
)
|
|
|
|
forumsid = IntegerField('forumsid', default=None, validators=[Optional()])
|
|
|
|
wikihomepage = StringField('wikihomepage', default=None, validators=[
|
|
|
|
Optional()])
|
2015-11-11 00:49:12 +01:00
|
|
|
|
|
|
|
|
|
|
|
class DeveloperDataRequest(Form):
|
|
|
|
email = StringField('email', validators=[DataRequired(), Email()])
|