def new_driver()

in gridengine/src/gridengine/autoscaler.py [0:0]


def new_driver(config: Dict, ge_env: GridEngineEnvironment) -> "GridEngineDriver":
    import importlib

    ge_config = config.get("gridengine", {})

    # # just shorthand for gridengine.deferdriver.DeferredDriver
    # if ge_config.get("driver_scripts_dir"):
    #     deferred_qname = "gridengine.deferdriver.DeferredDriver"
    #     if ge_config.get("driver", deferred_qname) == deferred_qname:
    #         ge_config["driver"] = deferred_qname

    driver_expr = ge_config.get("driver", "gridengine.driver.new_driver")

    if "." not in driver_expr:
        raise BadDriverError(driver_expr)

    module_expr, func_or_class_name = driver_expr.rsplit(".", 1)

    try:
        module = importlib.import_module(module_expr)
    except Exception as e:
        logging.exception(
            "Could not load module %s. Is it in the"
            + " PYTHONPATH environment variable? %s",
            str(e),
            sys.path,
        )
        raise

    func_or_class = getattr(module, func_or_class_name)
    return func_or_class(config, ge_env)