discoverer.py 606 B

12345678910111213141516171819
  1. from importlib import import_module
  2. from django.apps import apps
  3. from .hierarchy import site
  4. from .urlpatterns import urlpatterns
  5. def discover_misago_admin():
  6. for app in apps.get_app_configs():
  7. module = import_module(app.name)
  8. if not hasattr(module, "admin"):
  9. continue
  10. admin_module = import_module("%s.admin" % app.name)
  11. if hasattr(admin_module, "MisagoAdminExtension"):
  12. extension = getattr(admin_module, "MisagoAdminExtension")()
  13. extension.register_navigation_nodes(site)
  14. extension.register_urlpatterns(urlpatterns)