from enum import Enum from django.apps import apps from typing import List class PluginType(Enum): RESTRICTION = 1 PAYMENT = 2 ADMINFEATURE = 3 EXPORT = 4 def get_all_plugins() -> List[type]: """ Returns the PretixPluginMeta classes of all plugins found in the installed Django apps. """ plugins = [] for app in apps.get_app_configs(): if hasattr(app, 'PretixPluginMeta'): meta = app.PretixPluginMeta meta.module = app.name meta.app = app plugins.append(meta) return plugins