From 307d1826281ad949f7c0caffea5b8639e1a0e24d Mon Sep 17 00:00:00 2001 From: "Meinel, Michael" Date: Wed, 20 Dec 2023 16:26:40 +0100 Subject: [PATCH] Allow missing auth token when a pre-configured client is passed in. --- src/hermes/commands/deposit/invenio.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/hermes/commands/deposit/invenio.py b/src/hermes/commands/deposit/invenio.py index 8dcd6990..c76e3002 100644 --- a/src/hermes/commands/deposit/invenio.py +++ b/src/hermes/commands/deposit/invenio.py @@ -196,11 +196,14 @@ def __init__(self, click_ctx: click.Context, ctx: CodeMetaContext, client=None, self.invenio_context_path = ContextPath.parse(f"deposit.{self.platform_name}") self.invenio_ctx = None - auth_token = self.click_ctx.params.get("auth_token") - if auth_token is None: - raise DepositionUnauthorizedError("No auth token given for deposition platform") + if client is None: + auth_token = self.click_ctx.params.get("auth_token") + if auth_token is None: + raise DepositionUnauthorizedError("No auth token given for deposition platform") + self.client = self.invenio_client_class(auth_token=auth_token, platform_name=self.platform_name) + else: + self.client = client - self.client = client or self.invenio_client_class(auth_token=auth_token, platform_name=self.platform_name) self.resolver = resolver or self.invenio_resolver_class(self.client) self.config = config.get("deposit").get(self.platform_name, {}) self.links = {}