diff --git a/funkwhale_cli/cli.py b/funkwhale_cli/cli.py index 70252b581cd5cba1ed8ea45737660b52b586ae7e..1948581568d09aa488eafbbb95926768ff1b0bc3 100644 --- a/funkwhale_cli/cli.py +++ b/funkwhale_cli/cli.py @@ -60,10 +60,18 @@ def async_command(f): _async_reraise = kwargs.pop("_async_reraise", False) try: return loop.run_until_complete(f(*args, **kwargs)) - except (exceptions.FunkwhaleError, aiohttp.client_exceptions.ClientError) as e: + except (aiohttp.client_exceptions.ClientError) as e: if _async_reraise: raise - raise click.ClickException(str(e)) + message = str(e) + if hasattr(e, 'status') and e.status == 401: + message = "Remote answered with {}, ensure your are logged in first".format(e.status) + raise click.ClickException(message) + except (exceptions.FunkwhaleError) as e: + if _async_reraise: + raise + message = str(e) + raise click.ClickException(message) else: raise