hermes.commands.deposit.rodare

Classes

RodareDepositSettings

Settings for Rodare deposit plugin.

RodareClient

Custom Rodare client with updated platform_name for correct config access.

RodareResolver

Custom Rodare resolver using custom client.

RodareDepositPlugin

Deposit plugin for the HZDR data repository Rodare (https://rodare.hzdr.de).

Module Contents

class hermes.commands.deposit.rodare.RodareDepositSettings(/, **data: Any)

Bases: hermes.commands.deposit.invenio.InvenioDepositSettings

Settings for Rodare deposit plugin.

This extends the base class by the Robis publication identifier that is required when creating deposits on Rodare.

The site_url is overridden as it will be the same for all users.

site_url: str = 'https://rodare.hzdr.de'
robis_pub_id: str = None
class hermes.commands.deposit.rodare.RodareClient(config, auth_token=None, platform_name=None)

Bases: hermes.commands.deposit.invenio.InvenioClient

Custom Rodare client with updated platform_name for correct config access.

platform_name = 'rodare'
class hermes.commands.deposit.rodare.RodareResolver(client=None)

Bases: hermes.commands.deposit.invenio.InvenioResolver

Custom Rodare resolver using custom client.

invenio_client_class
class hermes.commands.deposit.rodare.RodareDepositPlugin(command: hermes.commands.deposit.base.HermesDepositCommand, ctx: hermes.model.context.CodeMetaContext, client=None, resolver=None)

Bases: hermes.commands.deposit.invenio.InvenioDepositPlugin

Deposit plugin for the HZDR data repository Rodare (https://rodare.hzdr.de).

platform_name = 'rodare'
settings_class
invenio_client_class
invenio_resolver_class
robis_url = 'https://www.hzdr.de/robis'
robis_publication_url = 'https://www.hzdr.de/publications/Publ-{pub_id}'
prepare() None

Update the context with the Robis identifier from the config.

create_initial_version() None

Disallow creation of initial versions using HERMES.

HZDR publications must all be registered in Robis (https://www.hzdr.de/robis). There is a workflow in place that guides users from Robis to Rodare and automatically transfers metadata for them. Starting the publication workflow in Rodare is discouraged.

Subsequent releases of the software may be published on Rodare directly as the connection to Robis is in place by then.

This code should never be reached. So, raising a RuntimeError is just a precaution.

related_identifiers()

Update the related identifiers with link to Robis.

Add the Robis Publ-Id as a related identifier. This is additional metadata which is not required by Rodare or Robis. It helps users find the related publication on Robis at https://www.hzdr.de/publications/Publ-{pub_id}.

An example publication on Rodare: https://rodare.hzdr.de/api/records/2

The associated Robis page: https://www.hzdr.de/publications/Publ-27151

_codemeta_to_invenio_deposition() dict

Update the deposition metadata with Robis Publ-Id.

Deposits on Rodare require a connection to the publication database Robis. To make this connection, the deposit metadata has to contain the field pub_id.