Skip to content

Commit e89ed07

Browse files
committed
[api] Remove all ABCMeta super classes
1 parent c8a3c30 commit e89ed07

3 files changed

Lines changed: 14 additions & 11 deletions

File tree

NEWS.rst

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

4+
API-Incompatible Changes
5+
------------------------
6+
7+
* Revert deriving from ABC classes.
8+
49
News in version 0.99.2
510
======================
611

htmlgen/element.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import collections
21
import sys
32

43
from htmlgen.generator import Generator, HTMLChildGenerator
@@ -15,11 +14,11 @@
1514
str_class = basestring
1615

1716

18-
def is_element(object, element_name):
17+
def is_element(o, element_name):
1918
"""Return whether a given object is a certain element generator."""
20-
return (isinstance(object, collections.Iterable) and
21-
hasattr(object, "element_name") and
22-
object.element_name == element_name)
19+
return (hasattr(o, "__iter__") and
20+
hasattr(o, "element_name") and
21+
o.element_name == element_name)
2322

2423

2524
class _ElementBase(Generator):
@@ -179,7 +178,7 @@ def _style_value(self):
179178
return "; ".join(rendered_styles)
180179

181180

182-
class _ElementDataProxy(collections.MutableMapping):
181+
class _ElementDataProxy:
183182

184183
"""Dictionary-like object for setting data-* attributes.
185184
@@ -258,7 +257,7 @@ def generate_children(self):
258257
raise NotImplementedError()
259258

260259

261-
class Element(NonVoidElement, collections.Sized):
260+
class Element(NonVoidElement):
262261

263262
"""Base generator for HTML elements with children.
264263

htmlgen/generator.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from collections import Iterable, Sized
21
import sys
32

43
if sys.version_info[0] < 3:
@@ -12,7 +11,7 @@
1211
unicode = str
1312

1413

15-
class Generator(Iterable):
14+
class Generator(object):
1615

1716
"""Base class for HTML generators.
1817
@@ -102,7 +101,7 @@ def generate(self):
102101
yield item
103102

104103

105-
class ChildGenerator(Generator, Sized):
104+
class ChildGenerator(Generator):
106105

107106
"""A generator that generates children appended to it.
108107
@@ -170,7 +169,7 @@ def generate(self):
170169
return iter(self._children)
171170

172171

173-
class HTMLChildGenerator(Generator, Sized):
172+
class HTMLChildGenerator(Generator):
174173

175174
"""A generator that handles HTML safely.
176175

0 commit comments

Comments
 (0)