tardis.apps.oaipmh.provider package

Submodules

tardis.apps.oaipmh.provider.base module

class tardis.apps.oaipmh.provider.base.BaseProvider(site)

Bases: oaipmh.interfaces.IOAI, object

A base provider which roughly implements the PyOAI interface for OAI-PMH servers.

Extend this if you’re writing your own provider for a new type or a different metadata format.

getRecord(metadataPrefix, identifier)

Get a record for a metadataPrefix and identifier.

Parameters:
  • metadataPrefix (string) – identifies metadata set to retrieve
  • identifier (string) –
    • repository-unique identifier of record
Raises:
  • oaipmh.error.CannotDisseminateFormatError – if metadataPrefix is unknown or not supported by identifier.
  • oaipmh.error.IdDoesNotExistError – if identifier is unknown or illegal.
Returns:

a header, metadata, about tuple describing the record.

identify()

Retrieve information about the repository.

Returns an Identify object describing the repository.

listIdentifiers(metadataPrefix, set=None, from_=None, until=None)

Get a list of header information on records.

Parameters:
  • metadataPrefix (string) – identifies metadata set to retrieve
  • set (string) – set identifier; only return headers in set
  • from (datetime) – only retrieve headers from from_ date forward (in naive UTC)
  • until (datetime) – only retrieve headers with dates up to and including until date (in naive UTC)
Raises:
  • error.CannotDisseminateFormatError – if metadataPrefix is not supported by the repository.
  • error.NoSetHierarchyError – if the repository does not support sets.
Returns:

an iterable of headers.

listMetadataFormats(identifier=None)

List metadata formats supported by repository or record.

Parameters:

identifier (string) – identify record for which we want to know all supported metadata formats. If absent, list all metadata formats supported by repository.

Raises:
  • error.IdDoesNotExistError – if record with identifier does not exist.
  • error.NoMetadataFormatsError – if no formats are available for the indicated record.
Returns:

an iterable of metadataPrefix, schema, metadataNamespace tuples (each entry in the tuple is a string).

listRecords(metadataPrefix, set=None, from_=None, until=None)

Get a list of header, metadata and about information on records.

Parameters:
  • metadataPrefix (string) – identifies metadata set to retrieve
  • set (string) – set identifier; only return records in set
  • from (datetime) – only retrieve records from from_ date forward (in naive UTC)
  • until (datetime) – only retrieve records with dates up to and including until date (in naive UTC)
Raises:
  • oaipmh.error.CannotDisseminateFormatError – if metadataPrefix is not supported by the repository.
  • oaipmh.error.NoSetHierarchyError – if the repository does not support sets.
Returns:

an iterable of header, metadata, about tuples.

listSets()

Get a list of sets in the repository.

Raises:error.NoSetHierarchyError – if the repository does not support sets.
Returns:an iterable of setSpec, setName tuples (strings).
writeMetadata(element, metadata)

Create XML elements under the given element, using the provided metadata.

Should avoid doing any model-lookups, as they should be done when creating the metadata.

Parameters:
  • element (lxml.etree.Element) – element to put all content under (as SubElements)
  • metadata (oaipmh.common.Metadata) – metadata to turn into XML
Raises:

NotImplementedError – not implemented

tardis.apps.oaipmh.provider.experiment module

class tardis.apps.oaipmh.provider.experiment.AbstractExperimentProvider(site)

Bases: tardis.apps.oaipmh.provider.base.BaseProvider

NS_CC = 'http://www.tardis.edu.au/schemas/creative_commons/2011/05/17'
getRecord(metadataPrefix, identifier)

Return record if we handle it.

static get_id(obj)
listIdentifiers(metadataPrefix, set=None, from_=None, until=None)

Return identifiers in range, provided we handle this metadata prefix.

listRecords(metadataPrefix, set=None, from_=None, until=None)

Return records in range, provided we handle this metadata prefix.

listSets()

No support for sets.

class tardis.apps.oaipmh.provider.experiment.DcExperimentProvider(site)

Bases: tardis.apps.oaipmh.provider.experiment.AbstractExperimentProvider

listMetadataFormats(identifier=None)

Return metadata format if no identifier, or identifier is a valid experiment.

class tardis.apps.oaipmh.provider.experiment.RifCsExperimentProvider(site)

Bases: tardis.apps.oaipmh.provider.experiment.AbstractExperimentProvider

class ExperimentWriter(root, metadata, site)

Bases: object

write()
writeRegistryObjectsWrapper()
writeRelatedAuthor(element, obj, relation)
writeRelatedInfo(element, obj)
writeRelatedUser(element, obj, relation)
writeSubject(element, obj)
static get_rifcs_id(id_, site_=None)
listMetadataFormats(identifier=None)

Return metadata format if no identifier, or identifier is a valid experiment.

static writeExperimentMetadata(element, metadata, site=None, writer=None)

Wrapper around experiment writer.

static writeUserMetadata(element, metadata, site=None)

Module contents