def make_driver(self, driver_name='generic'):
        """Make driver factory function."""
        module_str = 'condoor.drivers.%s' % driver_name
        try:
            __import__(module_str)
            module = sys.modules[module_str]
            driver_class = getattr(module, 'Driver')
        except ImportError as e:  # pylint: disable=invalid-name
            print("driver name: {}".format(driver_name))
            self.chain.connection.log("Import error: {}: '{}'".format(driver_name, str(e)))
            # no driver - call again with default 'generic'
            return self.make_driver()

        self.chain.connection.log("Make Device: {} with Driver: {}".format(self, driver_class.platform))
        return driver_class(self)
Make driver factory function.