コード例 #1
0
    def __init__(self, the_type, editable_key=True, **kw):
        inputs = []

        if the_type is uci_raw.Value:
            if editable_key:
                inputs.append(
                    Textbox("index",
                            RegExp("Index must be a number", r"\d+"),
                            description="Value index"))
            inputs.append(
                Textbox("content", NotEmpty(), description="Value content"))
        elif the_type is uci_raw.Option:
            if editable_key:
                inputs.append(
                    Textbox("name", NotEmpty(), description="Option name"))
            inputs.append(
                Textbox("value", NotEmpty(), description="Option value"))
        elif the_type is uci_raw.List:
            if editable_key:
                inputs.append(
                    Textbox("name", NotEmpty(), description="List name"))
            inputs.append(
                Textbox("first_content",
                        NotEmpty(),
                        description="First value content"))
        elif the_type is uci_raw.Section:
            if editable_key:
                inputs.append(Textbox("name", description="Section name"))
            inputs.append(
                Textbox("type", NotEmpty(), description="Section type"))
            inputs.append(Checkbox("anonymous", description="Anonymous"))
        else:
            raise ValueError("Unable to create form for type '%s'" % the_type)

        self.model_type = the_type

        super(UciRawForm, self).__init__(*inputs, **kw)
コード例 #2
0
#!/usr/bin/env python
# coding: utf-8

from SimpleAppServer import expose, test
from httphandler import Response
from simpletemplate import SimpleTemplate

from validators import NotEmpty, RegexValidator
from widgets import Text, Submit, Form

editforms = (Text(
    'username',
    u'ユーザ名',
    validators=(NotEmpty(), RegexValidator(r'[A-Za-z\d]')),
),
             Text(
                 'password',
                 u'パスワード',
                 validators=(NotEmpty(), RegexValidator(r'[A-Za-z\d]')),
             ), Submit('submit', u'ログイン'))
loginform = Form(editforms, {'action': '/login', 'method': 'POST'})

base_body = """<html><body>%s</body></html>"""
コード例 #3
0
            ("birthyear", "int"), ("gender", "int"),
            ("email", "text"), ("url", "text"),
            ("language1", "text"), ("language2", "text"),
            ("commment", "text"))

p = path.join(path.dirname(__file__), "questionnaire.dat")
con = sqlite3.connect(p)
BaseMapper.setconnention(con)
Profile.createtable(ignore_error=True)

from validators import NotEmpty, IntValidator, IntRangeValidator,\
    URLValidator, EmailValidator, ValidationError
from widgets import Text, Select, Radio, Submit, Reset, Form

languages = [("", "---")]+[(x, x) for x in ["Perl", "PHP", "Python", "Ruby"]]
forms = ( Text("lastname", u"名字", validators=(NotEmpty(),)),
          Text("firstname", u"名前", validators=(NotEmpty(),)),
          Select("birthyear", u"生まれた年",
                 options=[("0", "---")]+\
                 [(str(x), str(x)) for x in range(1900, 2007)],
                 validators=(NotEmpty(), IntRangeValidator(1900, 2007),)),
          Radio("gender", u"性別",
                 options=(("1", u"男性"), ("2", u"女性")),
                validators=(IntRangeValidator(1, 2),)),
          Text("Email", u"めーるあどれす",
               validators=(EmailValidator(),), attrs={"size":"40"}),
          Text("url", u"URL",
               validators=(URLValidator(),), attrs={"size":"40"}),
          Select("language1", u"一番好きな言語は?",
                 options=languages, validators=(NotEmpty(),)),
          Select("language2", u"二番目に好きな言語は?",
コード例 #4
0
class Rssurl(BaseMapper):
    rows = (("title", "text"), ("url", "text"))


p = path.join(path.dirname(__file__), "urls.dat")
con = sqlite3.connect(p)
BaseMapper.setconnection(con)

Rssurl.createtable(ignore_error=True)

from validators import NotEmpty, IntValidator, URLValidator
from widgets import Hidden, Text, Submit, Form

editforms = (Text("title",
                  u"タイトル",
                  validators=(NotEmpty(), ),
                  attrs={"size": 40}),
             Text("url",
                  u"RSSのURL",
                  validators=(URLValidator(), ),
                  attrs={"size": 40}),
             Hidden(
                 "item_id",
                 u"ID",
                 validators=(IntValidator(), ),
             ), Submit("submit", u"登録"))

editform = Form(editforms, {"action": "/edit", "method": "POST"})

addforms = (Text("title",
                 u"タイトル",
コード例 #5
0
from simplemapper import BaseMapper

class Rssurl(BaseMapper):
    rows=(('title', 'text'), ('url', 'text'))

p=path.join(path.dirname(__file__), 'urls.dat')
con=sqlite3.connect(p)
BaseMapper.setconnection(con)

Rssurl.createtable(ignore_error=True)

from validators import NotEmpty, IntValidator, URLValidator
from widgets import Hidden, Text, TextArea, Submit, Reset, Form

editforms=(Text('title', u'タイトル',
            validators=(NotEmpty(),), attrs={'size':40}),
           Text('url', u'RSSのURL',
            validators=(URLValidator(),), attrs={'size':40}),
           Hidden('item_id', u'ID',
            validators=(IntValidator(),) ),
           Submit('submit', u'登録'))

editform=Form(editforms, {'action':'/edit', 'method':'POST'})

addforms=(Text('title', u'タイトル',
            validators=(NotEmpty(),), attrs={'size':40}),
          Text('url', u'RSSのURL',
            validators=(URLValidator(),), attrs={'size':40}),
          Submit('submit', u'登録'))

addform=Form(addforms, {'action':'/add', 'method':'POST'})
コード例 #6
0
    rows = (('lastname', 'text'), ('firstname', 'text'), ('birthyear', 'int'),
            ('gender', 'int'), ('email', 'text'), ('url', 'text'),
            ('language1', 'text'), ('language2', 'text'), ('comment', 'text'))


p = path.join(path.dirname(__file__), 'questionnaire.dat')
con = sqlite3.connect(p)
BaseMapper.setconnection(con)
Profile.createtable(ignore_error=True)

from validators import NotEmpty, IntValidator, IntRangeValidator, \
        URLValidator, EmailValidator, ValidationError
from widgets import Text, Select, Radio, Submit, Reset, Form

languages = [('', '---')] + [(x, x) for x in ['Perl', 'PHP', 'Python', 'Ruby']]
forms = ( Text('lastname', u'名字', validators=(NotEmpty(),)),
          Text('firstname', u'名前', validators=(NotEmpty(),)),
          Select('birthyear', u'生まれた年',
                 options=[('0', '---')] +\
                         [(str(x), str(x)) for x in range(1940, 2007)],
                 validators=(NotEmpty(), IntRangeValidator(1900, 2007), )),
          Radio('gender', u'性別',
                  options = (('1', u'男性'), ('2', u'女性')),
                  validators = (IntRangeValidator(1, 2),)),
          Text('email', u'メールアドレス',
              validators=(EmailValidator(),), attrs={'size': '40'}),
          Text('url', u'URL',
              validators=(URLValidator(),), attrs={'size': '40'}),
          Select('language1', u'一番好きな言語は?',
              options=languages, validators=(NotEmpty(), )),
          Select('language2', u'に番目に好きな言語は?',
コード例 #7
0
ファイル: authentication.py プロジェクト: kyon-bll/min_py_web
#!/usr/bin/env python
# coding: utf-8

from simpleappserver import expose, test
from httphandler import Response
from simpletemplate import SimpleTemplate

from validators import NotEmpty, RegexValidator
from widgets import Text, Submit, Form

editforms = (Text(
    "username",
    u"ユーザ名",
    validators=(NotEmpty(), RegexValidator(r"[A-Za-z\d]")),
),
             Text(
                 "password",
                 u"パスワード",
                 validators=(NotEmpty(), RegexValidator(r"[A-Za-z\d]")),
             ), Submit("submit", u"ログイン"))
loginform = Form(editforms, {"action": "/login", "method": "POST"})

base_body = """<html><body>%s</body></html>"""


@expose
def login_form(_request, values={}, errors={}):
    body = base_body % ("${form.display(values, errors)}")
    res = Response()
    t = SimpleTemplate(body)
    values["password"] = ""