[Lxml-checkins] r51427 - in lxml/trunk: . src/lxml/html src/lxml/html/tests
ianb at codespeak.net
ianb at codespeak.net
Wed Feb 13 05:25:17 CET 2008
Author: ianb
Date: Wed Feb 13 05:25:16 2008
New Revision: 51427
Modified:
lxml/trunk/CHANGES.txt
lxml/trunk/src/lxml/html/__init__.py
lxml/trunk/src/lxml/html/tests/test_forms.txt
Log:
Fix case when inputs have no name
Modified: lxml/trunk/CHANGES.txt
==============================================================================
--- lxml/trunk/CHANGES.txt (original)
+++ lxml/trunk/CHANGES.txt Wed Feb 13 05:25:16 2008
@@ -40,6 +40,10 @@
Bugs fixed
----------
+* Form elements would return None for ``form.fields.keys()`` if there
+ was an unnamed input field. Now unnamed input fields are completely
+ ignored.
+
Other changes
-------------
Modified: lxml/trunk/src/lxml/html/__init__.py
==============================================================================
--- lxml/trunk/src/lxml/html/__init__.py (original)
+++ lxml/trunk/src/lxml/html/__init__.py Wed Feb 13 05:25:16 2008
@@ -818,7 +818,8 @@
def keys(self):
names = sets.Set()
for el in self:
- names.add(el.name)
+ if el.name is not None:
+ names.add(el.name)
return list(names)
def __iter__(self):
Modified: lxml/trunk/src/lxml/html/tests/test_forms.txt
==============================================================================
--- lxml/trunk/src/lxml/html/tests/test_forms.txt (original)
+++ lxml/trunk/src/lxml/html/tests/test_forms.txt Wed Feb 13 05:25:16 2008
@@ -141,3 +141,24 @@
single_checkbox2: 'good'
check_group: <CheckboxValues {'1', '2', '3'} for checkboxes name='check_group'>
+>>> import lxml.html
+>>> tree = lxml.html.fromstring('''
+... <html><body>
+... <form>
+... <input name="foo" value="bar"/>
+... <input type="submit" />
+... </form>
+... </body></html>
+... ''')
+>>> tree # doctest: +ELLIPSIS
+<Element html at ...>
+>>> tree.forms[0] # doctest: +ELLIPSIS
+<Element form at ...>
+>>> tree.forms[0].fields # doctest: +NOPARSE_MARKUP
+<FieldsDict for form 0>
+>>> tree.forms[0].fields.keys()
+['foo']
+>>> tree.forms[0].fields.items()
+[('foo', 'bar')]
+>>> tree.forms[0].fields.values()
+['bar']
More information about the lxml-checkins
mailing list