diff options
| author | Stefan Behnel <stefan_ml@behnel.de> | 2016-07-29 18:39:46 +0200 |
|---|---|---|
| committer | Stefan Behnel <stefan_ml@behnel.de> | 2016-07-29 18:39:46 +0200 |
| commit | 8132c755adad4a75ba855d985dd257493bccc7fd (patch) | |
| tree | 5437b2d545e68a4b4f25cef8f979e33f09e87737 /src/lxml/html | |
| parent | 2feb26c2a412880c77adb10dfc382d22275813c8 (diff) | |
| download | python-lxml-8132c755adad4a75ba855d985dd257493bccc7fd.tar.gz | |
allow el.set("attr") in HTML trees without having to specify an explicit None value
Diffstat (limited to 'src/lxml/html')
| -rw-r--r-- | src/lxml/html/__init__.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/lxml/html/__init__.py b/src/lxml/html/__init__.py index ba36272d..9d5ae953 100644 --- a/src/lxml/html/__init__.py +++ b/src/lxml/html/__init__.py @@ -239,6 +239,15 @@ class Classes(MutableSet): class HtmlMixin(object): + def set(self, key, value=None): + """set(self, key, value=None) + + Sets an element attribute. If no value is provided, or if the value is None, + creates a 'boolean' attribute without value, e.g. "<form novalidate></form>" + for ``form.set('novalidate')``. + """ + super(HtmlElement, self).set(key, value) + @property def classes(self): """ @@ -682,8 +691,9 @@ class HtmlComment(etree.CommentBase, HtmlMixin): class HtmlElement(etree.ElementBase, HtmlMixin): - # Override etree.ElementBase.cssselect, despite the MRO + # Override etree.ElementBase.cssselect() and set(), despite the MRO (FIXME: change base order?) cssselect = HtmlMixin.cssselect + set = HtmlMixin.set class HtmlProcessingInstruction(etree.PIBase, HtmlMixin): |
