def __init__(self, class_):
        self.class_ = class_
        self.info = {}
        self.new_init = None
        self.local_attrs = {}
        self.originals = {}

        self._bases = [mgr for mgr in [
            manager_of_class(base)
            for base in self.class_.__bases__
            if isinstance(base, type)
        ] if mgr is not None]

        for base in self._bases:
            self.update(base)

        self.dispatch._events._new_classmanager_instance(class_, self)
        # events._InstanceEventsHold.populate(class_, self)

        for basecls in class_.__mro__:
            mgr = manager_of_class(basecls)
            if mgr is not None:
                self.dispatch._update(mgr.dispatch)
        self.manage()
        self._instrument_init()

        if '__del__' in class_.__dict__:
            util.warn("__del__() method on class %s will "
                      "cause unreachable cycles and memory leaks, "
                      "as SQLAlchemy instrumentation often creates "
                      "reference cycles.  Please remove this method." %
                      class_)
dataset/ETHPy150Open RoseOu/flasky/venv/lib/python2.7/site-packages/sqlalchemy/orm/instrumentation.py/ClassManager.__init__/original