[issue10771] descriptor protocol documentation has two different definitions of owner class

2011-03-22 Thread Roundup Robot

Roundup Robot devnull@devnull added the comment:

New changeset b31606ea7ce3 by Raymond Hettinger in branch '3.1':
Issue #10771: Clarify that descriptors get used in an *owner* class or one of 
its parents.
http://hg.python.org/cpython/rev/b31606ea7ce3

New changeset 4dfbf8c8f4e5 by Raymond Hettinger in branch '3.2':
Issue #10771: Clarify that descriptors get used in an *owner* class or one of 
its parents.
http://hg.python.org/cpython/rev/4dfbf8c8f4e5

New changeset 5aaa71591dda by Raymond Hettinger in branch 'default':
Issue #10771: Clarify that descriptors get used in an *owner* class or one of 
its parents.
http://hg.python.org/cpython/rev/5aaa71591dda

--
nosy: +python-dev

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue10771
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue10771] descriptor protocol documentation has two different definitions of owner class

2011-03-22 Thread Raymond Hettinger

Changes by Raymond Hettinger raymond.hettin...@gmail.com:


--
resolution:  - fixed
status: open - closed
versions: +Python 3.1, Python 3.2, Python 3.3

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue10771
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue10771] descriptor protocol documentation has two different definitions of owner class

2011-03-22 Thread Roundup Robot

Roundup Robot devnull@devnull added the comment:

New changeset f28565867d22 by Raymond Hettinger in branch '2.7':
Issue #10771: Clarify that descriptors get used in an *owner* class or one of 
its parents.
http://hg.python.org/cpython/rev/f28565867d22

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue10771
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue10771] descriptor protocol documentation has two different definitions of owner class

2010-12-31 Thread Terry J. Reedy

Terry J. Reedy tjre...@udel.edu added the comment:

For future reference, the 'trunk' branch was frozen with the release of 2.7 in 
June 2010. However, this particular text is unchanged since in 2.7.1 and still 
in 3.2b2 (except for removal of 'new style'.)

--
nosy: +terry.reedy

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue10771
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue10771] descriptor protocol documentation has two different definitions of owner class

2010-12-27 Thread Raymond Hettinger

Raymond Hettinger rhettin...@users.sourceforge.net added the comment:

I agree that the owner terminology imprecise.
Will work on a doc fix when I get chance.

--
assignee: d...@python - rhettinger
nosy: +rhettinger

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue10771
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue10771] descriptor protocol documentation has two different definitions of owner class

2010-12-24 Thread Devin Jeanpierre

New submission from Devin Jeanpierre jeanpierr...@gmail.com:

In trunk/Doc/reference/datamodel.rst , under _Implementing Descriptors_, the 
documentation states: 

`The following methods only apply when an instance of the class containing the 
method (a so-called *descriptor* class) appears in the class dictionary of 
another new-style class, known as the *owner* class. [...]`

Immediately below, in the documentation for __get__, it says, `*owner* is 
always the owner class [...]`.

These two uses of the owner class are incompatible, because there is only one 
class which matches the first use: the class where the descriptor was initially 
assigned to a class attribute; however, for the second use, any descendant 
class may be called the owner class. This is demonstrated in the attached 
doctest file.

It is kind of hard to create a better definition for owner as used in 
`__get__`, though. It can't be said to be the class with the descriptor in its 
class dict, because it can be present in the class dict of some class in the 
MRO of the owner. It can't be said to be an attribute, because it has to be in 
a class dict of an ancestor node.

It might be possible to change the definition to call the owner class something 
like, the class from which the descriptor was invoked, and if that isn't 
clear enough, provide examples (TypeDescriptor from the attached doctest file 
might work as an example); however, this would involve reworking the structure 
of the paragraph substantially. I personally would prefer this option. The 
paragraph is already badly structured; for example, it defines two terms in a 
single and rather complex sentence, and should probably be split up into a list 
of definitions rather than an explanatory jumble paragraph. In addition, this 
paragraph is the only place in the documentation where this idea of the owner 
class is used in this way. In the descriptions of the descriptor protocol 
methods below it, the owner class always refers to the class from which the 
attribute was accessed, or the type from which an instance had the attribute 
accessed.

Alternatively, it could be simpler to replace all references below from the 
owner class to any class with the owner class in the MRO.

--
assignee: d...@python
components: Documentation
files: descriptor.py.doctest
messages: 124630
nosy: Devin Jeanpierre, d...@python
priority: normal
severity: normal
status: open
title: descriptor protocol documentation has two different definitions of 
owner class
versions: Python 2.7
Added file: http://bugs.python.org/file20160/descriptor.py.doctest

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue10771
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com