FillingParser

Fills HTML with default values, as in a form.

Examples:

>>> defaults = {'name': 'Bob Jones',
...             'occupation': 'Crazy Cultist',
...             'address': '14 W. Canal\nNew Guinea',
...             'living': 'no',
...             'nice_guy': 0}
>>> parser = FillingParser(defaults)
>>> parser.feed('<input type="text" name="name" value="fill">\
... <select name="occupation"><option value="">Default</option>\
... <option value="Crazy Cultist">Crazy cultist</option>\
... </select> <textarea cols=20 style="width: 100%" name="address">An address\
... </textarea> <input type="radio" name="living" value="yes">\
... <input type="radio" name="living" value="no">\
... <input type="checkbox" name="nice_guy" checked="checked">')
>>> print parser.text()
<input type="text" name="name" value="Bob Jones">
<select name="occupation">
<option value="">Default</option>
<option value="Crazy Cultist" selected="selected">Crazy cultist</option>
</select>
<textarea cols=20 style="width: 100%" name="address">14 W. Canal
New Guinea</textarea>
<input type="radio" name="living" value="yes">
<input type="radio" name="living" value="no" selected="selected">
<input type="checkbox" name="nice_guy">

Attributes

a CDATA_CONTENT_ELEMENTS

('script', 'style')

Methods

f __init__(self, defaults, errors=None, use_all_keys=False, error_formatters=None, error_class='error', add_attributes=None, listener=None, auto_error_formatter=None, text_as_default=False, encoding=None) ...

f feed(self, data) ...

f close(self) ...

f add_key(self, key) ...

f unescape(self, s) ...

f handle_starttag(self, tag, attrs, startend=False) ...

f handle_pi(self, whatever) ...

f handle_misc(self, whatever) ...

f handle_entityref(self, whatever) ...

f handle_comment(self, whatever) ...

f handle_decl(self, whatever) ...

f handle_charref(self, whatever) ...

f unknown_decl(self, whatever) ...

f handle_data(self, whatever) ...

f handle_endtag(self, tag) ...

f handle_startendtag(self, tag, attrs) ...

f handle_iferror(self, attrs) ...

f handle_end_iferror(self) ...

f handle_error(self, attrs) ...

f handle_input(self, attrs, startend) ...

f handle_textarea(self, attrs) ...

f handle_end_textarea(self) ...

f handle_select(self, attrs) ...

f handle_end_select(self) ...

f handle_option(self, attrs) ...

f selected_multiple(self, obj, value) ...

Returns true/false if obj indicates that value should be selected. If obj has a __contains__ method it is used, otherwise identity is used.

f write_text(self, text) ...

f write_marker(self, marker) ...

f insert_at_marker(self, marker, text) ...

f write_tag(self, tag, attrs, startend=False) ...

f write_pos(self) ...

f get_attr(self, attr, name, default=None) ...

f set_attr(self, attr, name, value) ...

f del_attr(self, attr, name) ...

f add_class(self, attr, class_name) ...

f text(self) ...

See the source for more information.