Author: tack
Date: Wed Feb 13 15:22:07 2008
New Revision: 3081
Log:
new property implementation
Modified:
trunk/base/src/utils.py
Modified: trunk/base/src/utils.py
==============================================================================
--- trunk/base/src/utils.py (original)
+++ trunk/base/src/utils.py Wed Feb 13 15:22:07 2008
@@ -252,3 +252,32 @@
if self._singleton is None:
return Singleton.MemberFunction(self, attr)
return getattr(self._singleton, attr)
+
+
+class property(property):
+ """
+ Replaces built-in property function to extend it as per
+ http://bugs.python.org/issue1416
+ """
+ def __init__(self, fget = None, fset = None, fdel = None, doc = None):
+ super(property, self).__init__(fget, fset, fdel)
+ self.__doc__ = doc or fget.__doc__
+
+ def _add_doc(self, prop, doc = None):
+ prop.__doc__ = doc or self.__doc__
+ return prop
+
+ def setter(self, fset):
+ if isinstance(fset, property):
+ # Wrapping another property, use deleter.
+ self, fset = fset, fset.fdel
+ return self._add_doc(property(self.fget, fset, self.fdel))
+
+ def deleter(self, fdel):
+ if isinstance(fdel, property):
+ # Wrapping another property, use setter.
+ self, fdel = fdel, fdel.fset
+ return self._add_doc(property(self.fget, self.fset, fdel))
+
+ def getter(self, fget):
+ return self._add_doc(property(fget, self.fset, self.fdel),
fget.__doc__ or self.fget.__doc__)
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog