{
"info": {
"author": "Randy Syring",
"author_email": "rsyring@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License"
],
"description": "Introduction\n---------------\n\npysform is a library designed to facilitate the rendering/processing/validating\nof HTML forms.\n\nFeatures\n---------------\n- validation based on FormEncode\n- attempting to have complete HTML spec coverage\n- extensible rendering system() (don't have to use it)\n- will work with multiple WSGI frameworks (Werkzeug currently supported)\n- *extensive* unit tests\n- few dependencies: FormEncode, pysutils, WebHelpers\n\nCode Sample\n--------------------\n\nUsing it might look like this::\n\n class MyForm(Form):\n def __init__(self):\n Form.__init__(self, 'myform')\n \n el = self.add_header('input-els', 'Optional Elements')\n el = self.add_button('button', 'Button', defaultval='PushMe')\n el = self.add_checkbox('checkbox', 'Checkbox')\n el = self.add_file('file', 'File')\n el = self.add_hidden('hidden', defaultval='my hidden val')\n el = self.add_image('image', 'Image', defaultval='my image val', src='images/icons/b_edit.png')\n el = self.add_text('text', 'Text')\n el.add_note('a note')\n el.add_note('an HTML note', False)\n el = self.add_text('nolabel', defaultval='No Label')\n el.add_note('a note')\n el = self.add_password('password', 'Password')\n el = self.add_confirm('confirm', 'Confirm Password', match='password')\n el.add_note('confirm characters for password field are automatically masked')\n el = self.add_date('date', 'Date', defaultval=datetime.date(2009, 12, 3))\n el.add_note('note the automatic conversion from datetime object')\n emel = self.add_email('email', 'Email')\n el = self.add_confirm('confirmeml', 'Confirm Email', match=emel)\n el.add_note('note you can confirm with the name of the field or the element object')\n el.add_note('when not confirming password field, characters are not masked')\n el = self.add_time('time', 'Time')\n el = self.add_url('url', 'URL')\n options = [('1', 'one'), ('2','two')]\n el = self.add_select('select', options, 'Select')\n el = self.add_mselect('mselect', options, 'Multi Select')\n el = self.add_textarea('textarea', 'Text Area')\n el = self.add_fixed('fixed', 'Fixed', 'fixed val')\n el = self.add_fixed('fixed-no-label', defaultval = 'fixed no label')\n el = self.add_static('static', 'Static', 'static val')\n el = self.add_static('static-no-label', defaultval='static val no label')\n\nand the view/controller code might look something like::\n\n class FormTest(HtmlTemplatePage):\n def prep(self):\n self.form = MyForm()\n \n def post(self):\n if self.form.is_cancel():\n self.assign('cancel', True)\n elif self.form.is_valid():\n self.assign('values', self.form.get_values())\n elif self.form.is_submitted():\n # form was submitted, but invalid\n self.form.assign_user_errors()\n self.default()\n \n def default(self):\n self.assign('form', self.form)\n\nQuestions & Comments\n---------------------\n\nPlease visit: http://groups.google.com/group/pyslibs\n\nCurrent Status\n---------------\n\nThe code stays pretty stable, but the API is likely to change in the future.\n\nThe `pysform tip `_\nis installable via `easy_install` with ``easy_install pysform==dev``",
"description_content_type": null,
"docs_url": null,
"download_url": "UNKNOWN",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "http://pypi.python.org/pypi/pysform",
"keywords": null,
"license": "BSD",
"maintainer": null,
"maintainer_email": null,
"name": "pysform",
"package_url": "https://pypi.org/project/pysform/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/pysform/",
"project_urls": {
"Download": "UNKNOWN",
"Homepage": "http://pypi.python.org/pypi/pysform"
},
"release_url": "https://pypi.org/project/pysform/0.2.1/",
"requires_dist": null,
"requires_python": null,
"summary": "A library for generating and validating HTML forms",
"version": "0.2.1"
},
"last_serial": 803257,
"releases": {
"0.1": [
{
"comment_text": "",
"digests": {
"md5": "3676590e471fbd54489050d9dd72f2e1",
"sha256": "ae83816b97a9942cccc77d8d6487fbad7716c1ac66e8cde6a7a0a05d00e54a97"
},
"downloads": -1,
"filename": "pysform-0.1-py2.5.egg",
"has_sig": false,
"md5_digest": "3676590e471fbd54489050d9dd72f2e1",
"packagetype": "bdist_egg",
"python_version": "2.5",
"requires_python": null,
"size": 44623,
"upload_time": "2009-05-08T03:58:40",
"url": "https://files.pythonhosted.org/packages/9e/e2/2b77b3723907d3ea9301e1c2acd9450f96c41b721e4838ef775dd954ed16/pysform-0.1-py2.5.egg"
},
{
"comment_text": "",
"digests": {
"md5": "cb90881ccdfdae407d616cc29fb2b4c9",
"sha256": "80e7e1004a87f81c0d9dd04056cf9d9910a9c85ca3d39f3f59d6203583186f46"
},
"downloads": -1,
"filename": "pysform-0.1.zip",
"has_sig": false,
"md5_digest": "cb90881ccdfdae407d616cc29fb2b4c9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 43416,
"upload_time": "2009-05-08T03:58:39",
"url": "https://files.pythonhosted.org/packages/8c/d3/96c2213d0b3c7ceef591133881d0ad4cfbcb6f175e28164e5368a2d0d647/pysform-0.1.zip"
}
],
"0.1dev": [
{
"comment_text": "an example application using pysform",
"digests": {
"md5": "80757f73ea064d4e2f6f6f1eeb3000e6",
"sha256": "2ab25b879522c11554aa4e5586c74eaf35505389e338e747eb7bf9382d97b6e9"
},
"downloads": -1,
"filename": "pysform-example-0.1dev.zip",
"has_sig": false,
"md5_digest": "80757f73ea064d4e2f6f6f1eeb3000e6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26992,
"upload_time": "2008-12-22T06:21:40",
"url": "https://files.pythonhosted.org/packages/e4/2b/2f4cb8031b28c3298143539bc9566b1bfac87f972cdeeea4c670bec5d108/pysform-example-0.1dev.zip"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "c7e819f75203d318771ad4e476b28568",
"sha256": "46fb8de7d4ddc9854bd03d7d6eebfd5e68bf081cb7645fb2e1670e9087ec9ad5"
},
"downloads": -1,
"filename": "pysform-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "c7e819f75203d318771ad4e476b28568",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 20241,
"upload_time": "2010-05-30T18:19:53",
"url": "https://files.pythonhosted.org/packages/96/a4/277dcd7f364cfd3de5ee19e76a267ba91269b625f3f9399039412124222e/pysform-0.2.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "c7e819f75203d318771ad4e476b28568",
"sha256": "46fb8de7d4ddc9854bd03d7d6eebfd5e68bf081cb7645fb2e1670e9087ec9ad5"
},
"downloads": -1,
"filename": "pysform-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "c7e819f75203d318771ad4e476b28568",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 20241,
"upload_time": "2010-05-30T18:19:53",
"url": "https://files.pythonhosted.org/packages/96/a4/277dcd7f364cfd3de5ee19e76a267ba91269b625f3f9399039412124222e/pysform-0.2.1.tar.gz"
}
]
}