Ñò †°Ic @ s¶ d Z d d k Z d d k Z d d k Z d d g Z d „ Z e g Z e e ƒ D]" Z e e i ƒ e e e ƒ f qS [ ƒ Z d „ Z d „ Z d „ Z d e f d „ ƒ YZ d S( sã Extension to ``htmlfill`` that can parse out schema-defining statements. You can either pass ``SchemaBuilder`` to ``htmlfill.render`` (the ``listen`` argument), or call ``parse_schema`` to just parse out a ``Schema`` object. iÿÿÿÿNt parse_schemat SchemaBuilderc C sH t i ƒ } t i d h d | ƒ } | i t i ƒ | i ƒ | i ƒ S( s\ Given an HTML form, parse out the schema defined in it and return that schema. t defaultst listener( t htmlfill_schemabuilderR t htmlfillt FillingParsert feedt selft formt closet schema( R R t p( ( sE /usr/lib/python2.6/site-packages/formencode/htmlfill_schemabuilder.pyR s c C sD | p h St g } | i i ƒ D] } | | | f q# ~ ƒ Sd S( N( t dictt _messagest keys( t clst messaget _[1]t k( ( sE /usr/lib/python2.6/site-packages/formencode/htmlfill_schemabuilder.pyt get_messages s c C sF | i ƒ i ƒ } | d j o t S| d j o t St d ƒ ‚ d S( Nt truet tt yest yt ont 1t falset ft not nt offt 0s, Not a boolean value: %r (use 'true'/'false')( R R R R R R ( R R R R R R ( t stript lowert Truet Falset ValueError( t value( ( sE /usr/lib/python2.6/site-packages/formencode/htmlfill_schemabuilder.pyt to_bool$ s c C s; t | t ƒ o | St | t ƒ o t | ƒ S| g Sd S( sH Force single items into a list. This is useful for checkboxes. N( t isinstancet listt tuple( t v( ( sE /usr/lib/python2.6/site-packages/formencode/htmlfill_schemabuilder.pyt force_list- s c B s/ e Z e d „ Z d „ Z d „ Z d „ Z RS( c C s | | _ d | _ d S( N( t validatorst Nonet _schema( R R- ( ( sE /usr/lib/python2.6/site-packages/formencode/htmlfill_schemabuilder.pyt __init__: s c C s t i ƒ | _ d S( N( R t SchemaR/ ( R ( ( sE /usr/lib/python2.6/site-packages/formencode/htmlfill_schemabuilder.pyt reset> s c C s | i S( N( R/ ( R ( ( sE /usr/lib/python2.6/site-packages/formencode/htmlfill_schemabuilder.pyR A s c C sJ | i } | | d ƒ } | p d St i t i ƒ ƒ } d } | i ƒ d j o | | d ƒ i ƒ i ƒ } | d j o | i i t i ƒ ƒ qâ | d j o | i i t i d t ƒ ƒ qâ | d j o t i ƒ } qâ n | | d ƒ } t | | d d ƒ ƒ } | o, | i i t i d t t i | ƒ ƒ ƒ n t | i d _ | o | i i | ƒ n | | d d ƒ } | o³ | i d ƒ } | d j o | | d f } | | } n d } | i ƒ } | i i | ƒ } | p t d | ƒ ‚ n h t | | ƒ d 6} | | | Ž } | i i | ƒ n | i i | | ƒ d S( Nt namet inputt typet submitt checkboxt to_pythont files form:messages form:requiredR t messagesi s form:validatet :iÿÿÿÿi s Invalid validation type: %r( ( t get_attrt compoundt AllR- t IdentityR. R" R! t appendt Boolt WrapperR, t FieldStorageUploadConverterR' t NotEmptyR R$ t if_missingt findt getR% R/ t add_field( R t parsert tagt attrsR<