]> granicus.if.org Git - python/commitdiff
bpo-29776: Use decorator syntax for properties. (#585)
authorSerhiy Storchaka <storchaka@gmail.com>
Sun, 19 Mar 2017 06:40:32 +0000 (08:40 +0200)
committerGitHub <noreply@github.com>
Sun, 19 Mar 2017 06:40:32 +0000 (08:40 +0200)
Lib/_pydecimal.py
Lib/lib2to3/pytree.py
Lib/multiprocessing/connection.py
Lib/multiprocessing/dummy/__init__.py
Lib/multiprocessing/dummy/connection.py
Lib/multiprocessing/managers.py
Lib/pydoc.py
Lib/tarfile.py
Lib/test/test_pyclbr.py
Lib/tkinter/ttk.py

index 0fa152c2a6f8ef05f476dac2c00048a5251a8133..edabf72aa7a3b8b2db43c01c58a5669cc8d730c6 100644 (file)
@@ -1674,13 +1674,13 @@ class Decimal(object):
 
     __trunc__ = __int__
 
+    @property
     def real(self):
         return self
-    real = property(real)
 
+    @property
     def imag(self):
         return Decimal(0)
-    imag = property(imag)
 
     def conjugate(self):
         return self
index c425fe68274246fe5284f9c5be4bdd96102c9cf6..2a6ef2ef5240a2b1aa9eecb5162368d5649b624c 100644 (file)
@@ -271,7 +271,8 @@ class Node(Base):
         for child in self.children:
             yield from child.pre_order()
 
-    def _prefix_getter(self):
+    @property
+    def prefix(self):
         """
         The whitespace and comments preceding this node in the input.
         """
@@ -279,12 +280,11 @@ class Node(Base):
             return ""
         return self.children[0].prefix
 
-    def _prefix_setter(self, prefix):
+    @prefix.setter
+    def prefix(self, prefix):
         if self.children:
             self.children[0].prefix = prefix
 
-    prefix = property(_prefix_getter, _prefix_setter)
-
     def set_child(self, i, child):
         """
         Equivalent to 'node.children[i] = child'. This method also sets the
@@ -380,18 +380,18 @@ class Leaf(Base):
         """Return a pre-order iterator for the tree."""
         yield self
 
-    def _prefix_getter(self):
+    @property
+    def prefix(self):
         """
         The whitespace and comments preceding this token in the input.
         """
         return self._prefix
 
-    def _prefix_setter(self, prefix):
+    @prefix.setter
+    def prefix(self, prefix):
         self.changed()
         self._prefix = prefix
 
-    prefix = property(_prefix_getter, _prefix_setter)
-
 def convert(gr, raw_node):
     """
     Convert raw node information to a Node or Leaf instance.
index d49e8f0d32b62a4a4e6149e54b844672d047cde9..ba9b17cee1b1b5a37c3ebe513f3be571eef87207 100644 (file)
@@ -465,8 +465,13 @@ class Listener(object):
             self._listener = None
             listener.close()
 
-    address = property(lambda self: self._listener._address)
-    last_accepted = property(lambda self: self._listener._last_accepted)
+    @property
+    def address(self):
+        return self._listener._address
+
+    @property
+    def last_accepted(self):
+        return self._listener._last_accepted
 
     def __enter__(self):
         return self
index 1abea64419b28017d38ac62c84735e64062d5c8c..cbb7f4909cb55cfecc19b7e8bcdc79a0dbb07b99 100644 (file)
@@ -98,11 +98,15 @@ class Value(object):
     def __init__(self, typecode, value, lock=True):
         self._typecode = typecode
         self._value = value
-    def _get(self):
+
+    @property
+    def value(self):
         return self._value
-    def _set(self, value):
+
+    @value.setter
+    def value(self, value):
         self._value = value
-    value = property(_get, _set)
+
     def __repr__(self):
         return '<%s(%r, %r)>'%(type(self).__name__,self._typecode,self._value)
 
index 19843751c0c67dc3f4f6e9055cdee723139c132f..f0ce320fcf514083f3a6477e87abf40e9719285a 100644 (file)
@@ -26,7 +26,9 @@ class Listener(object):
     def close(self):
         self._backlog_queue = None
 
-    address = property(lambda self: self._backlog_queue)
+    @property
+    def address(self):
+        return self._backlog_queue
 
     def __enter__(self):
         return self
index b9ce84b2d85ddc4d6a561b3ba36d91445a0a27f7..43dd02a5a391c12c8d239355ff009b79f92691f6 100644 (file)
@@ -628,7 +628,9 @@ class BaseManager(object):
         except KeyError:
             pass
 
-    address = property(lambda self: self._address)
+    @property
+    def address(self):
+        return self._address
 
     @classmethod
     def register(cls, typeid, callable=None, proxytype=None, exposed=None,
index 49555405c56016f0bff7aedfc6cd2ad5b36f1197..376c4459fe6b00edcb6dcb75d63efd9c3c97c89e 100644 (file)
@@ -1868,8 +1868,13 @@ class Helper:
         self._input = input
         self._output = output
 
-    input  = property(lambda self: self._input or sys.stdin)
-    output = property(lambda self: self._output or sys.stdout)
+    @property
+    def input(self):
+        return self._input or sys.stdin
+
+    @property
+    def output(self):
+        return self._output or sys.stdout
 
     def __repr__(self):
         if inspect.stack()[1][3] == '?':
index c3777ff2dde5f0903e4bef33ad6635dc5917189a..2d702dd2ec6af9feab97908788ee90e724133246 100755 (executable)
@@ -761,17 +761,21 @@ class TarInfo(object):
 
     # In pax headers the "name" and "linkname" field are called
     # "path" and "linkpath".
-    def _getpath(self):
+    @property
+    def path(self):
         return self.name
-    def _setpath(self, name):
+
+    @path.setter
+    def path(self, name):
         self.name = name
-    path = property(_getpath, _setpath)
 
-    def _getlinkpath(self):
+    @property
+    def linkpath(self):
         return self.linkname
-    def _setlinkpath(self, linkname):
+
+    @linkpath.setter
+    def linkpath(self, linkname):
         self.linkname = linkname
-    linkpath = property(_getlinkpath, _setlinkpath)
 
     def __repr__(self):
         return "<%s %r at %#x>" % (self.__class__.__name__,self.name,id(self))
index 2cff1c526ed455c4ec0ae095aaf1633c40f455c3..9c216d3eb7b81a39e36a6d0e56ebb85c432fc5bd 100644 (file)
@@ -160,7 +160,7 @@ class PyclbrTest(TestCase):
         cm('aifc', ignore=('openfp', '_aifc_params'))  # set with = in module
         cm('sre_parse', ignore=('dump', 'groups', 'pos')) # from sre_constants import *; property
         cm('pdb')
-        cm('pydoc')
+        cm('pydoc', ignore=('input', 'output',)) # properties
 
         # Tests for modules inside packages
         cm('email.parser')
index c474e60713f75e91902be5388dfd71436299915d..cbaad76e0084e134ae3c715d36c950b529be8167 100644 (file)
@@ -1577,20 +1577,17 @@ class LabeledScale(Frame):
         self.label['text'] = newval
         self.after_idle(adjust_label)
 
-
-    def _get_value(self):
+    @property
+    def value(self):
         """Return current scale value."""
         return self._variable.get()
 
-
-    def _set_value(self, val):
+    @value.setter
+    def value(self, val):
         """Set new scale value."""
         self._variable.set(val)
 
 
-    value = property(_get_value, _set_value)
-
-
 class OptionMenu(Menubutton):
     """Themed OptionMenu, based after tkinter's OptionMenu, which allows
     the user to select a value from a menu."""