def attach_protocol(self, proto):
        if self._protocol is not None:
            raise RuntimeError("Already have a protocol.")
        # make sure we have nothing in self.unsaved
        self.save()
        self.__dict__['_protocol'] = proto

        # FIXME some of this is duplicated from ctor
        del self.__dict__['_slutty_']
        self.__dict__['post_bootstrap'] = defer.Deferred()
        if proto.post_bootstrap:
            proto.post_bootstrap.addCallback(self.bootstrap)
        return self.__dict__['post_bootstrap']
Print the traceback, without showing all the overhead added by tracestack.
dataset/ETHPy150Open meejah/txtorcon/txtorcon/torconfig.py/TorConfig.attach_protocol--crossover with--dataset/ETHPy150Open danrobinson/tracestack/tracestack/command_line.py/_print_clean_traceback