discoverer.py 638 B

1234567891011121314151617181920
  1. from importlib import import_module
  2. from django.apps import apps
  3. from .hierarchy import site
  4. from .urlpatterns import urlpatterns
  5. __ALL__ = ['discover_misago_admin']
  6. def discover_misago_admin():
  7. for app in apps.get_app_configs():
  8. module = import_module(app.name)
  9. if hasattr(module, 'admin'):
  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)