Metadata-Version: 2.0
Name: btform
Version: 0.1
Summary: web app forms tools
Home-page: https://github.com/talkincode/btform
Author: jamiesun
Author-email: jamiesun.net@gmail.com
License: MIT
Keywords: web,form,html,http
Platform: UNKNOWN
Classifier: Development Status :: 6 - Mature
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Internet :: WWW/HTTP

btform
=======

python web app forms tools

Code is extracted  from web.py

install 
=======

    easy_install btform

    pip install btform

example of flask 
=================

    #!/usr/bin/env python
    #coding:utf-8

    from flask import Flask
    from flask import request
    from btform import rules
    import btform as form

    app = Flask(__name__)

    form1 = form.Form(
        form.Textbox("name",rules.is_alphanum2(6,32),description=""),
        form.Password("passwd",rules.is_alphanum2(6,32),description=""),
        form.Textarea("desc",rules.len_of(1,128),description="",rows="5",),
        form.Button("submit", type="submit",html="<b>submit</b>"),
    )

    def render_form(frm):
        return "<form action='/' method='POST'>%s</form>"%frm.render()

    @app.route('/', methods=['POST', 'GET'])
    def hello_world():
        iform = form1()
        if request.method == 'GET':
            return render_form(iform)
        elif request.method == 'POST':
            if not iform.validates(source=request.form): 
                return render_form(iform)
            else:
                return "ok"  

    if __name__ == '__main__':
        app.run()

