2025-01-02 22:29:58 +00:00
|
|
|
import importlib.metadata
|
|
|
|
|
2024-03-15 18:58:06 +00:00
|
|
|
import click
|
|
|
|
from flask.cli import FlaskGroup
|
|
|
|
|
2023-04-09 14:14:38 +00:00
|
|
|
import canaille.app.commands
|
2024-04-06 16:16:48 +00:00
|
|
|
import canaille.backends.commands
|
2023-04-09 14:14:38 +00:00
|
|
|
import canaille.core.commands
|
|
|
|
import canaille.oidc.commands
|
|
|
|
from canaille import create_app
|
|
|
|
|
2025-01-02 22:29:58 +00:00
|
|
|
version = importlib.metadata.version("canaille")
|
|
|
|
|
2023-04-09 14:14:38 +00:00
|
|
|
|
2025-01-09 17:16:27 +00:00
|
|
|
def create_cli_app(): # pragma: no cover
|
|
|
|
# Force the non-application of migrations
|
|
|
|
return create_app(init_backend=False)
|
|
|
|
|
|
|
|
|
2024-05-08 08:31:34 +00:00
|
|
|
@click.group(
|
|
|
|
cls=FlaskGroup,
|
2025-01-09 17:16:27 +00:00
|
|
|
create_app=create_cli_app,
|
2024-05-08 08:31:34 +00:00
|
|
|
add_version_option=False,
|
|
|
|
add_default_commands=False,
|
|
|
|
)
|
2025-01-02 22:29:58 +00:00
|
|
|
@click.version_option(version, prog_name="Canaille")
|
2023-04-09 14:14:38 +00:00
|
|
|
def cli():
|
2024-05-12 09:33:22 +00:00
|
|
|
"""Canaille management utilities."""
|
2023-04-09 14:14:38 +00:00
|
|
|
|
|
|
|
|
|
|
|
canaille.app.commands.register(cli)
|
2024-04-06 16:16:48 +00:00
|
|
|
canaille.backends.commands.register(cli)
|
2023-04-09 14:14:38 +00:00
|
|
|
canaille.core.commands.register(cli)
|
|
|
|
canaille.oidc.commands.register(cli)
|
2025-01-02 22:29:58 +00:00
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__": # pragma: no cover
|
|
|
|
cli()
|