Darren Dale <dsdal...@gmail.com> added the comment:

Thank you Daniel and Benjamin for the helpful feedback. I think the attached 
patch is a much better approach. It only touches abc.abstractproperty (instead 
of the builtin property), and uses a class method as a factory to return 
instances of either property or abstractproperty, depending on whether it holds 
any references to abstractmethods.

The patch is backwards compatible with the existing (though in my opinion, 
still broken) syntax of passing concrete methods to the abstractproperty 
constructor. I say that syntax is broken because properties are composite 
objects, and it is the methods that inherently make a property abstract or 
concrete. If one passes concrete getters and setters to abstractproperty, how 
do we know when the property has become concrete? Thus, I changed the 
documentation to refer to the more robust approach of passing abstractproperty 
methods that have been decorated with abstractmethod.

Unit tests are also provided. I still have not been able to build from my hg 
checkout, but I copied abc.py into my working 3.2 installation and ran the new 
test_abc.py without errors.

I'll be happy to address any additional concerns.

----------
Added file: http://bugs.python.org/file21307/issue11610.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue11610>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to