Hi guys, I've got the following (not working) code:
class Attribute(object): def __init__(self, attribute_name, att_type_name): self._attribute_name = attribute_name try: self._attribute_type = globals()[att_type_name] except KeyError: self._attribute_type = getattr(globals()["__builtins__"], att_type_name) def __get__(self, obj, obj_type): return getattr(obj, self._attribute_name) def __set__(self, obj, value): if isinstance(value, self._attribute_type): setattr(obj, self._attribute_name, value) else: raise ItemTypeException(self._attribute_type, type(value)) class BaseItem(object): ident = Attribute("ident", "int") owner = Attribute("owner", "str") item = Attribute("item", "BaseItem") if __name__ == "__main__": print "About to create an item" test = BaseItem() print "OK" The problem is that the descriptors are created when the module is evaluated. But at this time the class BaseItem is not known yet. Any ideas? Cheers, Jan
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor