def METHOD_NAME(
    self,
) -> Tuple[Dict[str, ModuleType], Dict[str, Dict[str, ModuleType]]]:
    """
    Load the modules from the path handed to the function into Cobbler.
    :return: Two dictionary's with the dynamically loaded modules.
    """
    filenames = glob.glob(f"{self.mod_path}/*.py")
    filenames += glob.glob(f"{self.mod_path}/*.pyc")
    filenames += glob.glob(f"{self.mod_path}/*.pyo")
    # Allow recursive modules
    filenames += glob.glob(f"{self.mod_path}/**/*.py")
    filenames += glob.glob(f"{self.mod_path}/**/*.pyc")
    filenames += glob.glob(f"{self.mod_path}/**/*.pyo")
    for filename in filenames:
        basename = filename.replace(self.mod_path, "")
        modname = ""
        if "__pycache__" in basename or "__init__.py" in basename:
            continue
        if basename[0] == "/":
            basename = basename[1:]
        basename = basename.replace("/", ".")
        if basename[-3:] == ".py":
            modname = basename[:-3]
        elif basename[-4:] in [".pyc", ".pyo"]:
            modname = basename[:-4]
        self.__import_module(modname)
    return self.module_cache, self.modules_by_category