class SapplyForm(Form): name = TextField(u'简述', validators=[required(), length(max=64)]) s_id = SelectField(u'机器型号', coerce=int, validators=[required()]) s_num = TextField(u'数量', validators=[required(), regexp(u'^[0-9]+$'), length(max=11)]) status = TextField(u'状态', validators=[]) days = TextField(u'天数', validators=[regexp(u'^[0-9]*$')]) desc = TextAreaField(u'描述', validators=[])
class SmodelForm(Form): name = TextField(u'型号', validators=[required(), length(max=20)]) stype_id = SelectField(u'所属栏目', coerce=int, validators=[required()]) approver_id = SelectField(u'审核流程', coerce=int, validators=[required()]) cpucores = TextField( u'CPU核数', validators=[required(), regexp(u'^[0-9]+$'), length(max=11)]) memsize = TextField( u'内存/G', validators=[required(), regexp(u'^[0-9]+$'), length(max=11)]) disk = TextField(u'磁盘', validators=[required(), length(max=128)]) if_v = SelectField(u'机器类型', default='0', choices=[('1', u'虚拟机'), ('0', u'物理机')], validators=[required()]) template = TextAreaField(u'模板', validators=[])
class SignupForm(Form): next = HiddenField() username = TextField(default='', validators=[ required(message=u'用户名是必须的'), regexp(RE_MATCH_UKEY, message=u'用户名只能包含英文,数字,小数点,下划线') ]) password = TextField(default='', validators=[required(message=u'密码不能为空')]) repassword = TextField( default='', validators=[equal_to('password', message=u'两次输入的密码不相符')]) email = TextField( default='', validators=[required(message=u'邮箱是必须的'), email(message='u你的邮箱不合法')]) def validate_username(self, field): if backend.is_username_exist(field.data.encode('utf-8')): raise ValidationError, u'用户名已经存在' def validate_email(self, field): if backend.is_email_exist(field.data.encode('utf-8')): raise ValidationError, u'邮箱已经存在'
# -*- coding: utf-8 -*- from flask.ext.wtf import regexp from flask.ext.babel import lazy_gettext as _ ''' is_legal_name: check whether name except task name is valid; is_legal_taskname: check whether task name is valid; is_legal_svn: check whether svn address is valid; ''' NAME_RE = r'^[\w.+-_]+$' is_legal_name = regexp(NAME_RE, message=_("Please use words, numbers or caches," "thanks!")) TASKNAME_RE = r'^[\w_]+$' is_legal_taskname = regexp(TASKNAME_RE, message=_("Please use words, numbers or _," "thanks!")) SVN_RE = r'^\(.*[\);]$|\s*' is_legal_svn = regexp(SVN_RE, message=_("Please add like:('svn1','./');('svn2','./')"))
import re import unidecode from functools import wraps from flask import session, redirect, url_for from datetime import datetime from werkzeug.contrib.cache import SimpleCache from flask.ext.wtf import regexp from pytz import UTC is_name = regexp( # not using \w since it allows for unlimited underscores r'^[a-zA-Z0-9]+([ \-\_][a-zA-Z0-9]+)*$', message='Field characters can only be letters and digits with one space, \ underscore or hyphen as separator.' ) def slugify(timenow, str): """Return slug genereated from date and specified unicoded string.""" date = datetime.date(timenow) unistr = unidecode.unidecode(str).lower() title = re.sub(r'\W+', '-', unistr).strip('-') return '%i/%i/%i/%s' % (date.year, date.month, date.day, title) def utcnow(): return datetime.utcnow().replace(tzinfo=UTC) cache = SimpleCache() def cached(timeout=5 * 60, key='cached/%s'):
from flask.ext.wtf import regexp USERNAME_RE = r'^[\w.+-]+$' is_username = regexp(USERNAME_RE, message="You can only use letters, numbers or dashes")
# -*- coding: utf-8 -*- from flask.ext.wtf import Form, TextField, PasswordField, BooleanField,\ SubmitField, validators, required, equal_to, file_required, \ email, TextAreaField, HiddenField, RecaptchaField, regexp, \ ValidationError from flask.ext.wtf.file import FileField, file_required, file_allowed from app import db from app.models.account import User USERNAME_RE = r'^[\w.+-]+$' is_username = regexp(USERNAME_RE, message=u"你只能使用字符,数字和下划线") ################################################################################ # # Form for account # ################################################################################ class LoginForm(Form): next = HiddenField() remember = BooleanField("Remember me in this computer") login = TextField("Account: ", validators=[ required(message=\ "you must input valid username")]) password = PasswordField("Password: "******"Login") class UserForm(Form): username = TextField( u"用户名", validators=[required(message=u"用户名是必须的"), is_username]) password = PasswordField(u"密码", validators=[required(message=u"密码是必须的")])
from flask.ext.wtf import regexp from flaskext.babel import lazy_gettext as _ USERNAME_RE = r'^[\w.+-]+$' is_username = regexp(USERNAME_RE, message=_("You can only use letters, numbers or dashes"))
# -*- coding: utf-8 -*- from flask.ext.wtf import Form, TextField, PasswordField, BooleanField,\ SubmitField, validators, required, equal_to, file_required, \ email, TextAreaField, HiddenField, RecaptchaField, regexp, \ ValidationError from flask.ext.wtf.file import FileField, file_required, file_allowed from app import db from app.models.account import User USERNAME_RE = r'^[\w.+-]+$' is_username = regexp(USERNAME_RE, message=u"你只能使用字符,数字和下划线") ################################################################################ # # Form for account # ################################################################################ class LoginForm(Form): next = HiddenField() remember = BooleanField("Remember me in this computer") login = TextField("Account: ", validators=[ required(message=\ "you must input valid username")]) password = PasswordField("Password: "******"Login") class UserForm(Form): username = TextField(u"用户名", validators=[ required(message=u"用户名是必须的"), is_username])