tptimer/forms.py

50 lines
1.8 KiB
Python
Raw Normal View History

2018-07-20 05:43:02 +00:00
# -*- coding: utf-8 -*-
from wtforms import Form
from wtforms import StringField
from wtforms import PasswordField
from wtforms import validators
2023-07-14 06:17:02 +00:00
from wtforms import EmailField
2018-07-20 05:43:02 +00:00
import requests
import re
def validateWCAID(form,field):
regex=r"[\d]{4}[\w]{4}[\d]{2}"
if(field.data!=""):
if(field.data[0]!="#"):
raise validators.ValidationError("Introduce tu WCA-ID con un '#' al principio")
if(re.match(regex,field.data[1:])==None):
raise validators.ValidationError("Introduce una WCA-ID valida")
if(requests.get("https://www.worldcubeassociation.org/persons/"+field.data[1:]).status_code!=200):
raise validators.validationError("Introduce una WCA-ID valida")
class LoginForm(Form):
username = StringField(u"Nombre de usuario o #WCA-ID *",
[
validators.DataRequired("Ingrese un nombre de usuario o #WCA-ID"),
validators.length(min=0,max=25,message="Ingrese un nombre de usuario valido")
])
2023-07-14 06:17:02 +00:00
password = PasswordField("Contraseña *",
2018-07-20 05:43:02 +00:00
[
2023-07-14 06:17:02 +00:00
validators.DataRequired("Ingrese su contraseña")
2018-07-20 05:43:02 +00:00
])
class SignupForm(Form):
2023-07-14 06:17:02 +00:00
username = StringField("Nombre de usuario *",
2018-07-20 05:43:02 +00:00
[
validators.DataRequired("Este campo es requerido"),
validators.length(min=0,max=25,message="Ingrese un nombre de usuario valido")
])
2023-07-14 06:17:02 +00:00
wcaId = StringField("#WCA-ID",[
2018-07-20 05:43:02 +00:00
validateWCAID
])
2023-07-14 06:17:02 +00:00
email = EmailField("Correo electronico *",[
2018-07-20 05:43:02 +00:00
validators.DataRequired("Este campo es requerido"),
validators.Email("Introduce una direccion de email valida")
])
2023-07-14 06:17:02 +00:00
password = PasswordField("Contraseña *",[
2018-07-20 05:43:02 +00:00
validators.DataRequired("Este campo es requerido")
2023-07-14 06:17:02 +00:00
])