Skip to content

Commit 2036738

Browse files
committed
Get rid of remaining non-decorator property()
1 parent 9e9ff5f commit 2036738

File tree

5 files changed

+71
-72
lines changed

5 files changed

+71
-72
lines changed

html5lib/_inputstream.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -611,26 +611,25 @@ def previous(self):
611611
self._position = p = p - 1
612612
return self[p:p + 1]
613613

614-
def setPosition(self, position):
615-
if self._position >= len(self):
616-
raise StopIteration
617-
self._position = position
618-
619-
def getPosition(self):
614+
@property
615+
def position(self):
620616
if self._position >= len(self):
621617
raise StopIteration
622618
if self._position >= 0:
623619
return self._position
624620
else:
625621
return None
626622

627-
position = property(getPosition, setPosition)
623+
@position.setter
624+
def position(self, position):
625+
if self._position >= len(self):
626+
raise StopIteration
627+
self._position = position
628628

629-
def getCurrentByte(self):
629+
@property
630+
def currentByte(self):
630631
return self[self.position:self.position + 1]
631632

632-
currentByte = property(getCurrentByte)
633-
634633
def skip(self, chars=spaceCharactersBytes):
635634
"""Skip past a list of characters"""
636635
p = self.position # use property for the error-checking

html5lib/treebuilders/base.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -306,10 +306,12 @@ def createElement(self, token):
306306
element.attributes = token["data"]
307307
return element
308308

309-
def _getInsertFromTable(self):
309+
@property
310+
def insertFromTable(self):
310311
return self._insertFromTable
311312

312-
def _setInsertFromTable(self, value):
313+
@insertFromTable.setter
314+
def insertFromTable(self, value):
313315
"""Switch the function used to insert an element from the
314316
normal one to the misnested table one and back again"""
315317
self._insertFromTable = value
@@ -318,8 +320,6 @@ def _setInsertFromTable(self, value):
318320
else:
319321
self.insertElement = self.insertElementNormal
320322

321-
insertFromTable = property(_getInsertFromTable, _setInsertFromTable)
322-
323323
def insertElementNormal(self, token):
324324
name = token["name"]
325325
assert isinstance(name, text_type), "Element %s not unicode" % name

html5lib/treebuilders/dom.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,9 @@ def __init__(self, element):
5858
base.Node.__init__(self, element.nodeName)
5959
self.element = element
6060

61-
namespace = property(lambda self: hasattr(self.element, "namespaceURI") and
62-
self.element.namespaceURI or None)
61+
@property
62+
def namespace(self):
63+
return getattr(self.element, "namespaceURI", None)
6364

6465
def appendChild(self, node):
6566
node.parent = self
@@ -88,10 +89,12 @@ def reparentChildren(self, newParent):
8889
newParent.element.appendChild(child)
8990
self.childNodes = []
9091

91-
def getAttributes(self):
92+
@property
93+
def attributes(self):
9294
return AttrList(self.element)
9395

94-
def setAttributes(self, attributes):
96+
@attributes.setter
97+
def attributes(self, attributes):
9598
if attributes:
9699
for name, value in list(attributes.items()):
97100
if isinstance(name, tuple):
@@ -104,22 +107,20 @@ def setAttributes(self, attributes):
104107
else:
105108
self.element.setAttribute(
106109
name, value)
107-
attributes = property(getAttributes, setAttributes)
108110

109111
def cloneNode(self):
110112
return NodeBuilder(self.element.cloneNode(False))
111113

112114
def hasContent(self):
113115
return self.element.hasChildNodes()
114116

115-
def getNameTuple(self):
117+
@property
118+
def nameTuple(self):
116119
if self.namespace is None:
117120
return namespaces["html"], self.name
118121
else:
119122
return self.namespace, self.name
120123

121-
nameTuple = property(getNameTuple)
122-
123124
class TreeBuilder(base.TreeBuilder): # pylint:disable=unused-variable
124125
def documentClass(self):
125126
self.dom = Dom.getDOMImplementation().createDocument(None, None, None)

html5lib/treebuilders/etree.py

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -41,28 +41,30 @@ def _getETreeTag(self, name, namespace):
4141
etree_tag = "{%s}%s" % (namespace, name)
4242
return etree_tag
4343

44-
def _setName(self, name):
45-
self._name = name
46-
self._element.tag = self._getETreeTag(self._name, self._namespace)
47-
48-
def _getName(self):
44+
@property
45+
def name(self):
4946
return self._name
5047

51-
name = property(_getName, _setName)
52-
53-
def _setNamespace(self, namespace):
54-
self._namespace = namespace
48+
@name.setter
49+
def name(self, name):
50+
self._name = name
5551
self._element.tag = self._getETreeTag(self._name, self._namespace)
5652

57-
def _getNamespace(self):
53+
@property
54+
def namespace(self):
5855
return self._namespace
5956

60-
namespace = property(_getNamespace, _setNamespace)
57+
@namespace.setter
58+
def namespace(self, namespace):
59+
self._namespace = namespace
60+
self._element.tag = self._getETreeTag(self._name, self._namespace)
6161

62-
def _getAttributes(self):
62+
@property
63+
def attributes(self):
6364
return self._element.attrib
6465

65-
def _setAttributes(self, attributes):
66+
@attributes.setter
67+
def attributes(self, attributes):
6668
el_attrib = self._element.attrib
6769
el_attrib.clear()
6870
if attributes:
@@ -75,19 +77,17 @@ def _setAttributes(self, attributes):
7577
name = key
7678
el_attrib[name] = value
7779

78-
attributes = property(_getAttributes, _setAttributes)
79-
80-
def _getChildNodes(self):
80+
@property
81+
def childNodes(self):
8182
return self._childNodes
8283

83-
def _setChildNodes(self, value):
84+
@childNodes.setter
85+
def childNodes(self, value):
8486
del self._element[:]
8587
self._childNodes = []
8688
for element in value:
8789
self.insertChild(element)
8890

89-
childNodes = property(_getChildNodes, _setChildNodes)
90-
9191
def hasContent(self):
9292
"""Return true if the node has children or text"""
9393
return bool(self._element.text or len(self._element))
@@ -156,39 +156,39 @@ def __init__(self, data):
156156
self._childNodes = []
157157
self._flags = []
158158

159-
def _getData(self):
159+
@property
160+
def data(self):
160161
return self._element.text
161162

162-
def _setData(self, value):
163+
@data.setter
164+
def data(self, value):
163165
self._element.text = value
164166

165-
data = property(_getData, _setData)
166-
167167
class DocumentType(Element):
168168
def __init__(self, name, publicId, systemId):
169169
Element.__init__(self, "<!DOCTYPE>")
170170
self._element.text = name
171171
self.publicId = publicId
172172
self.systemId = systemId
173173

174-
def _getPublicId(self):
174+
@property
175+
def publicId(self):
175176
return self._element.get("publicId", "")
176177

177-
def _setPublicId(self, value):
178+
@publicId.setter
179+
def publicId(self, value):
178180
if value is not None:
179181
self._element.set("publicId", value)
180182

181-
publicId = property(_getPublicId, _setPublicId)
182-
183-
def _getSystemId(self):
183+
@property
184+
def systemId(self):
184185
return self._element.get("systemId", "")
185186

186-
def _setSystemId(self, value):
187+
@systemId.setter
188+
def systemId(self, value):
187189
if value is not None:
188190
self._element.set("systemId", value)
189191

190-
systemId = property(_getSystemId, _setSystemId)
191-
192192
class Document(Element):
193193
def __init__(self):
194194
Element.__init__(self, "DOCUMENT_ROOT")

html5lib/treebuilders/etree_lxml.py

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,10 @@ def appendChild(self, element):
5656

5757
last.addnext(element._element)
5858

59-
def _getChildNodes(self):
59+
@property
60+
def childNodes(self):
6061
return self._childNodes
6162

62-
childNodes = property(_getChildNodes)
63-
6463

6564
def testSerializer(element):
6665
rv = []
@@ -233,26 +232,26 @@ def __init__(self, name, namespace):
233232
builder.Element.__init__(self, name, namespace=namespace)
234233
self._attributes = Attributes(self)
235234

236-
def _setName(self, name):
235+
@property
236+
def name(self):
237+
return infosetFilter.fromXmlName(self._name)
238+
239+
@name.setter
240+
def name(self, name):
237241
self._name = infosetFilter.coerceElement(name)
238242
self._element.tag = self._getETreeTag(
239243
self._name, self._namespace)
240244

241-
def _getName(self):
242-
return infosetFilter.fromXmlName(self._name)
243-
244-
name = property(_getName, _setName)
245-
246-
def _getAttributes(self):
245+
@property
246+
def attributes(self):
247247
return self._attributes
248248

249-
def _setAttributes(self, value):
249+
@attributes.setter
250+
def attributes(self, value):
250251
attributes = self.attributes
251252
attributes.clear()
252253
attributes.update(value)
253254

254-
attributes = property(_getAttributes, _setAttributes)
255-
256255
def insertText(self, data, insertBefore=None):
257256
data = infosetFilter.coerceCharacters(data)
258257
builder.Element.insertText(self, data, insertBefore)
@@ -268,14 +267,14 @@ def __init__(self, data):
268267
data = infosetFilter.coerceComment(data)
269268
builder.Comment.__init__(self, data)
270269

271-
def _setData(self, data):
272-
data = infosetFilter.coerceComment(data)
273-
self._element.text = data
274-
275-
def _getData(self):
270+
@property
271+
def data(self):
276272
return self._element.text
277273

278-
data = property(_getData, _setData)
274+
@data.setter
275+
def data(self, data):
276+
data = infosetFilter.coerceComment(data)
277+
self._element.text = data
279278

280279
self.elementClass = Element
281280
self.commentClass = Comment

0 commit comments

Comments
 (0)