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.

All HZDR publications must be registered in Robis (https://www.hzdr.de/robis). The first release of a software may only be performed when the registration in Robis is finalized and approved, and a publication form was added.

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.