def run(self):
        """
        Return True in the case we succeed in running, False otherwise.
        This means we can use several processors and have one or the other work.
        """
        if not self.extension in self.supported_extensions:
            return self.refuse()

        self.accept()  # We accept now so the run method can discard

        try:
            self._run()
        except __HOLE__ as e:
            msg = 'Could not call external processor {0}: {1}'.format(self.__class__.__name__, e)

            if self.critical:
                logger.critical(msg)
                raise ExternalFailure(self.__class__.__name__, e)
            else:
                logger.info(msg)
                self.refuse()
dataset/ETHPy150Open koenbok/Cactus/cactus/static/external/__init__.py/External.run