Skip to main content

YAFOWIL - Yet Another Form Widget Lib: Lightweight, Extensible, Pluggable, Pure.

Project description

This is Yet Another Form WIdget Library (XHTML). There are plenty of ‘em out in Python space.

YAFOWIL offers html-form creation and modification at runtime. Its light-weight and provides an extensible, reusable set of form widgets, independent from any web-framework, but easy to use in your web-framework.

It’s all just about rendering widgets and extracting the data returned from the browser per widget. It does not fight with storage.

Yafowil widgets are a bit different: Its all just configuration. No subclassing needed any more; no specific schema-framework is necessary.

Yafowil provides a factory where you can fetch your widgets instances from. Or you register your own.

Detailed Documentation

If you’re interested to dig deeper: The detailed YAFOWIL documentation is available. Read it and learn how to create your example application with YAFOWIL forms in 15 minutes.

Source Code

The sources are in a GIT DVCS with its main branches at github.

We’d be happy to see many forks and pull-requests to make YAFOWIL even better.

Contributors

History

1.1

  • Extend select widget for better UI control of selections and multi selections [rnix, 2011-08-05]

  • Plumb node.parts.Order to widget node [rnix, 2011-07-28]

  • define label and field renderer as display renderer as well [rnix, 2011-07-25]

  • deprecate use of mode widget [rnix, 2011-07-08]

  • now mode is a central element: each Widget instance has a mode now: edit, display or skip. edit is default and works as usal. Display renders the new display_renderer chain. Skip just renders an empty Unicode string. [jensens, 2011-07-07]

1.0.4

  • clean up html5 handling, we believe in novalidate now… [jensens, 2011-06-11]

  • add disabled attribute for select widget. [jensens, 2011-06-01]

  • add novalidate property for form [rnix, 2011-05-23]

  • return empty string in mode renderer if value is UNSET [rnix, 2011-05-23]

1.0.3

  • test coverage [rnix, 2011-05-07]

  • add widget value validation checking ‘multivalued’ property against ‘value’ length. [rnix, 2011-05-07]

  • remove outdated _value. user fetch_value instead. [rnix, 2011-05-07]

  • add optional for property for label widget. [rnix, 2011-04-23]

  • select extractor - fix required behavior [rnix, 2011-04-19]

  • compound renderer - consider ‘structural’ property on widget node [rnix, 2011-04-19]

  • number extractor - return val if UNSET [rnix, 2011-04-14]

  • textarea renderer - check value against None and render empty string instead [rnix, 2011-04-14]

1.0.2

  • Add html5type property for email widget [rnix, 2011-03-16]

1.0.1

  • Add html5required property [rnix, 2011-03-16]

1.0

  • adopt to node 0.9 [rnix]

  • documentation [jensens, rnix]

1.0-beta

  • made it work [jensens, rnix, et al, 2010-12-27]

License

Copyright (c) 2010-2011, BlueDynamics Alliance, Austria, Germany, Switzerland All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of the BlueDynamics Alliance nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY BlueDynamics Alliance AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BlueDynamics Alliance BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yafowil-1.1.tar.gz (34.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page