angrybeanie_wagtail/env/lib/python3.12/site-packages/wagtail/utils/apps.py

24 lines
677 B
Python
Raw Normal View History

2025-07-25 21:32:16 +10:00
from importlib import import_module
from django.apps import apps
from django.utils.module_loading import module_has_submodule
def get_app_modules():
"""
Generator function that yields a module object for each installed app
yields tuples of (app_name, module)
"""
for app in apps.get_app_configs():
yield app.name, app.module
def get_app_submodules(submodule_name):
"""
Searches each app module for the specified submodule
yields tuples of (app_name, module)
"""
for name, module in get_app_modules():
if module_has_submodule(module, submodule_name):
yield name, import_module(f"{name}.{submodule_name}")