diff --git a/swh/deposit/cli/client.py b/swh/deposit/cli/client.py --- a/swh/deposit/cli/client.py +++ b/swh/deposit/cli/client.py @@ -142,7 +142,8 @@ # retrieve user's collection sd_content = client.service_document() if "error" in sd_content: - raise InputError("Service document retrieval: %s" % (sd_content["error"],)) + msg = sd_content["error"]["summary"] + raise InputError(f"Service document retrieval: {msg}") collection = sd_content["app:service"]["app:workspace"]["app:collection"][ "sword:name" ] diff --git a/swh/deposit/client.py b/swh/deposit/client.py --- a/swh/deposit/client.py +++ b/swh/deposit/client.py @@ -385,6 +385,10 @@ """ return parse_xml(xml_content) + def parse_result_error(self, xml_content): + result = super().parse_result_error(xml_content) + return {"error": result} + class StatusDepositClient(BaseDepositClient): """Status information on a deposit.