make the cli more click

This commit is contained in:
saces 2026-03-17 10:21:52 +01:00
parent c890c49c7b
commit 8fcf9b4785
2 changed files with 24 additions and 1 deletions

View file

@ -0,0 +1,19 @@
# Copyright (C) 2026 saces@c-base.org
# SPDX-License-Identifier: AGPL-3.0-only
from functools import partial, wraps
import click
def click_catch_exception(func=None, *, handle):
if not func:
return partial(click_catch_exception, handle=handle)
@wraps(func)
def wrapper(*args, **kwargs):
try:
return func(*args, **kwargs)
except handle as e:
raise click.ClickException(e)
return wrapper