コード例 #1
0
ファイル: account.py プロジェクト: chxfx/icmst2015-visit
 def register_detail_form(self):
     return form.Form(
         form.Textbox('email', description="email", class_="form-control"),
         form.Button('Save Change',
                     submit='submit',
                     class_="btn btn-primary"))
コード例 #2
0
    'view_cluster_dot',
)

app = web.application(urls, globals())
render = web.template.render('templates/')
if web.config.get('_cn_session') is None:
    session = web.session.Session(app, web.session.DiskStore('cn-sessions'),
                                  {'user': None})
    web.config._cn_session = session
else:
    session = web.config._cn_session

register_form = form.Form(
    form.Textbox("username", description="Username"),
    form.Password("password", description="Password"),
    form.Button("submit", type="submit", description="Login"),
    validators=[
        form.Validator("All fields are mandatory",
                       lambda i: i.username == "" or i.password == "")
    ])

#-----------------------------------------------------------------------
# FUNCTIONS


#-----------------------------------------------------------------------
def create_schema_mysql(db):
    printing = db.printing
    db.printing = False
    db.dbn = get_dbn()
コード例 #3
0
from web import form

import config
import client

render = web.template.render('web_client/')
urls = ('/', 'index')
app = web.application(urls, globals())

clientconf = form.Form(
    form.Textbox("Port",
                 form.notnull,
                 form.Validator("Must be between 1000 and 65535",
                                lambda x: 1000 <= int(x) <= 65535),
                 value=config.CLIENT_PORT),
    form.Button('Start'),
    # form.Button('Kill')
)


class index:
    def GET(self):
        form = clientconf()
        return render.client(form)

    def POST(self):
        form = clientconf()
        if not form.validates():
            return render.client(form)
        else:
            client.reactor.listenTCP(int(form["Port"].value),
コード例 #4
0
import web
from web import form

from app.models import users
from app.helpers import session
from app.helpers import email_templates

import config
from config import view

vemail = form.regexp(r'.+@.+', 'Please enter a valid email address')
login_form = form.Form(
    form.Textbox('email', form.notnull, vemail, description='Your email:'),
    form.Password('password', form.notnull, description='Your password:'******'submit', type='submit', value='Login'),
    validators=[
        form.Validator(
            'Incorrect email / password combination.',
            lambda i: users.is_correct_password(i.email, i.password))
    ])

register_form = form.Form(
    form.Textbox('email',
                 form.notnull,
                 vemail,
                 form.Validator('This email address is already taken.',
                                lambda x: users.is_email_available(x)),
                 description='Your email:'),
    form.Password('password',
                  form.notnull,
コード例 #5
0
                                  vars=locals())[0]["imagesperpage"]

        verified = db.select('users',
                             where="username=$username",
                             vars=locals())[0]["email_verified"]

        return homepage_render.account("Account Updated", session.loggedin,
                                       username, datejoined, imagesperpage,
                                       verified, "")


delete_account_form = form.Form(
    form.Checkbox('confirm',
                  description="Confirm Account Deletion",
                  value="confirmed"),
    form.Button('submit', type="submit", description="Submit"))


class DeleteAccount(object):
    def GET(self):
        cur_form = delete_account_form()
        return homepage_render.deleteaccount("Delete Account",
                                             session.loggedin, cur_form, "")

    def POST(self):
        cur_form = delete_account_form()

        # THIS IS STUPIDLY HACKY AND UNDOCUMENTED ON THE WEBPY WEBSITE
        formdata = web.input()

        if formdata.has_key('confirm'):
コード例 #6
0
ファイル: forms.py プロジェクト: Zmrihawy/Pen-testingGroup80
from models.user import get_users, get_user_id_by_name


# Regex for input validation
vemail = form.regexp(r".*@.*", "- Must be a valid email address")
vpass = form.regexp(r".{8,100}[A-Za-z0-9@#$%^&+=]$", '- Must be atleast 8 characters long')
number = form.regexp(r"^[0-9]+$", "- Must be a number")
not_empty = form.regexp(r".+", "- This field is required")

# Define the login form 
login_form = form.Form(
    form.Textbox("username", description="Username"),
    form.Password("password", description="Password"),
    form.Textbox("totp", description="Google Authenticator Code:"),
    form.Checkbox("remember", description= "Remember me", checked=False, value=False),
    form.Button("login", value="login", type="submit", description="Login", html="<b>Log in</b>"),
    form.Button("forget", value="forget", type="submit", description="Forget Password", html="<b>Forget Password</b>")
)

# Define the register form 
register_form = form.Form(
    form.Textbox("username", not_empty, description="Username"),
    form.Textbox("full_name", not_empty, description="Full name"),
    form.Textbox("company", description="Company"),
    form.Textbox("email", vemail, description="Email Address"),
    form.Textbox("street_address", description="Street address"),
    form.Textbox("city", description="City"),
    form.Textbox("state", description="State"),
    form.Textbox("postal_code", number, description="Postal code"),
    form.Textbox("country", description="Country"),
    form.Password("password", vpass, description="Password"),
コード例 #7
0
#coding: utf-8
from web import form
from models import User
from operator import itemgetter

CreditForm = form.Form(
    form.Textbox('amount',
                 form.notnull,
                 form.regexp(r'[+-]?([0-9]*[.])?[0-9]+',
                             "Le montant entré n'est pas un chiffre valide"),
                 size=5,
                 post=" €",
                 description="Montant :"),
    form.Button('Envoyer'),
)

ConsumeForm = form.Form(
    form.Dropdown('units', [(x, x) for x in range(1, 11)],
                  description="Nombre de consommations"),
    form.Button('Envoyer'),
)

ConsumeInlineForm = form.Form(form.Textbox('units', size=5), )

UserForm = form.Form(
    form.Textbox('firstname', form.notnull, size=30, description="Prénom :"),
    form.Textbox('lastname', form.notnull, size=30, description="Nom :"),
    form.Textbox('email',
                 form.notnull,
                 form.regexp(
                     r'(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)',
コード例 #8
0
import urllib2
import os
from website import *
from picture import *

urls = (
    '/', 'index',
    '/s', 's',
    '/p', 'p'
)

render = web.template.render('templates') # your templates

login = form.Form(
    form.Textbox('keyword'),
    form.Button('Search'),
)


class index:
    def GET(self):
        return render.starter()

class s:
    def GET(self):
        #f = login()
        user_data = web.input()
        keyword = user_data.keyword
        title, url, surround = func(keyword)
        return render.website(keyword, title, url, surround)
コード例 #9
0
collection.insert(contado)

session = web.session.Session(app,
                              web.session.DiskStore('sessions'),
                              initializer={'time': ''})

plantillas = render_mako(directories=['templates'],
                         input_encoding='utf-8',
                         output_encoding='utf-8')

#Formulario
formlogin = form.Form(
    form.Textbox('usuario', form.notnull, description='Usuario'),
    form.Password('passw', form.notnull, description='Contraseña'),
    form.Button('Login'))

formulario_mapa = form.Form(
    form.Textbox('origen', form.notnull, description='origen: '),
    form.Textbox('destino', form.notnull, description='destino: '),
    form.Button('Enviar'))

formulario_twitter = form.Form(
    form.Dropdown(
        'ciudad',
        ['granada', 'almeria', 'cordoba', 'malaga', 'jaen', 'huelva', 'cadiz'],
        description="¿De que ciudad quiere ver tweets?"),
    form.Button('Buscar'))

formulario_grafica_o = form.Form(form.Button('Grafica Secciones'))
コード例 #10
0
    def GetFormInputs(self):
        """
            returns forms with input values
        """
        forms = {
            'textBoxes': {},
            'ButonList': {},
            'DropdList': {},
            'CheckList': {}
        }

        def IsNull(v):
            return True if (v is None) or (v is '') or (v is u'') else False

        TextBoxListDict = {}
        for TextBoxGroup in [self.TextBoxList]:
            for TextBoxFormName in TextBoxGroup:
                TextBoxListDict[TextBoxFormName.rstrip()] = form.Form(
                    form.Textbox(TextBoxFormName.rstrip()))
                print("Creating Instance for validation: %s" %
                      (TextBoxFormName))
                textBoxIns = TextBoxListDict[TextBoxFormName.rstrip()]()
                if not textBoxIns.validates():
                    print("Not Valid")
                else:
                    #print ("Form values: %s" %(textBoxIns.d))
                    for item in textBoxIns.d:
                        if not IsNull(textBoxIns.d[item.rstrip()]):
                            print("Input Not empty: %s" % (textBoxIns.d[item]))
                            forms['textBoxes'][str(item.rstrip())] = str(
                                textBoxIns.d[item]) if textBoxIns.d[
                                    item] is not None else textBoxIns.d[item]
        DropDListDict = {}
        for DropdListFormName in self.DropdownList:
            DropDListDict[DropdListFormName] = form.Form(
                form.Dropdown(DropdListFormName, []))
            tempIns = DropDListDict[DropdListFormName]()
            if not tempIns.validates():
                pass
            else:
                for item in tempIns.d:
                    if not IsNull(tempIns.d[item]):
                        print("DropDown Input Not empty: %s" %
                              (tempIns.d[item]))
                        forms['DropdList'][item] = str(
                            tempIns.d[item]
                        ) if tempIns.d[item] is not None else tempIns.d[item]
        ButonListDict = {}
        for ButonBoxGroup in [self.ButtonList]:
            for ButonListFormName in ButonBoxGroup:
                ButonListDict[ButonListFormName.rstrip()] = form.Form(
                    form.Button(ButonListFormName.rstrip()))
                #for ButonListFormName in ButonListDict:
                tempIns = ButonListDict[ButonListFormName.rstrip()]()
                if not tempIns.validates():
                    pass
                else:
                    for item in tempIns.d:
                        if not IsNull(tempIns.d[item.rstrip()]):
                            print("Input Not empty: %s" % (tempIns.d[item]))
                            forms['ButonList'][str(item.rstrip())] = str(
                                tempIns.d[item.rstrip()]) if tempIns.d[
                                    item.rstrip()] is not None else tempIns.d[
                                        item.rstrip()]
        CheckListDict = {}
        for CheckBoxGroup in [self.CheckBoxList]:
            for CheckBoxFormName in CheckBoxGroup:
                CheckListDict[CheckBoxFormName.rstrip()] = form.Form(
                    form.Checkbox(CheckBoxFormName.rstrip()))
                #for ButonListFormName in ButonListDict:
                tempIns = CheckListDict[CheckBoxFormName.rstrip()]()
                if not tempIns.validates():
                    pass
                else:
                    for item in tempIns.d:
                        if not IsNull(tempIns.d[item.rstrip()]):
                            print("Input Not empty: %s" % (tempIns.d[item]))
                            forms['CheckList'][item.rstrip()] = (
                                tempIns.d[item.rstrip()])
        print(forms)
        return forms
コード例 #11
0
urls = (
    '/',
    'index',  #文字搜索主页面
    '/res',
    'result',  #结果展示页面
    '/img',
    'img',  #图像搜索页面
    '/(\d*)',
    'detail',  #详情页面
)

search_result = []  #search result 作为全局变量,储存搜索结果

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

login = form.Form(form.Textbox('keywords'), form.Button('submit'))

all_books = []

# def get_douban(isbn):
# 	result = ['name','pic_url','']
# 	return result

# def get_library(isbn):
# 	result = []
# 	return result


class index:
    def GET(self):
        f = login()  #传入表单
コード例 #12
0
ファイル: rhn-useradd.py プロジェクト: ryanyard/rhn-useradd
                            ('PA', 'Pennsylvania'), ('RI', 'Rhode Island'),
                            ('SC', 'South Carolina'), ('SD', 'South Dakota'),
                            ('TN', 'Tennessee'), ('TX', 'Texas'),
                            ('UT', 'Utah'), ('VT', 'Vermont'),
                            ('VA', 'Virginia'), ('WA', 'Washington'),
                            ('WV', 'West Virginia'), ('WI', 'Wisconsin'),
                            ('WY', 'Wyoming')],
                  description="State"),
    form.Textbox("country", form.notnull, value="US", description="Country"),
    form.Textbox("zip",
                 form.notnull,
                 form.regexp('\d+', 'Must be a digit'),
                 form.Validator('Must be more than 5', lambda x: int(x) > 5),
                 description="Zip Code"),
    form.Hidden(name='approved', value='0'),
    form.Button('Add User'),
    validators=[
        form.Validator("Passwords did't match",
                       lambda i: i.password == i.password2)
    ])


class index:
    def GET(self):
        form = addform()
        users = model.get_users()
        return render.index(users, form)

    def POST(self):
        form = addform()
        if not form.validates():
コード例 #13
0
    "defaultUrl",
)
HTMLapp = web.application(HTMLurls, globals())
myCurrentQueries = C.QUERIESINGLOBALDEFAULTS
render = web.template.render('templates')  # your templates
vpass = form.regexp(r".{3,20}$", 'must be between 3 and 20 characters')
vemail = form.regexp(r".*@.*", "must be a valid email address")
register_form = form.Form(form.Textbox("username", description="Username"),
                          form.Textbox("email", vemail, description="E-Mail"),
                          form.Password("password",
                                        vpass,
                                        description="Password"),
                          form.Password("password2",
                                        description="Repeat password"),
                          form.Button("submit",
                                      type="submit",
                                      description="Register"),
                          validators=[
                              form.Validator(
                                  "Passwords did't match",
                                  lambda i: i.password == i.password2)
                          ])


# *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
# * send an auto-expire no cache etc header set and load a style sheet, start the basic page, etc.
# * pass in the title to be added to the <title></title>
# * returns the string to take a page to the </body> (including <body>)
# *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
def sendMyHeader(myTitle):
    # web.ctx.env
コード例 #14
0
ファイル: plantilla.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}')

session = web.session.Session(app, web.session.DiskStore('sessions'))

plantillas = render_mako(directories=['templates'],
                         input_encoding='utf-8',
                         output_encoding='utf-8')

#Formulario
formlogin = form.Form(
    form.Textbox('username', form.notnull, description='Usuario'),
    form.Password('password', form.notnull, description='Contraseña'),
    form.Button('Login'))

formModifica = 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",
コード例 #15
0
import web
from web import form
from subprocess import Popen, PIPE, STDOUT
from time import sleep
import eca
from util import get_service

vpassphrase = form.regexp(r".{8,64}$", "Must be between 8 and 64 characters")
psk_form = web.form.Form(form.Hidden('servicetype'),
                         form.Password("passphrase",
                                       autocomplete="off",
                                       description="Passphrase"),
                         form.Password("passphrase2",
                                       autocomplete="off",
                                       description="Repeat passphrase"),
                         form.Button("Submit", type="submit", value="new_psk"),
                         validators=[
                             form.Validator(
                                 "Passphrase do not match",
                                 lambda i: i.passphrase == i.passphrase2)
                         ])

wep_form = web.form.Form(form.Hidden('servicetype'),
                         form.Password("passphrase",
                                       autocomplete="off",
                                       description="Passphrase"),
                         form.Password("passphrase2",
                                       autocomplete="off",
                                       description="Repeat passphrase"),
                         form.Button("Submit", type="submit", value="new_wep"),
                         validators=[
コード例 #16
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))
        ])
コード例 #17
0
    )
app = web.application(urls, globals())

myform = form.Form(
    form.Textbox("url"),
    form.Textbox("1-title"),
    form.Textbox("1-content"),
    form.Textbox("2-title"),
    form.Textbox("2-content"),
    form.Textbox("3-title"),
    form.Textbox("3-content"),
    form.Textbox("4-title"),
    form.Textbox("4-content"),
    form.Textbox("5-title"),
    form.Textbox("5-content"),
    form.Button("Add a column")
    )
#        form.notnull,
#        form.regexp('\d+', 'Must be a digit'),
#        form.Validator('Must be more than 5', lambda x:int(x)>5)),
    #form.Textarea('moe'),
    #form.Checkbox('curly'),
    #form.Dropdown('french', ['mustard', 'fries', 'wine']))

class index:
    def GET(self):
        form = myform()
        # make sure you create a copy of the form by calling it (line above)
        # Otherwise changes will appear globally
        return render.formtest(form)
コード例 #18
0
    form.Textbox("proxyurl",
                 size=64,
                 description="Proxy URL",
                 class_="textEntry",
                 id="proxy-url"),
    form.Textbox("proxyservers",
                 size=64,
                 description="Proxy server URIs",
                 class_="textEntry",
                 id="proxy-servers"),
    form.Textbox("proxyexcludes",
                 size=64,
                 description="Proxy host excluded",
                 class_="textEntry",
                 id="proxy-excludes"),
    form.Button("Submit", type="submit", value="edit", html="Save"),
    form.Button("Submit", type="submit", value="connect", html="Connect"),
    form.Button("Submit", type="submit", value="disconnect",
                html="Disconnect"),
    form.Button("Submit", type="submit", value="remove", html="Remove"))


def update_fields(service_id):
    properties = get_properties(service_id)
    if not properties.keys():
        return

    if get_value(properties, "AutoConnect") == "true":
        autoconn = "Yes"
    else:
        autoconn = "No"
コード例 #19
0
from web import form

the_form = form.Form(
    form.Textarea("text", description="Please Enter Some Text"),
    form.Button("submit", type="submit", description="Parse Text"))
コード例 #20
0
				   form.Textbox("location:"),
				   form.Textbox("starring:"),
				   form.Textbox("text:"),
				   form.Textbox("runtime:"),
				   form.Textbox("categories:"))
new_myform = form.Form(form.Textbox("language.:"),
			       form.Textbox("title.:"),
				   form.Textbox("country.:"),
				   form.Textbox("time.:"),
				   form.Textbox("director.:"),
				   form.Textbox("location.:"),
				   form.Textbox("starring.:"),
				   form.Textbox("text.:"),
				   form.Textbox("runtime.:"),
				   form.Textbox("categories.:"))
new_button_myform = form.Form(form.Button("Next 10 relevant films"))

class index:
    def GET(self):
        form = myform()
        return render.page_1(form)

class results:
    def GET(self):
        form = myform()
        new_button_form = new_button_myform()
        new_form = new_myform()
        if not form.validates():
            return render.page_1(form)
        #define a dictionary to collect the data from user input
        input_dic = {}
コード例 #21
0
    def execute_SQL(sql_statement):
        #c.execute(sql_statement)
        #return c.fetchall()
        #for each in list(result):
        #    print each['id']
        return list(db.query(sql_statement))

    myform = form.Form(
        form.Textbox("ingredient", value=""),
        form.Textarea("list", description="List of ingredients", value=""),
        form.Dropdown('reset', ['no', 'yes'],
                      description="Reset ingredients?"),
        #form.Dropdown('sort', ['A-Z','rating','calories','cost','number of ingredients'], description="Sort by"),
        #form.Checkbox('Reset', checked=False),
        form.Button("Update"))

    ingredients_AND_list = []
    ingredients_list = []  # keep track of requested ingredients

    class index:
        def GET(self):
            f = myform()
            #recipes = execute_SQL("SELECT name, url FROM recipes where ing_1=1")
            # make sure you create a copy of the form by calling it (line above)
            # Otherwise changes will appear globally
            return render.main(f, [])

        def POST(self):
            f = myform()
            if f.validates():
コード例 #22
0
    return decorated


def csrf_token():
    if not web_session.has_key('csrf_token'):
        from uuid import uuid4
        web_session.csrf_token = uuid4().hex
    return web_session.csrf_token


urls = ('/', 'submit')
render = web.template.render('templates/', globals={'csrf_token': csrf_token})
submit_form = form.Form(form.Textbox('title', form.notnull),
                        form.Textarea('body', form.notnull),
                        form.Button('Submit!'))
web_frontend = web.application(urls, globals())

if web.config.get('_session') is None:
    web_session = web.session.Session(web_frontend,
                                      web.session.DiskStore('sessions'),
                                      {'count': 0})
    web.config._session = web_session
else:
    web_session = web.config._session

if __name__ == "__main__":
    web.internalerror = web.debugerror
    web_frontend.run()

コード例 #23
0
ファイル: __main__.py プロジェクト: forkme7/search-1
# -*- coding: utf-8 -*-

import web
from web import form
from search import *

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

urls = ('/', 'index')
app = web.application(urls, globals())

myform = form.Form(
    form.Textbox('Title: '),
    form.Dropdown('Type: ', ['','TOPIC', 'PERSON',]),
    form.Dropdown('Action: ', ['Index', 'Search']),
    form.Button('Execute'),)

class index:

    def GET(self):
        form = myform()
        return render.index(form)

    def POST(self):
	form = myform()

        search = Search(form['Title: '].value, form['Type: '].value)

	if not form.validates():
            return render.index(form)
        else:
コード例 #24
0
                  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),
    ])

formLogin = form.Form(
    form.Textbox('username',
                 form.notnull,
                 maxlenght="30",
コード例 #25
0
ファイル: serve.py プロジェクト: vincom2/python-NLB-scraper
        return (books, None)
    else:
        return (books, next['href'])


urls = (
    '/',
    'index',
    '/error',
    'error',
)
render = web.template.render('templates/')

searchfor_form = form.Form(form.Textbox("findthis", description="Search for"),
                           form.Button("submit",
                                       type="submit",
                                       description="Search"),
                           validators=[form.Validator("blah", lambda x: True)])


class index:
    def GET(self):
        f = searchfor_form()
        return render.index(f)

    def POST(self):
        f = searchfor_form()
        f.validates()
        (books, pages) = search_for(f.d.findthis)
        return render.results(books, f.d.findthis, pages)
コード例 #26
0
def insert_form_data():
    data = read_bd()

    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.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: ",
                   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
コード例 #27
0
render = web.template.render('templates/')

urls = ('/', 'index', '/results', 'results', "/totalstuff", 'totalstuff',
        "/daterange", "daterange", "/fieldsearch", 'fieldsearch', "/mwsearch",
        "mwsearch", "/phrasesearch", "phrasesearch")

app = web.application(urls, globals())

movieix = b.build_es_movies_index()

fields = [
    "title", "language", "country", "director", "location", "starring", "text",
    "categories", "time", "runtime"
]

totalsize = form.Form(form.Button("Total size of index"))
date_range = form.Form(form.Textbox("Lower bound of date range:"),
                       form.Textbox("Upper bound of date range:"))
field_search = form.Form(form.Dropdown(name="Fields", args=fields),
                         form.Textbox("Text to search in field:"))
multiword = form.Form(form.Textbox("Multiword search:"))
phrase = form.Form(form.Textbox("Phrase search:"))
field_combo = form.Form(form.Textbox("Multifield search:"))


class index:
    def GET(self):
        form1 = totalsize()
        form2 = date_range()
        form3 = field_search()
        form4 = multiword()
コード例 #28
0
render = web.template.render("templates/")

urls = (
    '/', 'index',
	'/control','control',
	'/decode', 'decode',
	'/create', 'create',
	'/ans','ans',
	'/show','show',
)
app = web.application(urls, globals())
login = form.Form(
	form.Textbox('username'),
	form.Password('password'),
	form.Button('Login'),
	validators = [form.Validator("passwd error.", lambda i: i.password == '123456')]
)
cre = form.Form(
	form.Textbox('Text',description="Text"),
	form.Button('create'),
)
class index:

	def GET(self):
		f=login()
		return render.formtest(f)
	def POST(self):
		f=login()
		if not f.validates():
			return render.formtest(f)