import sys
class Attribute(object):
"""
Common attributes and methods for custom types
"""
__slots__ = []
def __init__(self, name=None, type=None, range=(0,1)):
self.__name = name
self.__type = type
self.__range = range
#Read only attributes
name = property(lambda self: self.__name)
type = property(lambda self: self.__type)
range = property(lambda self: self.__range)
class Float(float, Attribute):
'''Custom Float type'''
__slots__ = ('__name', '__type', '__range')
def __new__(self, value=0.0, name=None, type=None, range=(0.0, 1.0)):
try:
super(Float, self).__init__(name=name, type=type, range=range)
return float.__new__(self, value)
except:
print 'Error : %s %s' % sys.exc_info()[:2]
class Int(int, Attribute):
'''Custom Int type'''
__slots__ = ('__name', '__type', '__range')
def __new__(self, value=0, name=None, type=None, range=(0, 1)):
try:
super(Int, self).__init__(name=name, type=type, range=range)
return int.__new__(self, value)
except:
print 'Error : %s %s' % sys.exc_info()[:2]
a = Float(2.0, name='myFloat')
print a
'Float' & 'Int' instances are not getting initialize. How to solve?
Thanks
--
http://mail.python.org/mailman/listinfo/python-list