mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-24 16:26:09 -06:00
Move get_plugin_config() to extras.plugins.utils
This commit is contained in:
parent
82180ecf42
commit
a6229ba56e
@ -2,7 +2,6 @@ import collections
|
|||||||
from importlib import import_module
|
from importlib import import_module
|
||||||
|
|
||||||
from django.apps import AppConfig
|
from django.apps import AppConfig
|
||||||
from django.conf import settings
|
|
||||||
from django.core.exceptions import ImproperlyConfigured
|
from django.core.exceptions import ImproperlyConfigured
|
||||||
from django.utils.module_loading import import_string
|
from django.utils.module_loading import import_string
|
||||||
from packaging import version
|
from packaging import version
|
||||||
@ -146,23 +145,3 @@ class PluginConfig(AppConfig):
|
|||||||
for setting, value in cls.default_settings.items():
|
for setting, value in cls.default_settings.items():
|
||||||
if setting not in user_config:
|
if setting not in user_config:
|
||||||
user_config[setting] = value
|
user_config[setting] = value
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Utilities
|
|
||||||
#
|
|
||||||
|
|
||||||
def get_plugin_config(plugin_name, parameter, default=None):
|
|
||||||
"""
|
|
||||||
Return the value of the specified plugin configuration parameter.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
plugin_name: The name of the plugin
|
|
||||||
parameter: The name of the configuration parameter
|
|
||||||
default: The value to return if the parameter is not defined (default: None)
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
plugin_config = settings.PLUGINS_CONFIG[plugin_name]
|
|
||||||
return plugin_config.get(parameter, default)
|
|
||||||
except KeyError:
|
|
||||||
raise ImproperlyConfigured(f"Plugin {plugin_name} is not registered.")
|
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
from django.apps import apps
|
from django.apps import apps
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.core.exceptions import ImproperlyConfigured
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'get_installed_plugins',
|
'get_installed_plugins',
|
||||||
|
'get_plugin_config',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -17,3 +19,19 @@ def get_installed_plugins():
|
|||||||
plugins[plugin_name] = getattr(plugin_config, 'version', None)
|
plugins[plugin_name] = getattr(plugin_config, 'version', None)
|
||||||
|
|
||||||
return dict(sorted(plugins.items()))
|
return dict(sorted(plugins.items()))
|
||||||
|
|
||||||
|
|
||||||
|
def get_plugin_config(plugin_name, parameter, default=None):
|
||||||
|
"""
|
||||||
|
Return the value of the specified plugin configuration parameter.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
plugin_name: The name of the plugin
|
||||||
|
parameter: The name of the configuration parameter
|
||||||
|
default: The value to return if the parameter is not defined (default: None)
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
plugin_config = settings.PLUGINS_CONFIG[plugin_name]
|
||||||
|
return plugin_config.get(parameter, default)
|
||||||
|
except KeyError:
|
||||||
|
raise ImproperlyConfigured(f"Plugin {plugin_name} is not registered.")
|
||||||
|
@ -5,8 +5,9 @@ from django.core.exceptions import ImproperlyConfigured
|
|||||||
from django.test import Client, TestCase, override_settings
|
from django.test import Client, TestCase, override_settings
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
|
||||||
from extras.plugins import PluginMenu, get_plugin_config
|
from extras.plugins import PluginMenu
|
||||||
from extras.tests.dummy_plugin import config as dummy_config
|
from extras.tests.dummy_plugin import config as dummy_config
|
||||||
|
from extras.plugins.utils import get_plugin_config
|
||||||
from netbox.graphql.schema import Query
|
from netbox.graphql.schema import Query
|
||||||
from netbox.registry import registry
|
from netbox.registry import registry
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user