diff options
-rw-r--r-- | Include/descrobject.h | 2 | ||||
-rw-r--r-- | Lib/test/test_binop.py | 4 | ||||
-rw-r--r-- | Lib/test/test_descr.py | 20 | ||||
-rw-r--r-- | Lib/test/test_descrtut.py | 14 | ||||
-rw-r--r-- | Objects/descrobject.c | 46 | ||||
-rw-r--r-- | Python/bltinmodule.c | 4 |
6 files changed, 45 insertions, 45 deletions
diff --git a/Include/descrobject.h b/Include/descrobject.h index 03543ae..a868310 100644 --- a/Include/descrobject.h +++ b/Include/descrobject.h @@ -32,4 +32,4 @@ extern DL_IMPORT(PyObject *) PyDictProxy_New(PyObject *); extern DL_IMPORT(PyObject *) PyWrapper_New(PyObject *, PyObject *); -extern DL_IMPORT(PyTypeObject) PyGetSet_Type; +extern DL_IMPORT(PyTypeObject) PyProperty_Type; diff --git a/Lib/test/test_binop.py b/Lib/test/test_binop.py index 7eded9a..c64e3a8 100644 --- a/Lib/test/test_binop.py +++ b/Lib/test/test_binop.py @@ -48,12 +48,12 @@ class Rat(object): def _get_num(self): """Accessor function for read-only 'num' attribute of Rat.""" return self.__num - num = getset(_get_num, None) + num = property(_get_num, None) def _get_den(self): """Accessor function for read-only 'den' attribute of Rat.""" return self.__den - den = getset(_get_den, None) + den = property(_get_den, None) def __repr__(self): """Convert a Rat to an string resembling a Rat constructor call.""" diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py index dd411ac..f0f121b 100644 --- a/Lib/test/test_descr.py +++ b/Lib/test/test_descr.py @@ -578,8 +578,8 @@ def metaclass(): return "E" + self.__super.meth() verify(E().meth() == "EBCA") - class autogetset(type): - # Automatically create getset attributes when methods + class autoproperty(type): + # Automatically create property attributes when methods # named _get_x and/or _set_x are found def __new__(metaclass, name, bases, dict): hits = {} @@ -595,11 +595,11 @@ def metaclass(): set = val hits[key] = get, set for key, (get, set) in hits.iteritems(): - dict[key] = getset(get, set) - return super(autogetset, metaclass).__new__(metaclass, + dict[key] = property(get, set) + return super(autoproperty, metaclass).__new__(metaclass, name, bases, dict) class A: - __metaclass__ = autogetset + __metaclass__ = autoproperty def _get_x(self): return -self.__x def _set_x(self, x): @@ -610,7 +610,7 @@ def metaclass(): verify(a.x == 12) verify(a._A__x == -12) - class multimetaclass(autogetset, autosuper): + class multimetaclass(autoproperty, autosuper): # Merge of multiple cooperating metaclasses pass class A: @@ -1274,8 +1274,8 @@ def weakrefs(): verify(r() is None) del r -def getsets(): - if verbose: print "Testing getset..." +def properties(): + if verbose: print "Testing property..." class C(object): def getx(self): return self.__x @@ -1283,7 +1283,7 @@ def getsets(): self.__x = value def delx(self): del self.__x - x = getset(getx, setx, delx) + x = property(getx, setx, delx) a = C() verify(not hasattr(a, "x")) a.x = 42 @@ -1445,7 +1445,7 @@ def all(): methods() specials() weakrefs() - getsets() + properties() supers() inherits() diff --git a/Lib/test/test_descrtut.py b/Lib/test/test_descrtut.py index 121eed5..3847d66 100644 --- a/Lib/test/test_descrtut.py +++ b/Lib/test/test_descrtut.py @@ -315,7 +315,7 @@ test_5 = """ Attributes defined by get/set methods - >>> class getset(object): + >>> class property(object): ... ... def __init__(self, get, set=None): ... self.__get = get @@ -344,7 +344,7 @@ getx() and and setx(): ... if x < 0: x = 0 ... self.__x = x ... - ... x = getset(getx, setx) + ... x = property(getx, setx) Here's a small demonstration: @@ -357,11 +357,11 @@ Here's a small demonstration: 0 >>> -Hmm -- getset is builtin now, so let's try it that way too. +Hmm -- property is builtin now, so let's try it that way too. - >>> del getset # unmask the builtin - >>> getset - <type 'getset'> + >>> del property # unmask the builtin + >>> property + <type 'property'> >>> class C(object): ... def __init__(self): @@ -371,7 +371,7 @@ Hmm -- getset is builtin now, so let's try it that way too. ... def setx(self, x): ... if x < 0: x = 0 ... self.__x = x - ... x = getset(getx, setx) + ... x = property(getx, setx) >>> a = C() diff --git a/Objects/descrobject.c b/Objects/descrobject.c index 0324ac2..e5b08c3 100644 --- a/Objects/descrobject.c +++ b/Objects/descrobject.c @@ -840,10 +840,10 @@ PyWrapper_New(PyObject *d, PyObject *self) } -/* A built-in 'getset' type */ +/* A built-in 'property' type */ /* - class getset(object): + class property(object): def __init__(self, get=None, set=None): self.__get = get @@ -867,12 +867,12 @@ typedef struct { PyObject *get; PyObject *set; PyObject *del; -} getsetobject; +} propertyobject; static void -getset_dealloc(PyObject *self) +property_dealloc(PyObject *self) { - getsetobject *gs = (getsetobject *)self; + propertyobject *gs = (propertyobject *)self; Py_XDECREF(gs->get); Py_XDECREF(gs->set); @@ -881,9 +881,9 @@ getset_dealloc(PyObject *self) } static PyObject * -getset_descr_get(PyObject *self, PyObject *obj, PyObject *type) +property_descr_get(PyObject *self, PyObject *obj, PyObject *type) { - getsetobject *gs = (getsetobject *)self; + propertyobject *gs = (propertyobject *)self; if (gs->get == NULL) { PyErr_SetString(PyExc_AttributeError, "unreadable attribute"); @@ -897,9 +897,9 @@ getset_descr_get(PyObject *self, PyObject *obj, PyObject *type) } static int -getset_descr_set(PyObject *self, PyObject *obj, PyObject *value) +property_descr_set(PyObject *self, PyObject *obj, PyObject *value) { - getsetobject *gs = (getsetobject *)self; + propertyobject *gs = (propertyobject *)self; PyObject *func, *res; if (value == NULL) @@ -924,12 +924,12 @@ getset_descr_set(PyObject *self, PyObject *obj, PyObject *value) } static int -getset_init(PyObject *self, PyObject *args, PyObject *kwds) +property_init(PyObject *self, PyObject *args, PyObject *kwds) { PyObject *get = NULL, *set = NULL, *del = NULL; - getsetobject *gs = (getsetobject *)self; + propertyobject *gs = (propertyobject *)self; - if (!PyArg_ParseTuple(args, "|OOO:getset", &get, &set, &del)) + if (!PyArg_ParseTuple(args, "|OOO:property", &get, &set, &del)) return -1; if (get == Py_None) get = NULL; @@ -944,23 +944,23 @@ getset_init(PyObject *self, PyObject *args, PyObject *kwds) return 0; } -static char getset_doc[] = -"getset([getfunc[, setfunc[, delfunc]]]) -> getset attribute\n" +static char property_doc[] = +"property([getfunc[, setfunc[, delfunc]]]) -> property attribute\n" "Typical use to define a managed attribute x of C instances:\n" "class C(object):\n" " def getx(self): return self.__x\n" " def setx(self, value): self.__x = value\n" " def delx(self): del self.__x\n" -" x = getset(getx, setx, delx)"; +" x = property(getx, setx, delx)"; -PyTypeObject PyGetSet_Type = { +PyTypeObject PyProperty_Type = { PyObject_HEAD_INIT(&PyType_Type) 0, /* ob_size */ - "getset", /* tp_name */ - sizeof(getsetobject), /* tp_basicsize */ + "property", /* tp_name */ + sizeof(propertyobject), /* tp_basicsize */ 0, /* tp_itemsize */ /* methods */ - getset_dealloc, /* tp_dealloc */ + property_dealloc, /* tp_dealloc */ 0, /* tp_print */ 0, /* tp_getattr */ 0, /* tp_setattr */ @@ -976,7 +976,7 @@ PyTypeObject PyGetSet_Type = { 0, /* tp_setattro */ 0, /* tp_as_buffer */ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */ - getset_doc, /* tp_doc */ + property_doc, /* tp_doc */ 0, /* tp_traverse */ 0, /* tp_clear */ 0, /* tp_richcompare */ @@ -988,10 +988,10 @@ PyTypeObject PyGetSet_Type = { 0, /* tp_getset */ 0, /* tp_base */ 0, /* tp_dict */ - getset_descr_get, /* tp_descr_get */ - getset_descr_set, /* tp_descr_set */ + property_descr_get, /* tp_descr_get */ + property_descr_set, /* tp_descr_set */ 0, /* tp_dictoffset */ - getset_init, /* tp_init */ + property_init, /* tp_init */ PyType_GenericAlloc, /* tp_alloc */ PyType_GenericNew, /* tp_new */ _PyObject_Del, /* tp_free */ diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index 55c71d3..2d8c024 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -1869,8 +1869,8 @@ _PyBuiltin_Init(void) if (PyDict_SetItemString(dict, "float", (PyObject *) &PyFloat_Type) < 0) return NULL; - if (PyDict_SetItemString(dict, "getset", - (PyObject *) &PyGetSet_Type) < 0) + if (PyDict_SetItemString(dict, "property", + (PyObject *) &PyProperty_Type) < 0) return NULL; if (PyDict_SetItemString(dict, "int", (PyObject *) &PyInt_Type) < 0) return NULL; |