diff --git a/frappe/__init__.py b/frappe/__init__.py index ec6ab8a9cf..16c21e7718 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -1699,11 +1699,19 @@ def append_hook(target, key, value): target[key].extend(value) -def setup_module_map(include_all_apps=True): - """Rebuild map of all modules (internal).""" - if conf.db_name: +def setup_module_map(include_all_apps: bool = True) -> None: + """ + Function to rebuild map of all modules + + :param: include_all_apps: Include all apps on bench, or just apps installed on the site. + :return: Nothing + """ + if include_all_apps: local.app_modules = cache.get_value("app_modules") local.module_app = cache.get_value("module_app") + else: + local.app_modules = cache.get_value("installed_app_modules") + local.module_app = cache.get_value("module_installed_app") if not (local.app_modules and local.module_app): local.module_app, local.app_modules = {}, {} @@ -1722,9 +1730,12 @@ def setup_module_map(include_all_apps=True): local.module_app[module] = app local.app_modules[app].append(module) - if conf.db_name: + if include_all_apps: cache.set_value("app_modules", local.app_modules) cache.set_value("module_app", local.module_app) + else: + cache.set_value("installed_app_modules", local.app_modules) + cache.set_value("module_installed_app", local.module_app) def get_file_items(path, raise_not_found=False, ignore_empty_lines=True): diff --git a/frappe/cache_manager.py b/frappe/cache_manager.py index 8502fff147..b5de94ab9f 100644 --- a/frappe/cache_manager.py +++ b/frappe/cache_manager.py @@ -26,7 +26,9 @@ global_cache_keys = ( "installed_apps", "all_apps", "app_modules", + "installed_app_modules", "module_app", + "module_installed_app", "system_settings", "scheduler_events", "time_zone",