2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-04-29 20:16:44 +00:00

Rename registry to make it clearer

This commit is contained in:
Matthias 2022-01-11 01:00:41 +01:00
parent 0283214034
commit f53e66d4c3
No known key found for this signature in database
GPG Key ID: F50EF5741D33E076
14 changed files with 40 additions and 40 deletions

View File

@ -19,7 +19,7 @@ from .views import AjaxView
from .version import inventreeVersion, inventreeApiVersion, inventreeInstanceName from .version import inventreeVersion, inventreeApiVersion, inventreeInstanceName
from .status import is_worker_running from .status import is_worker_running
from plugin import plugin_registry from plugin import registry
class InfoView(AjaxView): class InfoView(AjaxView):
@ -101,7 +101,7 @@ class ActionPluginView(APIView):
'error': _("No action specified") 'error': _("No action specified")
}) })
action_plugins = plugin_registry.with_mixin('action') action_plugins = registry.with_mixin('action')
for plugin in action_plugins: for plugin in action_plugins:
if plugin.action_name() == action: if plugin.action_name() == action:
# TODO @matmair use easier syntax once InvenTree 0.7.0 is released # TODO @matmair use easier syntax once InvenTree 0.7.0 is released

View File

@ -13,7 +13,7 @@ from stock.models import StockItem
from stock.serializers import StockItemSerializer from stock.serializers import StockItemSerializer
from barcodes.barcode import hash_barcode from barcodes.barcode import hash_barcode
from plugin import plugin_registry from plugin import registry
class BarcodeScan(APIView): class BarcodeScan(APIView):
@ -53,7 +53,7 @@ class BarcodeScan(APIView):
if 'barcode' not in data: if 'barcode' not in data:
raise ValidationError({'barcode': _('Must provide barcode_data parameter')}) raise ValidationError({'barcode': _('Must provide barcode_data parameter')})
plugins = plugin_registry.with_mixin('barcode') plugins = registry.with_mixin('barcode')
barcode_data = data.get('barcode') barcode_data = data.get('barcode')
@ -161,7 +161,7 @@ class BarcodeAssign(APIView):
except (ValueError, StockItem.DoesNotExist): except (ValueError, StockItem.DoesNotExist):
raise ValidationError({'stockitem': _('No matching stock item found')}) raise ValidationError({'stockitem': _('No matching stock item found')})
plugins = plugin_registry.with_mixin('barcode') plugins = registry.with_mixin('barcode')
plugin = None plugin = None

View File

@ -2,7 +2,7 @@
Utility file to enable simper imports Utility file to enable simper imports
""" """
from .registry import plugin_registry from .registry import registry
from .plugin import InvenTreePlugin from .plugin import InvenTreePlugin
from .integration import IntegrationPluginBase from .integration import IntegrationPluginBase
from .action import ActionPlugin from .action import ActionPlugin
@ -13,7 +13,7 @@ __all__ = [
'ActionPlugin', 'ActionPlugin',
'IntegrationPluginBase', 'IntegrationPluginBase',
'InvenTreePlugin', 'InvenTreePlugin',
'plugin_registry', 'registry',
'MixinNotImplementedError', 'MixinNotImplementedError',
'MixinImplementationError', 'MixinImplementationError',
] ]

View File

@ -4,7 +4,7 @@ from __future__ import unicode_literals
from django.contrib import admin from django.contrib import admin
import plugin.models as models import plugin.models as models
import plugin.registry as registry import plugin.registry as pl_registry
def plugin_update(queryset, new_status: bool): def plugin_update(queryset, new_status: bool):
@ -23,7 +23,7 @@ def plugin_update(queryset, new_status: bool):
# Reload plugins if they changed # Reload plugins if they changed
if apps_changed: if apps_changed:
registry.plugin_registry.reload_plugins() pl_registry.registry.reload_plugins()
@admin.action(description='Activate plugin(s)') @admin.action(description='Activate plugin(s)')

View File

@ -4,17 +4,17 @@ from __future__ import unicode_literals
from django.apps import AppConfig from django.apps import AppConfig
from maintenance_mode.core import set_maintenance_mode from maintenance_mode.core import set_maintenance_mode
from plugin import plugin_registry from plugin import registry
class PluginAppConfig(AppConfig): class PluginAppConfig(AppConfig):
name = 'plugin' name = 'plugin'
def ready(self): def ready(self):
if not plugin_registry.is_loading: if not registry.is_loading:
# this is the first startup # this is the first startup
plugin_registry.collect_plugins() registry.collect_plugins()
plugin_registry.load_plugins() registry.load_plugins()
# drop out of maintenance # drop out of maintenance
# makes sure we did not have an error in reloading and maintenance is still active # makes sure we did not have an error in reloading and maintenance is still active

View File

@ -17,7 +17,7 @@ from common.models import InvenTreeSetting
from InvenTree.ready import canAppAccessDatabase from InvenTree.ready import canAppAccessDatabase
from InvenTree.tasks import offload_task from InvenTree.tasks import offload_task
from plugin.registry import plugin_registry from plugin.registry import registry
logger = logging.getLogger('inventree') logger = logging.getLogger('inventree')
@ -60,7 +60,7 @@ def register_event(event, *args, **kwargs):
with transaction.atomic(): with transaction.atomic():
for slug, plugin in plugin_registry.plugins.items(): for slug, plugin in registry.plugins.items():
if plugin.mixin_enabled('events'): if plugin.mixin_enabled('events'):
@ -91,7 +91,7 @@ def process_event(plugin_slug, event, *args, **kwargs):
logger.info(f"Plugin '{plugin_slug}' is processing triggered event '{event}'") logger.info(f"Plugin '{plugin_slug}' is processing triggered event '{event}'")
plugin = plugin_registry.plugins[plugin_slug] plugin = registry.plugins[plugin_slug]
plugin.process_event(event, *args, **kwargs) plugin.process_event(event, *args, **kwargs)

View File

@ -10,14 +10,14 @@ from django.conf import settings
# region logging / errors # region logging / errors
def log_plugin_error(error, reference: str = 'general'): def log_plugin_error(error, reference: str = 'general'):
from plugin import plugin_registry from plugin import registry
# make sure the registry is set up # make sure the registry is set up
if reference not in plugin_registry.errors: if reference not in registry.errors:
plugin_registry.errors[reference] = [] registry.errors[reference] = []
# add error to stack # add error to stack
plugin_registry.errors[reference].append(error) registry.errors[reference].append(error)
class IntegrationPluginError(Exception): class IntegrationPluginError(Exception):

View File

@ -4,7 +4,7 @@ load templates for loaded plugins
from django.template.loaders.filesystem import Loader as FilesystemLoader from django.template.loaders.filesystem import Loader as FilesystemLoader
from pathlib import Path from pathlib import Path
from plugin import plugin_registry from plugin import registry
class PluginTemplateLoader(FilesystemLoader): class PluginTemplateLoader(FilesystemLoader):
@ -12,7 +12,7 @@ class PluginTemplateLoader(FilesystemLoader):
def get_dirs(self): def get_dirs(self):
dirname = 'templates' dirname = 'templates'
template_dirs = [] template_dirs = []
for plugin in plugin_registry.plugins.values(): for plugin in registry.plugins.values():
new_path = Path(plugin.path) / dirname new_path = Path(plugin.path) / dirname
if Path(new_path).is_dir(): if Path(new_path).is_dir():
template_dirs.append(new_path) template_dirs.append(new_path)

View File

@ -547,4 +547,4 @@ class PluginsRegistry:
# endregion # endregion
plugin_registry = PluginsRegistry() registry = PluginsRegistry()

View File

@ -2,7 +2,7 @@
from django.test import TestCase from django.test import TestCase
from plugin import plugin_registry from plugin import registry
class SampleApiCallerPluginTests(TestCase): class SampleApiCallerPluginTests(TestCase):
@ -11,8 +11,8 @@ class SampleApiCallerPluginTests(TestCase):
def test_return(self): def test_return(self):
"""check if the external api call works""" """check if the external api call works"""
# The plugin should be defined # The plugin should be defined
self.assertIn('sample-api-caller', plugin_registry.plugins) self.assertIn('sample-api-caller', registry.plugins)
plg = plugin_registry.plugins['sample-api-caller'] plg = registry.plugins['sample-api-caller']
self.assertTrue(plg) self.assertTrue(plg)
# do an api call # do an api call

View File

@ -7,7 +7,7 @@ from django import template
from django.urls import reverse from django.urls import reverse
from common.models import InvenTreeSetting from common.models import InvenTreeSetting
from plugin import plugin_registry from plugin import registry
register = template.Library() register = template.Library()
@ -16,19 +16,19 @@ register = template.Library()
@register.simple_tag() @register.simple_tag()
def plugin_list(*args, **kwargs): def plugin_list(*args, **kwargs):
""" Return a list of all installed integration plugins """ """ Return a list of all installed integration plugins """
return plugin_registry.plugins return registry.plugins
@register.simple_tag() @register.simple_tag()
def inactive_plugin_list(*args, **kwargs): def inactive_plugin_list(*args, **kwargs):
""" Return a list of all inactive integration plugins """ """ Return a list of all inactive integration plugins """
return plugin_registry.plugins_inactive return registry.plugins_inactive
@register.simple_tag() @register.simple_tag()
def plugin_settings(plugin, *args, **kwargs): def plugin_settings(plugin, *args, **kwargs):
""" Return a list of all custom settings for a plugin """ """ Return a list of all custom settings for a plugin """
return plugin_registry.mixins_settings.get(plugin) return registry.mixins_settings.get(plugin)
@register.simple_tag() @register.simple_tag()
@ -57,4 +57,4 @@ def safe_url(view_name, *args, **kwargs):
@register.simple_tag() @register.simple_tag()
def plugin_errors(*args, **kwargs): def plugin_errors(*args, **kwargs):
"""Return all plugin errors""" """Return all plugin errors"""
return plugin_registry.errors return registry.errors

View File

@ -64,14 +64,14 @@ class PluginDetailAPITest(InvenTreeAPITestCase):
Test the PluginConfig action commands Test the PluginConfig action commands
""" """
from plugin.models import PluginConfig from plugin.models import PluginConfig
from plugin import plugin_registry from plugin import registry
url = reverse('admin:plugin_pluginconfig_changelist') url = reverse('admin:plugin_pluginconfig_changelist')
fixtures = PluginConfig.objects.all() fixtures = PluginConfig.objects.all()
# check if plugins were registered -> in some test setups the startup has no db access # check if plugins were registered -> in some test setups the startup has no db access
if not fixtures: if not fixtures:
plugin_registry.reload_plugins() registry.reload_plugins()
fixtures = PluginConfig.objects.all() fixtures = PluginConfig.objects.all()
print([str(a) for a in fixtures]) print([str(a) for a in fixtures])

View File

@ -9,7 +9,7 @@ import plugin.integration
from plugin.samples.integration.sample import SampleIntegrationPlugin from plugin.samples.integration.sample import SampleIntegrationPlugin
from plugin.samples.integration.another_sample import WrongIntegrationPlugin, NoIntegrationPlugin from plugin.samples.integration.another_sample import WrongIntegrationPlugin, NoIntegrationPlugin
import plugin.templatetags.plugin_extras as plugin_tags import plugin.templatetags.plugin_extras as plugin_tags
from plugin import plugin_registry from plugin import registry
class InvenTreePluginTests(TestCase): class InvenTreePluginTests(TestCase):
@ -44,17 +44,17 @@ class PluginTagTests(TestCase):
def test_tag_plugin_list(self): def test_tag_plugin_list(self):
"""test that all plugins are listed""" """test that all plugins are listed"""
self.assertEqual(plugin_tags.plugin_list(), plugin_registry.plugins) self.assertEqual(plugin_tags.plugin_list(), registry.plugins)
def test_tag_incative_plugin_list(self): def test_tag_incative_plugin_list(self):
"""test that all inactive plugins are listed""" """test that all inactive plugins are listed"""
self.assertEqual(plugin_tags.inactive_plugin_list(), plugin_registry.plugins_inactive) self.assertEqual(plugin_tags.inactive_plugin_list(), registry.plugins_inactive)
def test_tag_plugin_settings(self): def test_tag_plugin_settings(self):
"""check all plugins are listed""" """check all plugins are listed"""
self.assertEqual( self.assertEqual(
plugin_tags.plugin_settings(self.sample), plugin_tags.plugin_settings(self.sample),
plugin_registry.mixins_settings.get(self.sample) registry.mixins_settings.get(self.sample)
) )
def test_tag_mixin_enabled(self): def test_tag_mixin_enabled(self):
@ -76,4 +76,4 @@ class PluginTagTests(TestCase):
def test_tag_plugin_errors(self): def test_tag_plugin_errors(self):
"""test that all errors are listed""" """test that all errors are listed"""
self.assertEqual(plugin_tags.plugin_errors(), plugin_registry.errors) self.assertEqual(plugin_tags.plugin_errors(), registry.errors)

View File

@ -4,7 +4,7 @@ URL lookup for plugin app
from django.conf.urls import url, include from django.conf.urls import url, include
from plugin import plugin_registry from plugin import registry
PLUGIN_BASE = 'plugin' # Constant for links PLUGIN_BASE = 'plugin' # Constant for links
@ -17,7 +17,7 @@ def get_plugin_urls():
urls = [] urls = []
for plugin in plugin_registry.plugins.values(): for plugin in registry.plugins.values():
if plugin.mixin_enabled('urls'): if plugin.mixin_enabled('urls'):
urls.append(plugin.urlpatterns) urls.append(plugin.urlpatterns)