|
@@ -11,6 +11,7 @@ from rest_framework.reverse import reverse
|
|
|
from rest_framework.views import APIView
|
|
from rest_framework.views import APIView
|
|
|
from rq.worker import Worker
|
|
from rq.worker import Worker
|
|
|
|
|
|
|
|
|
|
+from extras.plugins.utils import get_installed_plugins
|
|
|
from netbox.api.authentication import IsAuthenticatedOrLoginNotRequired
|
|
from netbox.api.authentication import IsAuthenticatedOrLoginNotRequired
|
|
|
|
|
|
|
|
|
|
|
|
@@ -61,19 +62,11 @@ class StatusView(APIView):
|
|
|
installed_apps[app_config.name] = version
|
|
installed_apps[app_config.name] = version
|
|
|
installed_apps = {k: v for k, v in sorted(installed_apps.items())}
|
|
installed_apps = {k: v for k, v in sorted(installed_apps.items())}
|
|
|
|
|
|
|
|
- # Gather installed plugins
|
|
|
|
|
- plugins = {}
|
|
|
|
|
- for plugin_name in settings.PLUGINS:
|
|
|
|
|
- plugin_name = plugin_name.rsplit('.', 1)[-1]
|
|
|
|
|
- plugin_config = apps.get_app_config(plugin_name)
|
|
|
|
|
- plugins[plugin_name] = getattr(plugin_config, 'version', None)
|
|
|
|
|
- plugins = {k: v for k, v in sorted(plugins.items())}
|
|
|
|
|
-
|
|
|
|
|
return Response({
|
|
return Response({
|
|
|
'django-version': DJANGO_VERSION,
|
|
'django-version': DJANGO_VERSION,
|
|
|
'installed-apps': installed_apps,
|
|
'installed-apps': installed_apps,
|
|
|
'netbox-version': settings.VERSION,
|
|
'netbox-version': settings.VERSION,
|
|
|
- 'plugins': plugins,
|
|
|
|
|
|
|
+ 'plugins': get_installed_plugins(),
|
|
|
'python-version': platform.python_version(),
|
|
'python-version': platform.python_version(),
|
|
|
'rq-workers-running': Worker.count(get_connection('default')),
|
|
'rq-workers-running': Worker.count(get_connection('default')),
|
|
|
})
|
|
})
|