def test_radio_render(self):
        result1 = remove_optional_whitespace(
            form.Radio(name='foo', args=['a', 'b'], value='b').render())
        correct1 = '<div class="form-check"><label class="form-check-label"><input class="form-check-input" type="radio" id="foo" value="a" name="foo"> a</label></div><div class="form-check"><label class="form-check-label"><input checked="checked" name="foo" value="b" id="foo" type="radio" class="form-check-input"> b</label></div>'
        self.assertEqual(result1, correct1)

        result2 = remove_optional_whitespace(
            form.Radio(name='foo',
                       args=[('a', 'aa'), ('b', 'bb'), ('c', 'cc')],
                       value='b').render())
        correct2 = '<div class="form-check"><label class="form-check-label"><input class="form-check-input" type="radio" id="foo" value="a" name="foo"> aa</label></div><div class="form-check"><label class="form-check-label"><input checked="checked" name="foo" value="b" id="foo" type="radio" class="form-check-input"> bb</label></div><div class="form-check"><label class="form-check-label"><input class="form-check-input" type="radio" id="foo" value="c" name="foo"> cc</label></div>'
        self.assertEqual(result2, correct2)
コード例 #2
0
ファイル: main.py プロジェクト: zwzmzd/viewstudyweb
    def GET(self, userid):
        data = web.input()
        itemkey = data.item
        category = data.category

        db = getDB()
        # 不同类目中可能会有重名的项目,必须加上类目
        result = list(
            db.select('item', {
                'imgpath': itemkey,
                'category': category
            },
                      where='imgpath=$imgpath AND category=$category'))
        if len(result) == 0:
            raise web.notfound()
        result = None if len(result) == 0 else result[0]

        old_rating = list(
            db.select(
                'rating',
                dict(item=result['id'],
                     ratetype=setting.ratetype,
                     usertoken=session.usertoken),
                where=
                'usertoken=$usertoken and item=$item and ratetype=$ratetype'))
        old_rating = None if len(old_rating) == 0 else old_rating[0]

        a = list(
            db.query(
                'select * from item where imgpath=(select min(imgpath) from item where imgpath >$imgpath and category=$category) AND category=$category',
                vars={
                    'imgpath': result['imgpath'],
                    'category': result['category']
                }))
        b = list(
            db.query(
                'select * from item where imgpath=(select max(imgpath) from item where imgpath <$imgpath and category=$category) AND category=$category',
                vars={
                    'imgpath': result['imgpath'],
                    'category': result['category']
                }))
        pre = None if len(b) == 0 else b[0]
        next = None if len(a) == 0 else a[0]

        if old_rating is None:
            rating_form = form.Form(
                form.Radio('rate', ['1', '2', '3', '4', '5']), )
        else:
            # 如果之前已经标定了
            rating_form = form.Form(
                form.Radio('rate', ['1', '2', '3', '4', '5'],
                           value=str(old_rating.rate)), )
        return render.imageandform(result, rating_form, pre, next)
コード例 #3
0
ファイル: Web.py プロジェクト: jwr456/alarmpi
    def getDynamicForm(self):
        dynamic_form = DynamicForm(form.Hidden('placeholder'))

        #for setting, dict in settings.settings.iteritems():
        for setting, dict in sorted(settings.settings.iteritems(),
                                    key=lambda (x, y): y['formOrder']):
            if dict["formNullable"] == 'notnull':
                nullArg = "form.notnull"
            else:
                nullArg = ()
            if dict["formType"] == 'textbox':
                dynamic_form.add_input(
                    form.Textbox(
                        dict["key"],
                        description=dict[
                            "description"],  #, form.regexp(dict["formRegexp"], dict["formRegexpMessage"])
                        value=dict["value"]))  # , *nullArg
            elif dict["formType"] == 'radio':
                dynamic_form.add_input(
                    form.Radio(dict["key"],
                               args=dict["formDropdownValues"],
                               description=dict["description"],
                               value=dict["value"]))
            elif dict["formType"] == 'dropdown':
                dynamic_form.add_input(
                    form.Dropdown(dict["key"],
                                  args=dict["formDropdownValues"],
                                  description=dict["description"],
                                  value=dict["value"]))

        return dynamic_form
コード例 #4
0
 form.Password("password", vpass, description="Contraseña:"),
 form.Password("verificacion", vpass, description="Verificar contraseña:"),
 form.Textbox("nombre", vTexto, description="Nombre:"),
 form.Textbox("apellidos", vTexto, description="Apellidos:"),
 form.Textbox("correo", vEmail, description="Correo electrónico:"),
 form.Textbox("visa", vVISA, description="Número de VISA:"),
 form.Dropdown("dia", range(1, 32), description="Día:"),
 form.Dropdown("mes", range(1, 13), description="Mes:"),
 form.Dropdown("anio",
               range(date.today().year - 85,
                     date.today().year + 1),
               description="Año:"),
 form.Textarea("direccion", vTexto, description="Dirección:"),
 form.Radio("pago", [
     "Contrarembolso", "Transferencia bancaria", "Tarjeta de credito",
     "Paypal"
 ],
            description="Formas de pago:",
            value="Contrarembolso"),
 form.Checkbox("clausulas", description="Aceptación clausulas:"),
 form.Button("Enviar datos", type="submit"),
 validators=[
     form.Validator("Es necesario aceptar las clausulas",
                    lambda i: "clausulas" in i),
     form.Validator("Las contraseñas introducidas no coinciden.",
                    lambda i: i.password == i.verificacion),
     form.Validator(
         "Fecha de nacimiento no válida.", lambda i:
         (((int(i.mes) == 2) and ((int(i.dia) <= 28) and (
             (int(i.anio) % 4) != 0) or (int(i.dia) <= 29) and (
                 (int(i.anio) % 4) == 0))) or ((int(i.dia) <= 31) and (
                     (int(i.mes) == 1) or (int(i.mes) == 3) or
コード例 #5
0
ファイル: forms.py プロジェクト: simudream/PyRadius
              description="产品套餐名称:(32个汉字以内)",
              **input_style),
 form.Dropdown("policy", [(0, "买断包月"), (1, "预付费时长")],
               description="产品套餐策略:(买断包月|预付费时长)"),
 form.Textbox("fee_num", is_number, description="产品买断月数(包月)",
              **input_style),
 form.Textbox("fee_price",
              is_rmb,
              description="产品总价格(包月)/每小时价格(计时):(单位:元)",
              **input_style),
 form.Textbox("concur_number",
              is_number,
              description="用户并发数:(0表示不限定|并发数不能超过20)",
              **input_style),
 form.Radio("bind_mac", [(0, "不绑定"), (1, "绑定")],
            value=0,
            description="是否绑定MAC地址:"),
 form.Radio("bind_vlan", [(0, "不绑定"), (1, "绑定")],
            value=0,
            description="是否绑定VLAN/QINQ:"),
 form.Textbox("bandwidth_code",
              is_alphanum2(0, 8),
              description="限速属性编码:(字母开头,数字和字母组成,最大8位)",
              **input_style),
 form.Textbox("input_max_limit",
              is_number,
              description="上行最大速率:(单位:bps,2M=2097152)",
              **input_style),
 form.Textbox("output_max_limit",
              is_number,
              description="下行最大速率:(单位:bps,4M=4194304)",
コード例 #6
0
# The Forms used for input

age_form = form.Form(
    form.Textbox('number',
                 form.notnull,
                 form.regexp('^-?\d+$', 'Not a number.'),
                 form.Validator("Too young, don't use this tool.",
                                lambda x: int(x) > 17),
                 size="1",
                 maxlength="2",
                 description='Age:'))

#At some point I would like to figure out how to validate age_form to prevent age < 18.

gender_form = form.Form(form.Radio('Gender:', ['Female', 'Male'],
                                   form.notnull))

smoke_form = form.Form(
    form.Radio('Smoking:', ['Never Smoker', 'Past Smoker', 'Current Smoker'],
               form.notnull))

sex_form = form.Form(
    form.Radio('Sexually Active?:', [
        'Yes',
        'No',
    ], form.notnull))

highrisk_form = form.Form(
    form.Checkbox(
        'High Risk Sexual Activity?:',
        value=True,
コード例 #7
0
ファイル: repositories.py プロジェクト: henningpohl/gitweb.py
import time
import hashlib
import git
import web
from web import form
from common import *
from decorators import requires_login, requires_repo_admin

create_repo_form = form.Form(
    form.Dropdown("owner",
                  args=["Yourself", "Some Group"],
                  description="Owner"), form.Textbox("name",
                                                     description="Name"),
    form.Textbox("id", description="id"),
    form.Textarea("desc", description="Description"),
    form.Radio("access", ["public", "private"], description="Access"),
    form.Button("submit", type="submit", description="Create repository"))


class create:
    @requires_login
    def GET(self):
        web.header('Content-Type', 'text/html')
        userid = web.config.session.userid
        group_query = web.config.db.select('group_users',
                                           dict(u=userid),
                                           where="userid=$u",
                                           what="groupid")
        groupids = [g.groupid for g in group_query]
        groupids = [userid] + groupids
        create_repo_form['owner'].args = groupids
コード例 #8
0
        form.notnull, vemail,
        form.Validator('This email address is already taken (Have you already submitted an application?)', 
        lambda x: submissions.is_email_available(x)),
        description='Email *'),
    form.Textbox('email_again', 
        form.notnull, vemail,
        description='Verify email *'),

    form.Textbox('first_name', 
        form.notnull,
        description='First Name *'),
    form.Textbox('last_name', 
        form.notnull,
        description='Last Name *'),
    form.Radio('gender', 
        ('Male', 'Female'),
        form.notnull,
        description='Gender *'),
    form.Textbox('nationality', 
        form.notnull,
        description='Nationality *'),
    form.Textbox('country', 
        form.notnull,
        description='Country of Current Affiliation *'),
    
    form.Textbox('affiliation', 
        form.notnull,
        description='Affiliation *',
        pre='<label class="help">Your university or the company you work for.</label>'),
    form.Textbox('department', 
        form.notnull,
        description='Affiliation (Department) *'),
コード例 #9
0
 def POST(self):
     try:
         posts = db.posts
         query = posts.find({"user": web.cookies().user})
         form_reg_editar = form.Form(
             form.Textbox(
                 'nombre',
                 form.notnull,
                 form.regexp(
                     '^[A-Z, a-z]',
                     'No hay nadie en el mundo cuyo nombre tenga números.¡Use letras!'
                 ),
                 description="Nombre",
                 value=query[0]["nombre"]),
             form.Textbox(
                 'apellidos',
                 form.notnull,
                 form.regexp(
                     '^[A-Z, a-z]',
                     'No hay nadie en el mundo cuyo apellido tenga números.¡Use letras!'
                 ),
                 description="Apellido",
                 value=query[0]["apellidos"]),
             form.Textbox(
                 'correo',
                 form.notnull,
                 form.regexp(
                     '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$',
                     'Introduzca un correo válido'),
                 description="Correo electrónico",
                 value=query[0]["correo"]),
             form.Dropdown('dias',
                           dias,
                           description="Dia",
                           value=int(query[0]["dia"])),
             form.Dropdown('meses',
                           meses,
                           description="Mes",
                           value=int(query[0]["mes"])),
             form.Dropdown('anios',
                           anios,
                           description="Anio",
                           value=int(query[0]["anio"])),
             form.Textarea('direccion',
                           form.notnull,
                           description="Dirección",
                           value=query[0]["direccion"]),
             form.Password('clave',
                           form.notnull,
                           description="Contraseña",
                           value=query[0]["password"]),
             form.Password('clave2',
                           form.notnull,
                           description="Repetir contraseña",
                           value=query[0]["password"]),
             form.Radio('pago', ['Contra reembolso', 'Tarjeta VISA'],
                        description="Forma de pago",
                        value=query[0]["pago"]),
             form.Textbox(
                 'visa',
                 form.regexp(
                     '((\d{4})[\-,\s](\d{4})[\-,\s](\d{4})[\-,\s](\d{4}))',
                     'Introduzca un número de tarjeta VISA válido'),
                 description="Tarjeta VISA",
                 value=query[0]["visa"]),
             form.Button('Editar'),
             validators=[
                 form.Validator(
                     "Fecha de nacimiento no válida.", lambda i:
                     (((int(i.meses) == 2) and (
                         (int(i.dias) <= 28) and (
                             (int(i.anios) % 4) != 0) or
                         (int(i.dias) <= 29) and (
                             (int(i.anios) % 4) == 0))) or
                      ((int(i.dias) <= 31) and
                       ((int(i.meses) == 1) or (int(i.meses) == 3) or
                        (int(i.meses) == 5) or (int(i.meses) == 7) or
                        (int(i.meses) == 8) or (int(i.meses) == 10) or
                        (int(i.meses) == 12))) or ((int(i.dias) <= 30) and (
                            (int(i.meses) == 4) or (int(i.meses) == 6) or
                            (int(i.meses) == 9) or (int(i.meses) == 11))))),
                 form.Validator("Las contraseñas no coinciden.",
                                lambda i: i.clave == i.clave2),
                 form.Validator('Míninmo 7 caracteres',
                                lambda x: len(x.clave) >= 7),
                 form.Validator('Míninmo 7 caracteres',
                                lambda x: len(x.clave2) >= 7)
             ])
         res = "Bienvenido usuario: %s " % (web.cookies().user)
         if form_reg_editar.validates():
             posts.update({"user": web.cookies().user},
                          {'$set': {
                              "nombre": form_reg_editar.d.nombre
                          }})
             posts.update(
                 {"user": web.cookies().user},
                 {'$set': {
                     "apellidos": form_reg_editar.d.apellidos
                 }})
             posts.update({"user": web.cookies().user},
                          {'$set': {
                              "correo": form_reg_editar.d.correo
                          }})
             posts.update({"user": web.cookies().user},
                          {'$set': {
                              "dia": form_reg_editar.d.dias
                          }})
             posts.update({"user": web.cookies().user},
                          {'$set': {
                              "mes": form_reg_editar.d.meses
                          }})
             posts.update({"user": web.cookies().user},
                          {'$set': {
                              "anio": form_reg_editar.d.anios
                          }})
             posts.update(
                 {"user": web.cookies().user},
                 {'$set': {
                     "direccion": form_reg_editar.d.direccion
                 }})
             posts.update({"user": web.cookies().user},
                          {'$set': {
                              "password": form_reg_editar.d.clave
                          }})
             posts.update({"user": web.cookies().user},
                          {'$set': {
                              "pago": form_reg_editar.d.pago
                          }})
             posts.update({"user": web.cookies().user},
                          {'$set': {
                              "visa": form_reg_editar.d.visa
                          }})
             web.header('Content-Type', 'text/html; charset=utf-8')
             return plantillas.editar_perfil(
                 formulario=res,
                 registro="Cambios realizados correctamente.")
         else:
             web.header('Content-Type', 'text/html; charset=utf-8')
             return plantillas.editar_perfil(
                 formulario=res, registro=form_reg_editar.render())
     except:
         l = form_log()
         web.header('Content-Type', 'text/html; charset=utf-8')
         return plantillas.pagina_desconectado(
             formulario=l.render(),
             mensaje="Se ha producido algun error. Inicie sesion de nuevo.")
コード例 #10
0
ファイル: DMWebInterface.py プロジェクト: OAnt/DiskMonitor
	'/loading','loading',
	'/result','result',
)


render = web.template.render('templates/')

Inputs = form.Form(
	form.Textbox('Path',
		value = 'Path'
		),
	form.Textbox('size',
		value = '100'
		),
	form.Radio('Unit',RadioUnit,
		value = 'MB'
		),
	form.Radio('Analysis',RadioListAnalysis,
		value = 'directorysizeordering'),
	form.Radio('Discrimination function', RadioListDisc,
		value = "pareto"),
)



class index:
	def GET(self):
		form = Inputs()
		return render.index(form, HelpContext)
	
	def POST(self):
コード例 #11
0
ファイル: template-mongodb.py プロジェクト: camtes/DAI
def insert_form_data(id):
    data = read_bd(id)

    formulario = form.Form(
        form.Textbox('nombre', [("value", "hola")],
                     form.notnull,
                     maxlenght="30",
                     description="Nombre: ",
                     value=str(data["nombre"])),
        form.Textbox('apellidos',
                     form.notnull,
                     maxlenght="50",
                     description="Apellidos: ",
                     value=str(data["apellidos"])),
        form.Textbox("dni",
                     form.notnull,
                     maxlenght="8",
                     description="DNI: ",
                     value=str(data["dni"])),
        form.Textbox('correo',
                     form.notnull,
                     form.Validator("Formato de correo no valido",
                                    lambda i: email.match(i)),
                     maxlenght="50",
                     description="Correo electrónico: ",
                     value=str(data["correo"])),
        form.Textbox('visa',
                     form.notnull,
                     form.Validator("El formato de la VISA no es valido.",
                                    lambda i: visa.match(i)),
                     maxlenght="19",
                     description="VISA: ",
                     value=str(data["visa"])),
        form.Dropdown('dia',
                      range(1, 32),
                      description="Día: ",
                      value=int(data["dia"])),
        form.Dropdown('mes',
                      range(1, 13),
                      description="Mes: ",
                      value=int(data["mes"])),
        form.Dropdown('ano',
                      range(1900, 2015),
                      description="Año: ",
                      value=int(data["ano"])),
        form.Textarea("descripcion",
                      maxlenght="120",
                      description="Descripción: ",
                      value=str(data["descripcion"])),
        form.Password(
            "contrasena",
            form.Validator(
                "La contraseña debe de tener 8 caracteres como mínimo.",
                lambda i: len(str(i)) > 7),
            maxlenght="8",
            description="Contraseña: "),
        form.Password(
            "contrasena2",
            form.Validator(
                "La contraseña debe de tener 8 caracteres como mínimo.",
                lambda i: len(str(i)) > 7),
            maxlenght="8",
            description="Vuelve a introducir la contraseña: "),
        form.Radio("pago", ["PayPal", "Tarjeta"],
                   form.notnull,
                   description="Forma de pago: ",
                   checked=str(data["pago"])),
        form.Checkbox('condiciones',
                      form.Validator("Debes de aceptar las clausulas",
                                     lambda i: i == 'true'),
                      value='true'),
        form.Button("Enviar"),
        validators=[
            form.Validator(
                "Fecha incorrecta.", lambda x: not (
                    (int(x.dia) == 29 and int(x.mes) == 2) or
                    (int(x.dia) == 29 and int(x.mes) == 2 and int(x.anio) % 4
                     != 0) or (int(x.dia) == 30 and int(x.mes) == 2) or
                    (int(x.dia) == 31 and int(x.mes) % 2 == 0))),
            form.Validator("Las contraseñas no coinciden.",
                           lambda i: i.contrasena == i.contrasena2),
        ])

    return formulario
コード例 #12
0
ファイル: template-mongodb.py プロジェクト: camtes/DAI
 form.Password("contrasena",
               form.notnull,
               form.Validator(
                   "La contraseña debe de tener 8 caracteres como mínimo.",
                   lambda i: len(str(i)) > 7),
               maxlenght="8",
               description="Contraseña: "),
 form.Password("contrasena2",
               form.notnull,
               form.Validator(
                   "La contraseña debe de tener 8 caracteres como mínimo.",
                   lambda i: len(str(i)) > 7),
               maxlenght="8",
               description="Vuelve a introducir la contraseña: "),
 form.Radio("pago", ["PayPal", "Tarjeta"],
            form.notnull,
            description="Forma de pago: "),
 form.Checkbox('condiciones',
               form.Validator("Debes de aceptar las clausulas",
                              lambda i: i == 'true'),
               value='true'),
 form.Button("Enviar"),
 validators=[
     form.Validator(
         "Fecha incorrecta.",
         lambda x: not ((int(x.dia) == 29 and int(x.mes) == 2) or (int(
             x.dia) == 29 and int(x.mes) == 2 and int(x.anio) % 4 != 0) or
                        (int(x.dia) == 30 and int(x.mes) == 2) or
                        (int(x.dia) == 31 and int(x.mes) % 2 == 0))),
     form.Validator("Las contraseñas no coinciden.",
                    lambda i: i.contrasena == i.contrasena2),
コード例 #13
0
def carga_base():
    db = cliente['registro']
    user = db.registros
    data = user.find_one({"usuario": session.usuario})
    session.id = data["_id"]
    return form.Form(
        form.Textbox('nombre',
                     maxlength="40",
                     description="Nombre:",
                     value=data['nombre']),
        form.Textbox('apellidos',
                     maxlength="50",
                     description="Apellidos:",
                     value=data['apellidos']),
        form.Textbox('dni',
                     maxlength="9",
                     size="9",
                     description="DNI:",
                     value=data['dni']),
        form.Textbox('correo',
                     maxlength="50",
                     size="15",
                     description="Correo Electronico:",
                     value=data['correo']),
        form.Dropdown('dia',
                      range(1, 32),
                      description="Dia:",
                      value=int(data['dia'])),
        form.Dropdown('mes',
                      range(1, 13),
                      description="Mes:",
                      value=int(data['mes'])),
        form.Dropdown('anio',
                      range(1940, 2014),
                      description="Anio:",
                      value=int(data['anio'])),
        form.Textarea('direccion',
                      maxlength="55",
                      size="35",
                      description="Direccion:",
                      value=data['direccion']),
        form.Password('passw',
                      maxlength="10",
                      size="12",
                      description="Password:"******"10",
                      size="12",
                      description="Password2:",
                      value=data['passw']),
        form.Radio('forma_pago', ['contra reembolso', 'tarjeta visa'],
                   description="Forma de pago:",
                   value=data['forma_pago']),
        form.Textbox('numero_visa',
                     maxlength="19",
                     size="20",
                     description="Numero Visa",
                     value=data['numero_visa']),
        form.Button('Modificar', type="submit"),
        validators=[
            form.Validator('El campo nombre no puede estar vacio.',
                           lambda i: len(str(i.nombre)) > 0),
            form.Validator('El campo apellidos no puede estar vacio.',
                           lambda i: len(str(i.apellidos)) > 0),
            form.Validator('El campo dni no puede estar vacio.',
                           lambda i: len(str(i.dni)) > 0),
            form.Validator('El campo correo no puede estar vacio.',
                           lambda i: len(str(i.correo)) > 0),
            form.Validator('El campo direccion no puede estar vacio.',
                           lambda i: len(str(i.direccion)) > 0),
            form.Validator('El campo numero visa no puede estar vacio.',
                           lambda i: len(str(i.numero_visa)) > 0),
            form.Validator(
                'Fecha Incorrecta.', lambda x: not (
                    (int(x.dia) == 31 and int(x.mes) == 2) or
                    (int(x.dia) == 30 and int(x.mes) == 2) or
                    (int(x.dia) == 29 and int(x.mes) == 2 and int(x.anio) % 4
                     != 0) or (int(x.dia) == 31 and
                               (int(x.mes) == 4 or int(x.mes) == 6 or int(
                                   x.mes) == 9 or int(x.mes) == 11)))),
            form.Validator("Formato de correo no valido.",
                           lambda i: email.match(i.correo)),
            form.Validator("El password debe contener mas de 7 caracteres.",
                           lambda i: len(str(i.passw)) > 7),
            form.Validator("El password debe contener mas de 7 caracteres.",
                           lambda i: len(str(i.passw2)) > 7),
            form.Validator("El password no coindice.",
                           lambda i: i.passw == i.passw2),
            form.Validator("Formato de visa no valido.",
                           lambda i: visa.match(i.numero_visa))
        ])
コード例 #14
0
ファイル: website.py プロジェクト: tkasukawa/MetaSRA-pipeline
    '/users', 'users',
    '/download_search_result', 'download_search_result',
    '/contact', 'contact'
)

search_form = form.Form(
    form.Textbox(
        'term_id', 
        form.notnull,
        description="Ontology term ID: ",
        class_='textfield', 
        id='term_id_field'
    ),
    form.Radio(
        'sample_type',
        [
        ]
    )
)


class publication:
    def GET(self):
        return render.publication()

class download:
    def GET(self):
        return render.download()

class links:
    def GET(self):
コード例 #15
0
vapellido = form.regexp(r"..*", 'Introduzca su Apellido porfavor')
vdireccion = form.regexp(r".{4}.*", 'Introduzca su Direccion porfavor')

registro = form.Form(
    form.Textbox('Nombre', vname),
    form.Textbox('Apellidos', vapellido),
    form.Textbox('Correo Electronico', vemail),
    form.Textbox('N. VISA', vvisa),
    form.Dropdown('Fecha De Nacimiento dia', range(1, 32)),
    form.Dropdown('Fecha De Nacimiento MES', range(1, 13)),
    form.Dropdown('Fecha De Nacimiento ANIO', range(1980, 2010)),
    form.Textarea('Direccion', vdireccion),
    form.Password('Contrasenia', vpass),
    form.Password('Verificacion', vpass),
    form.Radio('Forma de pago', [('visa', 'VISA'),
                                 ('reembolso', 'Contra reembolso')],
               form.notnull),
    form.Checkbox('Acepto Las Clausulas De Proteccion De Datos',
                  form.Validator("Acepta las clausulas",
                                 lambda i: i == 'true'),
                  value='true'),
    form.Button('Registro'),
    validators=[
        form.Validator("Las contrasenias no coinciden",
                       lambda i: i.Contrasenia == i.Verificacion)
    ])


class index:
    def GET(self):
        form = login()
コード例 #16
0
     form.regexp(
         r'^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$',
         'Debe ser un email')),
 form.Dropdown("day", [(d, d) for d in range(1, 32)]),
 form.Dropdown("month", [(d, d) for d in range(1, 13)]),
 form.Dropdown("year", [(d, d) for d in range(1900, 2013)]),
 form.Textbox("address", form.notnull),
 form.Password(
     "password",
     form.notnull,
     form.regexp(r'^.{7,}$', "debe ser mayor de 7")  #
     # form.Validator("Debe ser de minimo 7 caracteres", lambda i: len(i) > 7)
 ),
 form.Password("re_password", form.notnull),
 form.Radio('payment_type', [
     'Contrarrembolso', 'Tarjeta VISA', 'Tarjeta de compra del cortingles'
 ]),
 form.Textbox(
     "visa_number", form.notnull,
     form.regexp(r'^\d{4}([\ \-]?)\d{4}\1\d{4}\1\d{4}$',
                 'Debe ser un numero de tarjeta valido')),
 form.Checkbox("accept_license",
               form.Validator("Acepta las clausulas",
                              lambda i: i == 'true'),
               value='true'),
 form.Button("submit"),
 validators=[
     form.Validator("Los passwords no coinciden",
                    lambda i: i.password == i.re_password),
     form.Validator("La fecha debe de ser correcta",
                    lambda i: checkDate(i.year, i.month, i.day))
コード例 #17
0
         'No hay nadie en el mundo cuyo apellido tenga números.¡Use letras!'
     ),
     description="Apellido"),
 form.Textbox('correo',
              form.notnull,
              form.regexp(
                  '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$',
                  'Introduzca un correo válido'),
              description="Correo electrónico"),
 form.Dropdown('dias', dias, description="Dia"),
 form.Dropdown('meses', meses, description="Mes"),
 form.Dropdown('anios', anios, description="Anio"),
 form.Textarea('direccion', form.notnull, description="Dirección"),
 form.Password('clave', form.notnull, description="Contraseña"),
 form.Password('clave2', form.notnull, description="Repetir contraseña"),
 form.Radio('pago', ['Contra reembolso', 'Tarjeta VISA'],
            description="Forma de pago"),
 form.Textbox('visa',
              form.regexp(
                  '((\d{4})[\-,\s](\d{4})[\-,\s](\d{4})[\-,\s](\d{4}))',
                  'Introduzca un número de tarjeta VISA válido'),
              description="Tarjeta VISA"),
 form.Checkbox('clausula',
               form.Validator("Acepta las clausulas",
                              lambda i: i == 'true'),
               value='true',
               description="¿Nos vende su alma?"),
 form.Button('Registrarse'),
 validators=[
     form.Validator(
         "Fecha de nacimiento no válida.", lambda i:
         (((int(i.meses) == 2) and ((int(i.dias) <= 28) and (
コード例 #18
0
APP = web.application(URLS, globals(), autoreload=False)

logfilter = InjectingFilter()
log = logging.getLogger('app.admin')
log.addFilter(logfilter)

USERFORM = form.Form(
    form.Dropdown('operation', ['update', 'delete']),
    form.Textbox('username'),
    form.Textbox('password'),
)

ROLEFORM = form.Form(
    form.Textbox('username'),
    form.Textbox('region'),
    form.Radio('role', ['xml', 'jpg', 'datex2', 'qtt']),
    form.Radio('action', ['add', 'delete']),
)


class Index:
    """Provide links to admin functions."""
    def GET(self):
        check_admin_password(*get_httpauth())
        web.header('Content-Type', 'text/html; charset=utf-8', unique=True)
        return '<body>Head to <a href="/admin/users">user</a> ' \
               '<a href="/admin/roles">roles</a> or ' \
               '<a href="/admin/mst">mst</a> or ' \
               '<a href="/admin/qttids">qttids</a> admin.</body>'

コード例 #19
0
import os
import time
import web
from sqlite3 import IntegrityError
from web import form
from util import make_id_string, check_id
from common import *
from decorators import requires_login, requires_group_admin

group_register_form = form.Form(
    form.Textbox("name", description="Group name"),
    form.Textbox("id", description="Identifier"),
    form.Textarea("desc", description="Description"),
    form.Radio("joinable", ["yes", "no"], description="Joinable"),
    validators=[
        form.Validator("Invalid characters in ID",
                       lambda i: i.id == make_id_string(i.id)),
        form.Validator("Invalid ID (keyword clash)", lambda i: check_id(i.id)),
        form.Validator("ID too short", lambda i: len(i.id) > 3)
    ])


class create:
    @requires_login
    def GET(self):
        web.header('Content-Type', 'text/html')
        f = group_register_form()
        return render.createGroup(form=f)

    @requires_login
    def POST(self):
コード例 #20
0
ファイル: app.py プロジェクト: tgraham2/iwanweb
    'AE_Project': ["APIC-EM Project Name", "Project Name APIC-EM for PNP"],
    'AE_Server': ["APIC-EM Server", "APIC-EM Server for storing data"],
    'AE_UID': ["APID-EM User ID", "User ID for storing data on APIC-EM"],
    'AE_PWD': ["APID-EM Password", "APIC-EM password"]
}
site_keys = [
    "SiteNo", "City", "Region", "SiteKey", "SerialNo", "DC", "MPLS_Type",
    "SpokeType", "Router_Model", "ESM", "AE_Project", "AE_Server", "AE_UID",
    "AE_PWD"
]
global site_form
site_form = form.Form(
        form.Button("submit", description="Continue",action="/bin/app.py/local",method="POST",value="Enter Values"),
        form.Textbox("SiteNo",description="Site Number"),
        form.Textbox("City",description="City"),
        form.Radio('Region', ["NA","EMEA"], description="Network Locale", value="NA" ),
        form.Textbox("SiteKey",description="Key to generate Addressing",post="(EMEA only)"),
        form.Textbox("SerialNo",description="Router Serial No."),
        form.Radio('DC', ["DC1","DC2"], description="Datacenter Preference", value="DC1" ),
        form.Dropdown("MPLS_Type",description="MPLS Handoff", \
                      args=["Ethernet","MLPPP",("FrameRelay","Frame Relay")], value="Ethernet") ,
        form.Radio('SpokeType', ["SINGLE", "DUAL"], description="Spoke Router Mode", value="SINGLE" ),
        form.Dropdown("Router_Model",description="Router Model", \
                      args=["ISR4351/K9","ISR4331/K9","Other"], value="ISR4351/K9"),
        form.Textbox('ESM', description = "Embedded Switch Slot", value="N",post="(usually 1/0 if present; 4331 only)" ),
        form.Textbox("AE_Project",description="APIC-EM Project Name", value="demo"),
        form.Dropdown("AE_Server", description="APIC-EM Server for saves", \
                      args = ["production","demo"], value="demo"),
        form.Textbox("AE_UID",description="APIC-EM User name",value="admin", ),
        form.Password("AE_PWD",description="APIC-EM Password",value="Jpoc16!!")
        )
コード例 #21
0
ファイル: sunrise.py プロジェクト: mfgarvin/Sunrise
nosched = True
#Web
render = web.template.render('templates/')
urls = ('/', 'index')
app = web.application(urls, globals())

#Button Press Config
SHORT_PRESS = 300 #milliseconds
LONG_PRESS = 1500 
#Software GPIO for Button Inputs
print(GPIO.VERSION)
GPIO.setmode(GPIO.BCM)
GPIO.setup(24, GPIO.IN, pull_up_down = GPIO.PUD_UP)

myform = form.Form(
    form.Radio(name='Style', args=['Increase', 'Decrease'],value='Increase'),
    form.Radio(name='Brightness', args=['Low', 'Medium', 'High'],value='Medium'),
    form.Dropdown(name='Hour', args=['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],value='6'),
    form.Dropdown(name='Minute', args=['00', '05', '10', '15', '20', '25', '30', '35', '40', '45', '50', '55'], value='30'),
    form.Radio(name='AM/PM', args=['AM', 'PM'],value='AM'),
    form.Checkbox('Now', id='Now', value='True'),
    form.Textbox("Length",
        form.notnull,
        form.regexp('\d+', 'Need a numerical length here...')))

print("Welcome to the prototype sunrise alarm clock. Follow the online prompts to decide on a color, fade in time, blink rate, etc")
def button():
    global running
    global reset
    global red
    global green
コード例 #22
0
ファイル: main.py プロジェクト: flinz/slims-python-api
import datetime
import web
from dateutil.relativedelta import relativedelta
from web import form
from slims.slims import Slims
from slims.criteria import between_inclusive

render = web.template.render('templates/')
slims = Slims("slims", "http://slimstest.genohm.com/coming", "admin", "admin")

# Creation of the register form which allows the user to choose a period of time
period = [('days', 'one day'), ('weeks', 'one week'), ('months', 'one month'),
          ('years', 'one year')]

register_form = form.Form(
    form.Radio("Period", period, description="Number of Time to Display"),
    form.Button("submit", type="submit", description="Register"),
)

urls = (
    '/',
    'DisplayReport',
)


def calculate_previous_date(current, period):
    return current - relativedelta(**{period: 1})


def get_attribute_of_column(record, column, attribute):
    if record is None:
コード例 #23
0
ファイル: badge.py プロジェクト: elwillow/kaiinshou
         "Fin de semaine, Adulte / Weekend Pass, Adult ~ 35$"),
        ("Weekend_Jeune",
         "Fin de semaine, 8 à 12 ans / Weekend Pass, 8 to 12 years old ~ 20$"),
        ("Weekend_Enfant",
         "Fin de semaine, 0 à 7 ans / Weekend Pass, 0 to 7 years old ~ 0$"),
        ("Friday_Adulte",
         "Vendredi seulement, Adulte / Friday only, Adult ~ 25$"),
        ("Friday_Jeune",
         "Vendredi seulement, 8 à 12 ans / Friday only, 8 to 12 years old ~ 20$"
         ),
    ],
                  form.notnull,
                  description="Type de billet / Ticket type"),
    form.Radio(
        "noiz", ("oui", "non"),
        value="non",
        description="Spectacle NOIZ (vendredi soir) / NOIZ show (Friday night)",
        pre="20 $"),
    form.Dropdown("tshirt", [("X", "Aucun / None"), ("P", "Petit / Small"),
                             ("M", "Moyen / Medium"), ("G", "Grand / Large"),
                             ("TG", "Très grand / X-large")],
                  description="T-Shirt",
                  pre="20 $"),
    form.Checkbox("dvd",
                  description="DVD de la mascarade / Masquerade DVD",
                  pre="20 $"),
    form.Textarea("instructions_speciales",
                  rows=2,
                  cols=40,
                  description="Instructions spécial / Specials Instructions"))
コード例 #24
0
   form.Button("Enviar")
)

form_pract3 = form.Form(
	form.Textbox("Nombre", form.notnull),
	form.Textbox("Apellidos", form.notnull),
	form.Textbox("DNI", form.notnull, form.regexp('^([0-9]{8}[A-Z])$', "Formato de DNI no valido")),
	form.Textbox("email", form.notnull, form.regexp('^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$', "Formato de correo incorrecto")), 
	form.Textbox("VISA", form.notnull, form.regexp('^([0-9]{4}) ([0-9]{4}) ([0-9]{4}) ([0-9]{4})|([0-9]{4})-([0-9]{4})-([0-9]{4})-([0-9]{4})$', "Formato de tarjeta VISA no valido")),
	form.Dropdown("dia",[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31], description="Día de nacimiento"),
	form.Dropdown("mes",[1,2,3,4,5,6,7,8,9,10,11,12], description="Mes de nacimiento"),
	form.Dropdown("anio",[1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014], description="Año de nacimiento"),
	form.Textarea("Direccion", form.notnull),
	form.Password("Contrasenia", form.notnull, post = "Su contraseña debe de tener mas de 7 caracteres"),
	form.Password("Verificacion", form.notnull, pre= "Repita su contraseña"),
	form.Radio("pago", ['Contra reembolso', 'VISA'],form.notnull),
	form.Checkbox("clausulas",form.Validator("Debes aceptar las cláusulas de la protección de datos", lambda i: "clausulas" not in i), description="Acepta las clausulas"),
	form.Button("Enviar"),
	validators = [form.Validator("No coinciden las contraseñas", lambda i: i.Contrasenia == i.Verificacion), form.Validator("Longitud de contraseña", lambda i: len(i.Contrasenia)>=7), form.Validator("Fecha de nacimiento no válida.", lambda i: (((int(i.mes) == 2) and ((int(i.dia) <= 28) and ((int(i.anio) % 4) != 0) or (int(i.dia) <= 29) and ((int(i.anio) % 4) == 0))) or ((int(i.dia) <= 30) and ((int(i.mes) == 4) or (int(i.mes) == 6) or (int(i.mes) == 9) or (int(i.mes) == 11)))))]	
)

form_pract4 = form.Form(
    form.Textbox("DNI", form.notnull, description='Inserte el usuario'),
    form.Button("Enviar")
)

form_pract5 = form.Form(
	form.Textbox("Nombre", form.notnull),
	form.Textbox("Apellidos", form.notnull),
	form.Textbox("DNI", form.notnull, form.regexp('^([0-9]{8}[A-Z])$', "Formato de DNI no valido")),
	form.Textbox("email", form.notnull, form.regexp('^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$', "Formato de correo incorrecto")), 
コード例 #25
0
ファイル: formulario.py プロジェクト: VictorCoronas/Mi-DAI
email = re.compile(r'\w+@([a-z]+\.)+[a-z]+')
visa = re.compile(r'[0-9]{4}([\ \-]?)[0-9]{4}([\ \-]?)[0-9]{4}([\ \-]?)[0-9]{4}')

myform = form.Form( 
    form.Textbox('nombre', maxlength="40", description="Nombre:"),
	form.Textbox('apellidos', maxlength="50", description="Apellidos:"),
	form.Textbox('dni', maxlength="9", size="9", description="DNI:"),
	form.Textbox('correo', maxlength="50", size="15", description="Correo Electronico:"),
	form.Dropdown('dia', range(1,32), description="Dia:"),
	form.Dropdown('mes', range(1,13), description="Mes:"),
	form.Dropdown('anio', range(1940,2014), description="Anio:"),
	form.Textarea('direccion', maxlength="55", size="35", description="Direccion:"),	
	form.Password('passw', maxlength="10", size="12", description="Password:"******"10", size="12", description="Repetir:"),
	form.Radio('forma_pago', ['contra reembolso', 'tarjeta visa'], description="Forma de pago:"),
	form.Textbox('numero_visa', maxlength="19", size="20", description="Numero Visa"),
    form.Checkbox('check',
		form.Validator("Debe aceptar las clausulas.", lambda i: "check" not in i), description="Acepto las clausulas"), 
	form.Button('Aceptar'),
	
	
    validators = [
    	form.Validator('El campo nombre no puede estar vacio.', lambda i: len(str(i.nombre))>0),
		form.Validator('El campo apellidos no puede estar vacio.', lambda i: len(str(i.apellidos))>0),
		form.Validator('El campo dni no puede estar vacio.', lambda i: len(str(i.dni))>0),
		form.Validator('El campo correo no puede estar vacio.', lambda i: len(str(i.correo))>0),
		form.Validator('El campo direccion no puede estar vacio.', lambda i: len(str(i.direccion))>0),
		form.Validator('El campo numero visa no puede estar vacio.', lambda i: len(str(i.numero_visa))>0),
		form.Validator('Fecha Incorrecta.', lambda x: not(
			(int(x.dia)==31 and int(x.mes)==2) or 
コード例 #26
0
import web
from web import form
import config
import dbus
from util import get_properties, get_raw_value, get_value, get_str_value, \
    get_dict_value, get_service, get_security

vssid = form.regexp(r".{1,32}$", "Must be between 1 and 32 characters")
vprefix = form.Validator('Must be between 0 and 128',
                         lambda x: x == "" or int(x) >= 0 and int(x) <= 128)
vallowempty = form.Validator('', lambda x: x == "")
vpin = form.regexp(r".{4,8}$", "Must be between 4 and 8 characters")

form = web.form.Form(
    form.Hidden('servicetype'),
    form.Radio('autoconnect', args=["Yes", "No"], description="Autoconnect"),
    form.Textbox("domains", class_="textEntry", size=64,
                 description="Domains"),
    form.Textbox("timeservers",
                 class_="textEntry",
                 size=64,
                 description="Timeservers"),
    form.Textbox("nameservers",
                 class_="textEntry",
                 size=64,
                 description="Nameservers"),
    form.Dropdown("ipv4method", [('fixed', 'Fixed'), ('dhcp', 'DHCP'),
                                 ('manual', 'Manual'), ('off', 'Off')],
                  onChange="show_hide_ipv4_fields(this);",
                  description="IPv4 configuration"),
    form.Textbox("ipv4address", size=15, description="IPv4 address"),