# 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