Metadata-Version: 1.1
Name: BlazeForm
Version: 0.3.8
Summary: A library for generating and validating HTML forms
Home-page: http://pypi.python.org/pypi/BlazeForm
Author: Randy Syring
Author-email: rsyring@gmail.com
License: BSD
Description: Introduction
        ---------------
        
        BlazeForm is a library designed to facilitate the rendering/processing/validating
        of HTML forms.
        
        Features
        ---------------
        - validation based on FormEncode
        - attempting to have complete HTML spec coverage
        - extensible rendering system() (don't have to use it)
        - will work with multiple WSGI frameworks (Werkzeug currently supported)
        - *extensive* unit tests
        - few dependencies: FormEncode, BlazeUtils, WebHelpers
        
        Code Sample
        --------------------
        
        Using it might look like this::
        
            class MyForm(Form):
                def __init__(self):
                    Form.__init__(self, 'myform')
        
                    el = self.els.add_header('input-els', 'Optional Elements')
                    el = self.els.add_button('button', 'Button', defaultval='PushMe')
                    el = self.els.add_checkbox('checkbox', 'Checkbox')
                    el = self.els.add_file('file', 'File')
                    el = self.els.add_hidden('hidden', defaultval='my hidden val')
                    el = self.els.add_image('image', 'Image', defaultval='my image val', src='images/icons/b_edit.png')
                    el = self.els.add_text('text', 'Text')
                    el.add_note('a note')
                    el.add_note('an <strong>HTML</strong> note', False)
                    el = self.els.add_text('nolabel', defaultval='No Label')
                    el.add_note('a note')
                    el = self.els.add_password('password', 'Password')
                    el = self.els.add_confirm('confirm', 'Confirm Password', match='password')
                    el.add_note('confirm characters for password field are automatically masked')
                    el = self.els.add_date('date', 'Date', defaultval=datetime.date(2009, 12, 3))
                    el.add_note('note the automatic conversion from datetime object')
                    emel = self.els.add_email('email', 'Email')
                    el = self.els.add_confirm('confirmeml', 'Confirm Email', match=emel)
                    el.add_note('note you can confirm with the name of the field or the element object')
                    el.add_note('when not confirming password field, characters are not masked')
                    el = self.els.add_time('time', 'Time')
                    el = self.els.add_url('url', 'URL')
                    options = [('1', 'one'), ('2','two')]
                    el = self.els.add_select('select', options, 'Select')
                    el = self.els.add_mselect('mselect', options, 'Multi Select')
                    el = self.els.add_textarea('textarea', 'Text Area')
                    el = self.els.add_fixed('fixed', 'Fixed', 'fixed val')
                    el = self.els.add_fixed('fixed-no-label', defaultval = 'fixed no label')
                    el = self.els.add_static('static', 'Static', 'static val')
                    el = self.els.add_static('static-no-label', defaultval='static val no label')
        
        and the view/controller code might look something like::
        
            class FormTest(HtmlTemplatePage):
                def prep(self):
                    self.form = MyForm()
        
                def post(self):
                    if self.form.is_cancel():
                        self.assign('cancel', True)
                    elif self.form.is_valid():
                        self.assign('values', self.form.get_values())
                    elif self.form.is_submitted():
                        # form was submitted, but invalid
                        self.form.assign_user_errors()
                    self.default()
        
                def default(self):
                    self.assign('form', self.form)
        
        Questions & Comments
        ---------------------
        
        Please visit: http://groups.google.com/group/blazelibs
        
        Current Status
        ---------------
        
        The code stays pretty stable, but the API may change, especially the rending.
        
        The `blazeform tip <http://bitbucket.org/rsyring/blazeform/get/tip.zip#egg=blazeform-dev>`_
        is installable via `easy_install` with ``easy_install blazeform==dev``
        
        
        Change Log
        ----------
        
        
        0.3.8 released 2016-02-24
        =========================
        
        * update compatibility with FormEncode to include 1.3
        
        0.3.7 released 2014-10-27
        =========================
        
        * fix checkbox element to handle empty value as on/true for IE 9/10 compat.
        
        0.3.6 released 2014-10-15
        =========================
        
        * allow labels for logical groups, such as radio buttons or checkboxes
        
        0.3.5 released 2014-08-20
        =========================
        
        * ensure that form validators and element processors which are FE validators
          are instances
        
        
        0.3.4 released 2012-07-05
        =========================
        
        * form now has all_errors() method which returns form and field errors as (list,
          dict) tuple (respectively).
        * update the way file uploads are checked for being sent.  Previously, we were
          testing for the filename header to be None, but Werkzeug is sending it over as
          an empty string in the FileStorage object now.  Could theoretically result in
          behavior change, but only in narrow edge cases.
        
        0.3.3 released 2011-11-16
        =========================
        
        * TextAreaElement now uses maxlength kwarg
        
        0.3.2 released 2011-06-11
        =========================
        
        * fix broken distribution of 0.3.1
        
        0.3.1 released 2011-06-11
        =========================
        
        * fixed bug in radio button rendering after validation error
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Internet :: WWW/HTTP
