Source code for scibeam.core.descriptor

# descriptor.py ---
#
# Filename: descriptor.py
# Description:
#            class decorators
# Author:    Yu Lu
# Email:     yulu@utexas.edu
# Github:    https://github.com/SuperYuLu
#
# Created: Sat May  5 23:52:27 2018 (-0500)
# Version:
# Last-Updated: Wed Jul 18 23:32:05 2018 (-0500)
#           By: yulu
#     Update #: 21
#


[docs]class DescriptorMixin: """Meta class for method chain mixin This is a meta class to realize method chain in other classes Read-only descriptor for class cross reference """ def __init__(self, descriptor_cls): self.descriptor_cls = descriptor_cls self.construct_descriptor = descriptor_cls._constructor def __get__(self, obj, objtype): if obj is None: return self.descriptor_cls else: return self.construct_descriptor(obj) def __set__(self, obj, value): raise AttributeError("Cannot set value !") def __delete__(self, obj): raise AttributeError("Cannot delete object!")