mirror of
https://github.com/aljazceru/CTFd.git
synced 2025-12-17 14:04:20 +01:00
Made get_configurable_plugins work nicely with config.jsons that include multiple plugin entries as a list (#2161)
* Adds support for config.json to have multiple paths to add to the Plugins dropdown in the Admin Panel * Closes #1370
This commit is contained in:
@@ -54,11 +54,19 @@ def get_configurable_plugins():
|
||||
path = os.path.join(plugins_path, dir, "config.json")
|
||||
with open(path) as f:
|
||||
plugin_json_data = json.loads(f.read())
|
||||
p = Plugin(
|
||||
name=plugin_json_data.get("name"),
|
||||
route=plugin_json_data.get("route"),
|
||||
)
|
||||
plugins.append(p)
|
||||
if type(plugin_json_data) is list:
|
||||
for plugin_json in plugin_json_data:
|
||||
p = Plugin(
|
||||
name=plugin_json.get("name"),
|
||||
route=plugin_json.get("route"),
|
||||
)
|
||||
plugins.append(p)
|
||||
else:
|
||||
p = Plugin(
|
||||
name=plugin_json_data.get("name"),
|
||||
route=plugin_json_data.get("route"),
|
||||
)
|
||||
plugins.append(p)
|
||||
elif os.path.isfile(os.path.join(plugins_path, dir, "config.html")):
|
||||
p = Plugin(name=dir, route="/admin/plugins/{}".format(dir))
|
||||
plugins.append(p)
|
||||
|
||||
Reference in New Issue
Block a user