[cli] Fix exporting of plugin interfaces
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
This commit is contained in:
parent
fa503fe142
commit
dc2b949225
|
@ -1,4 +1,5 @@
|
|||
import click
|
||||
from importlib_metadata import entry_points
|
||||
|
||||
|
||||
@click.command()
|
||||
|
@ -8,14 +9,21 @@ import click
|
|||
@click.option("--no-core", help="Skip models / types from flaschengeist core", is_flag=True)
|
||||
def export(namespace, output, no_core, plugin):
|
||||
from flaschengeist import logger, models
|
||||
from flaschengeist.app import get_plugins
|
||||
from .InterfaceGenerator import InterfaceGenerator
|
||||
|
||||
gen = InterfaceGenerator(namespace, output, logger)
|
||||
if not no_core:
|
||||
gen.run(models)
|
||||
if plugin:
|
||||
for plugin_class in get_plugins():
|
||||
if (len(plugin) == 0 or plugin_class.id in plugin) and plugin_class.models is not None:
|
||||
gen.run(plugin_class.models)
|
||||
for entry_point in entry_points(group="flaschengeist.plugins"):
|
||||
if len(plugin) == 0 or entry_point.name in plugin:
|
||||
try:
|
||||
plugin = entry_point.load()
|
||||
gen.run(plugin.models)
|
||||
except:
|
||||
logger.error(
|
||||
f"Plugin {entry_point.name} could not be loaded due to an error.",
|
||||
exc_info=True,
|
||||
)
|
||||
continue
|
||||
gen.write()
|
||||
|
|
|
@ -97,7 +97,9 @@ def ls(enabled, no_header):
|
|||
return p.version
|
||||
|
||||
plugins = entry_points(group="flaschengeist.plugins")
|
||||
enabled_plugins = [key for key, value in config.items() if "enabled" in value and value["enabled"]] + [config["FLASCHENGEIST"]["auth"]]
|
||||
enabled_plugins = [key for key, value in config.items() if "enabled" in value and value["enabled"]] + [
|
||||
config["FLASCHENGEIST"]["auth"]
|
||||
]
|
||||
loaded_plugins = current_app.config["FG_PLUGINS"].keys()
|
||||
|
||||
if not no_header:
|
||||
|
|
Loading…
Reference in New Issue