in services/ui_backend_service/plugins/__init__.py [0:0]
def init_plugins():
global _PLUGINS
logger.info("Init plugins")
plugins = get_json_config("plugins")
if plugins:
global_auth = None
if "auth" in plugins and isinstance(plugins["auth"], dict):
global_auth = plugins["auth"]
for identifier, value in plugins.items():
if isinstance(value, str):
repository = value
ref = None
parameters = {}
paths = None
auth = global_auth
elif identifier == "auth":
continue
elif isinstance(value, dict):
repository = value.get("repository", None)
ref = value.get("ref", None)
parameters = value.get("parameters", {})
paths = value.get("paths", None)
if "auth" in value:
auth = value.get("auth", None)
else:
auth = global_auth
else:
logger.warning(" [{}] Invalid plugin format, skipping".format(identifier))
continue
if paths and isinstance(paths, list):
for path in paths:
_load_plugin(identifier=identifier, repository=repository, ref=ref, parameters=parameters, path=path, auth=auth)
else:
_load_plugin(identifier=identifier, repository=repository, ref=ref, parameters=parameters, auth=auth)
logger.info("Plugins ready: {}".format(list(map(lambda p: p.identifier, _PLUGINS))))