:py:mod:`wfexs_backend.pushers.dataverse_export`
================================================

.. py:module:: wfexs_backend.pushers.dataverse_export

.. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export
   :allowtitles:

Module Contents
---------------

Classes
~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`DataversePublisher <wfexs_backend.pushers.dataverse_export.DataversePublisher>`
     - .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher
          :summary:

API
~~~

.. py:class:: DataversePublisher(refdir: pathlib.Path, setup_block: Optional[SecurityContextConfig] = None, default_licences: Sequence[LicenceDescription] = [], default_orcids: Sequence[ResolvedORCID] = [], default_preferred_id: Optional[str] = None)
   :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher

   Bases: :py:obj:`wfexs_backend.pushers.abstract_token_export.AbstractTokenExportPlugin`

   .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher

   .. rubric:: Initialization

   .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.__init__

   .. py:attribute:: PLUGIN_NAME
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.PLUGIN_NAME
      :type: ClassVar[SymbolicName]
      :value: 'cast(...)'

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.PLUGIN_NAME

   .. py:attribute:: ENABLED
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.ENABLED
      :type: ClassVar[bool]
      :value: True

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.ENABLED

   .. py:attribute:: ATOM_CONTENT_TYPE
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.ATOM_CONTENT_TYPE
      :type: Final[str]
      :value: 'application/atom+xml'

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.ATOM_CONTENT_TYPE

   .. py:attribute:: SWORD_APP_NAMESPACE
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.SWORD_APP_NAMESPACE
      :type: Final[str]
      :value: 'http://www.w3.org/2007/app'

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.SWORD_APP_NAMESPACE

   .. py:attribute:: SWORD_APP_PREFIX
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.SWORD_APP_PREFIX
      :type: Final[str]
      :value: 'app'

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.SWORD_APP_PREFIX

   .. py:attribute:: ATOM_NAMESPACE
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.ATOM_NAMESPACE
      :type: Final[str]
      :value: 'http://www.w3.org/2005/Atom'

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.ATOM_NAMESPACE

   .. py:attribute:: ATOM_PREFIX
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.ATOM_PREFIX
      :type: Final[str]
      :value: 'atom'

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.ATOM_PREFIX

   .. py:attribute:: PURL_NAMESPACE
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.PURL_NAMESPACE
      :type: Final[str]
      :value: 'http://purl.org/dc/terms/'

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.PURL_NAMESPACE

   .. py:attribute:: PURL_PREFIX
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.PURL_PREFIX
      :type: Final[str]
      :value: 'dcterms'

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.PURL_PREFIX

   .. py:attribute:: SWORD_TERMS_NAMESPACE
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.SWORD_TERMS_NAMESPACE
      :type: Final[str]
      :value: 'http://purl.org/net/sword/terms/'

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.SWORD_TERMS_NAMESPACE

   .. py:attribute:: SWORD_TERMS_PREFIX
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.SWORD_TERMS_PREFIX
      :type: Final[str]
      :value: 'st'

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.SWORD_TERMS_PREFIX

   .. py:attribute:: DATAVERSE_VALID_LICENCES
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.DATAVERSE_VALID_LICENCES
      :type: Final[Set[str]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.DATAVERSE_VALID_LICENCES

   .. py:attribute:: VALID_LICENCES_MAPPING
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.VALID_LICENCES_MAPPING
      :type: Final[Mapping[str, str]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.VALID_LICENCES_MAPPING

   .. py:attribute:: XML_NS
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.XML_NS
      :type: Final[Dict[str, str]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.XML_NS

   .. py:method:: _gen_headers() -> MutableMapping[str, str]
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher._gen_headers

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher._gen_headers

   .. py:method:: __get_sword_opener() -> wfexs_backend.pushers.dataverse_export.AuthenticatedURLOpener
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.__get_sword_opener

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.__get_sword_opener

   .. py:method:: _sword_get_collections() -> Mapping[str, str]
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher._sword_get_collections

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher._sword_get_collections

   .. py:method:: _get_dataverse_collection_url(dataverse_id: str) -> Optional[str]
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher._get_dataverse_collection_url

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher._get_dataverse_collection_url

   .. py:method:: _genLicenceText(licences: Sequence[LicenceDescription]) -> str
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher._genLicenceText
      :staticmethod:

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher._genLicenceText

   .. py:method:: get_pid_metadata(pid: str) -> Optional[Mapping[str, Any]]
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.get_pid_metadata

   .. py:method:: get_pid_draftentry(pid: str) -> Optional[DraftEntry]
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.get_pid_draftentry

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.get_pid_draftentry

   .. py:method:: _sword_book_entry(title: Optional[str] = None, description: Optional[str] = None, licences: Sequence[LicenceDescription] = [], resolved_orcids: Sequence[ResolvedORCID] = []) -> Optional[str]
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher._sword_book_entry

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher._sword_book_entry

   .. py:method:: book_pid(preferred_id: Optional[str] = None, initially_required_metadata: Optional[Mapping[str, Any]] = None, initially_required_community_specific_metadata: Optional[Mapping[str, Any]] = None, title: Optional[str] = None, description: Optional[str] = None, licences: Sequence[LicenceDescription] = [], resolved_orcids: Sequence[ResolvedORCID] = []) -> Optional[DraftEntry]
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.book_pid

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.book_pid

   .. py:property:: _customized_book_pid_error_string
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher._customized_book_pid_error_string
      :type: str

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher._customized_book_pid_error_string

   .. py:method:: discard_booked_pid(pid_or_draft: Union[str, DraftEntry]) -> bool
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.discard_booked_pid

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.discard_booked_pid

   .. py:method:: get_file_bucket_prefix(draft_entry: wfexs_backend.pushers.DraftEntry) -> str
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.get_file_bucket_prefix

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.get_file_bucket_prefix

   .. py:method:: _direct_upload_file_to_draft(draft_entry: wfexs_backend.pushers.DraftEntry, filename: Union[str, IO[bytes]], remote_filename: Optional[str], content_size: Optional[int] = None) -> Mapping[str, Any]
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher._direct_upload_file_to_draft

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher._direct_upload_file_to_draft

   .. py:method:: _form_upload_file_to_draft(draft_entry: wfexs_backend.pushers.DraftEntry, filename: Union[str, IO[bytes]], remote_filename: Optional[str], content_size: Optional[int] = None) -> Mapping[str, Any]
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher._form_upload_file_to_draft

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher._form_upload_file_to_draft

   .. py:method:: upload_file_to_draft(draft_entry: wfexs_backend.pushers.DraftEntry, filename: Union[str, IO[bytes]], remote_filename: Optional[str], content_size: Optional[int] = None) -> Mapping[str, Any]
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.upload_file_to_draft

   .. py:method:: __gen_sword_dataset_url(draft_entry: wfexs_backend.pushers.DraftEntry) -> str
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.__gen_sword_dataset_url

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.__gen_sword_dataset_url

   .. py:attribute:: EXPORT_FORMATS
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.EXPORT_FORMATS
      :type: Final[Set[str]]
      :value: None

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.EXPORT_FORMATS

   .. py:method:: _export_metadata_raw(draft_entry: wfexs_backend.pushers.DraftEntry, format: str = 'dcterms') -> bytes
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher._export_metadata_raw

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher._export_metadata_raw

   .. py:method:: _sword_book_revision(draft_entry: wfexs_backend.pushers.DraftEntry) -> Optional[DraftEntry]
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher._sword_book_revision

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher._sword_book_revision

   .. py:method:: update_record_metadata(draft_entry: wfexs_backend.pushers.DraftEntry, metadata: Optional[Mapping[str, Any]] = None, community_specific_metadata: Optional[Mapping[str, Any]] = None, title: Optional[str] = None, description: Optional[str] = None, licences: Sequence[LicenceDescription] = [], resolved_orcids: Sequence[ResolvedORCID] = []) -> Mapping[str, Any]
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.update_record_metadata

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.update_record_metadata

   .. py:method:: publish_draft_record(draft_entry: wfexs_backend.pushers.DraftEntry) -> Mapping[str, Any]
      :canonical: wfexs_backend.pushers.dataverse_export.DataversePublisher.publish_draft_record

      .. autodoc2-docstring:: wfexs_backend.pushers.dataverse_export.DataversePublisher.publish_draft_record
