{ "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" } ] }