Author: test
Date: 2005-12-21 18:46:20 +0000 (Wed, 21 Dec 2005)
New Revision: 1437
Modified:
FormEncode/trunk/formencode/htmlfill.py
Log:
Handle <select>s that have no name (mostly safely ignore them)
Modified: FormEncode/trunk/formencode/htmlfill.py
===================================================================
--- FormEncode/trunk/formencode/htmlfill.py 2005-12-21 09:53:59 UTC (rev
1436)
+++ FormEncode/trunk/formencode/htmlfill.py 2005-12-21 18:46:20 UTC (rev
1437)
@@ -399,12 +399,13 @@
self.skip_next = True
def handle_select(self, attrs):
- name = self.get_attr(attrs, 'name')
- self.write_marker(name)
+ name = self.get_attr(attrs, 'name', False)
+ if name:
+ self.write_marker(name)
if (self.error_class
and self.errors.get(name)):
self.add_class(attrs, self.error_class)
- self.in_select = self.get_attr(attrs, 'name')
+ self.in_select = self.get_attr(attrs, 'name', False)
self.write_tag('select', attrs)
self.skip_next = True
self.add_key(self.in_select)
@@ -413,15 +414,18 @@
self.in_select = None
def handle_option(self, attrs):
- assert self.in_select, "<option> outside of <select>: %s" %
self.getpos()
- default = self.defaults.get(self.in_select, '')
-
- if self.selected_multiple(self.defaults.get(self.in_select, ''),
- self.get_attr(attrs, 'value')):
- self.set_attr(attrs, 'selected', 'selected')
- self.add_key(self.in_select)
- else:
- self.del_attr(attrs, 'selected')
+ assert self.in_select is not None, (
+ "<option> outside of <select>: line %i, column %i"
+ % self.getpos())
+ if self.in_select != False:
+ default = self.defaults.get(self.in_select, '')
+
+ if self.selected_multiple(self.defaults.get(self.in_select, ''),
+ self.get_attr(attrs, 'value')):
+ self.set_attr(attrs, 'selected', 'selected')
+ self.add_key(self.in_select)
+ else:
+ self.del_attr(attrs, 'selected')
self.write_tag('option', attrs)
self.skip_next = True
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
FormEncode-CVS mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/formencode-cvs