mirror of
https://github.com/pretix/pretix.git
synced 2026-05-05 15:14:04 +00:00
31 lines
758 B
Python
31 lines
758 B
Python
from enum import Enum
|
|
from typing import List
|
|
|
|
from django.apps import apps
|
|
|
|
|
|
class PluginType(Enum):
|
|
"""
|
|
Plugin type classification. THIS IS DEPRECATED, DO NOT USE ANY MORE.
|
|
This is only not removed yet as external plugins might have references
|
|
to this 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
|