Skip to content

Commit 57c8f65

Browse files
committed
Add Button.disabled
1 parent 0c78342 commit 57c8f65

File tree

3 files changed

+13
-22
lines changed

3 files changed

+13
-22
lines changed

NEWS.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
News in version 2.0.0
22
=====================
33

4+
API Additions
5+
-------------
6+
7+
* Add ``Button.disabled``.
8+
49
Incompatible Changes
510
--------------------
611

htmlgen/form.py

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020

2121
class Form(Element):
22-
2322
"""An HTML <form> element.
2423
2524
>>> form = Form("POST", "/feedback")
@@ -60,7 +59,6 @@ def multipart(self, multipart):
6059

6160

6261
class Input(VoidElement):
63-
6462
"""An HTML <input> element.
6563
6664
>>> input_ = Input("text", "description")
@@ -97,7 +95,6 @@ def __init__(self, type_="text", name=""):
9795

9896

9997
class TextInput(Input):
100-
10198
"""An HTML text input (<input type="text">) element.
10299
103100
>>> input_ = TextInput("description")
@@ -121,7 +118,6 @@ def __init__(self, name="", value=""):
121118

122119

123120
class SearchInput(Input):
124-
125121
"""An HTML search (<input type="search">) element."""
126122

127123
def __init__(self, name=""):
@@ -135,7 +131,6 @@ def __init__(self, name=""):
135131

136132

137133
class PasswordInput(Input):
138-
139134
"""An HTML password input (<input type="password">) element."""
140135

141136
def __init__(self, name=""):
@@ -149,7 +144,6 @@ def __init__(self, name=""):
149144

150145

151146
class NumberInput(Input):
152-
153147
"""An HTML number input (<input type="number">) element."""
154148

155149
def __init__(self, name="", number=None):
@@ -173,7 +167,6 @@ def __init__(self, name="", number=None):
173167

174168

175169
class DateInput(Input):
176-
177170
"""An HTML date input (<input type="date">) element."""
178171

179172
def __init__(self, name="", date=None):
@@ -215,7 +208,6 @@ def _parse_date(v):
215208

216209

217210
class TimeInput(Input):
218-
219211
"""An HTML time input (<input type="time">) element."""
220212

221213
def __init__(self, name="", time=None):
@@ -296,7 +288,6 @@ def __init__(self, type_, name, value):
296288

297289

298290
class Checkbox(_CheckableInput):
299-
300291
"""An HTML checkbox (<input type="checkbox">) element.
301292
302293
>>> cb = Checkbox("my-name", "my-value")
@@ -309,7 +300,6 @@ def __init__(self, name="", value=""):
309300

310301

311302
class RadioButton(_CheckableInput):
312-
313303
"""An HTML radio button (<input type="radio">) element.
314304
315305
>>> cb = RadioButton("my-name", "my-value")
@@ -322,7 +312,6 @@ def __init__(self, name="", value=""):
322312

323313

324314
class FileInput(Input):
325-
326315
"""An HTML file input (<input type="file">) element."""
327316

328317
def __init__(self, name=""):
@@ -333,7 +322,6 @@ def __init__(self, name=""):
333322

334323

335324
class HiddenInput(Input):
336-
337325
"""A hidden HTML input (<input type="hidden"/>) element."""
338326

339327
def __init__(self, name, value):
@@ -342,7 +330,6 @@ def __init__(self, name, value):
342330

343331

344332
class SubmitButton(Input):
345-
346333
"""An HTML form submit button (<input type="submit">) element.
347334
348335
>>> button = SubmitButton("My Label")
@@ -370,7 +357,6 @@ def label(self, label):
370357

371358

372359
class Button(Element):
373-
374360
"""An HTML <button> element.
375361
376362
>>> button = Button("My Label")
@@ -381,9 +367,10 @@ def __init__(self, *content):
381367
super(Button, self).__init__("button")
382368
self.extend(content)
383369

370+
disabled = boolean_html_attribute("disabled")
371+
384372

385373
class TextArea(Element):
386-
387374
"""An HTML <textarea> element.
388375
389376
>>> area = TextArea("element-name")
@@ -405,7 +392,6 @@ def __init__(self, name=""):
405392

406393

407394
class Select(Element):
408-
409395
"""An HTML selection list (<select>) element.
410396
411397
>>> select = Select("element-name")
@@ -513,10 +499,7 @@ def selected_value(self, selected_value):
513499

514500

515501
class OptionGroup(Element):
516-
517-
"""An HTML selection list option group (<optgroup>) element.
518-
519-
"""
502+
"""An HTML selection list option group (<optgroup>) element."""
520503

521504
def __init__(self, label):
522505
super(OptionGroup, self).__init__("optgroup")
@@ -533,7 +516,6 @@ def create_option(self, label, value=None):
533516

534517

535518
class Option(Element):
536-
537519
"""An HTML selection list option (<option>) element.
538520
539521
>>> option = Option("Label")
@@ -579,7 +561,6 @@ def value(self, value):
579561

580562

581563
class Label(Element):
582-
583564
"""An HTML label (<label>) element.
584565
585566
>>> str(Label(Checkbox(), " My Label"))

test_htmlgen/form.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,11 @@ def test_with_children(self):
418418
button = Button("Foo", "bar")
419419
assert_equal("<button>Foobar</button>", str(button))
420420

421+
def test_disabled(self):
422+
button = Button()
423+
button.disabled = True
424+
assert_equal('<button disabled="disabled"></button>', str(button))
425+
421426

422427
class TextAreaTest(TestCase):
423428
def test_with_name(self):

0 commit comments

Comments
 (0)