new plugin loading system

This commit is contained in:
Nick Sweeting 2024-08-23 02:02:34 -07:00
parent 34389e5e7c
commit 5fe3edd79a
No known key found for this signature in database
28 changed files with 450 additions and 874 deletions

View file

@ -1,6 +1,17 @@
import importlib
from django.apps import AppConfig
class PluganticConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'plugantic'
def ready(self) -> None:
from django.conf import settings
from .plugins import PLUGINS
for plugin_name in settings.INSTALLED_PLUGINS.keys():
lib = importlib.import_module(f'{plugin_name}.apps')
if hasattr(lib, 'PLUGINS'):
for plugin_instance in lib.PLUGINS:
PLUGINS.append(plugin_instance)