Records

Data model package.

Models

Helper models for Zenodo data model.

class zenodo.modules.records.models.AccessRight[source]

Class defining access right status.

CLOSED = u'closed'
EMBARGOED = u'embargoed'
OPEN = u'open'
RESTRICTED = u'restricted'
classmethod as_category(value, **kwargs)[source]

Get title for a specific status.

classmethod as_description(value, embargo_date=None)[source]

Get description for a specific status.

classmethod as_icon(value)[source]

Get icon for a specific status.

classmethod as_options()[source]

Return list of access rights as options.

classmethod as_title(value)[source]

Get title for a specific status.

classmethod get(value, embargo_date=None)[source]

Get access right.

classmethod get_expired_embargos()[source]

Get records for which the embargo period have expired.

static is_embargoed(embargo_date)[source]

Test if date is still under embargo.

classmethod is_valid(value)[source]

Test if access right is valid.

class zenodo.modules.records.models.ObjectType[source]

Class to load object types data.

classmethod get(value)[source]

Get object type value.

classmethod get_by_dict(value)[source]

Get object type dict with type and subtype key.

classmethod get_openaire_subtype(value)[source]

Get the OpenAIRE community-specific subtype.

OpenAIRE community-specific subtype requires that the record is accepted to the relevant community.

Parameters:value (dict) – Full ‘metadata’ dictionary. Higher level metadata is required since we are fetching both ‘resource_type’ and ‘communities’.
Returns:Subtype in the form “openaire:<OA-comm-ID>:<OA-subtype-ID>” or None.
Return type:str
classmethod get_subtypes(type_)[source]

Get object type value.

classmethod get_types()[source]

Get object type value.

index_id = {u'https://zenodo.org/objecttypes/image/diagram': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0025', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/image'}, u'internal_id': u'image-diagram', u'title': {u'en': u'Diagram'}, u'datacite': {u'type': u'Diagram', u'general': u'Image'}, u'csl': u'figure', u'title_plural': {u'en': u'Diagrams'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ImageObject', u'id': u'https://zenodo.org/objecttypes/image/diagram#'}, u'https://zenodo.org/objecttypes/presentation': {u'eurepo': u'info:eu-repo/semantics/lecture', u'openaire': {u'resourceType': u'0004', u'type': u'publication'}, u'internal_id': u'presentation', u'title': {u'en': u'Presentation'}, u'datacite': {u'type': u'Presentation', u'general': u'Text'}, u'csl': u'speech', u'title_plural': {u'en': u'Presentations'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/PresentationDigitalDocument', u'id': u'https://zenodo.org/objecttypes/presentation#'}, u'https://zenodo.org/objecttypes/publication/milestone': {u'eurepo': u'info:eu-repo/semantics/report', u'openaire': {u'resourceType': u'0035', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-milestone', u'title': {u'en': u'Project milestone'}, u'datacite': {u'type': u'Project milestone', u'general': u'Text'}, u'csl': u'report', u'title_plural': {u'en': u'Project milestone'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/publication/milestone#'}, u'https://zenodo.org/objecttypes/image': {u'eurepo': u'info:eu-repo/semantics/other', u'csl': u'graphic', u'internal_id': u'image', u'title': {u'en': u'Image'}, u'datacite': {u'general': u'Image'}, u'children': [{u'$ref': u'https://zenodo.org/objecttypes/image/figure'}, {u'$ref': u'https://zenodo.org/objecttypes/image/plot'}, {u'$ref': u'https://zenodo.org/objecttypes/image/drawing'}, {u'$ref': u'https://zenodo.org/objecttypes/image/diagram'}, {u'$ref': u'https://zenodo.org/objecttypes/image/photo'}, {u'$ref': u'https://zenodo.org/objecttypes/image/other'}], u'title_plural': {u'en': u'Images'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ImageObject', u'id': u'https://zenodo.org/objecttypes/image#'}, u'https://zenodo.org/objecttypes/publication/conferencepaper': {u'eurepo': u'info:eu-repo/semantics/conferencePaper', u'openaire': {u'resourceType': u'0004', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-conferencepaper', u'title': {u'en': u'Conference paper'}, u'datacite': {u'type': u'Conference paper', u'general': u'Text'}, u'csl': u'paper-conference', u'title_plural': {u'en': u'Conference papers'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication/conferencepaper#'}, u'https://zenodo.org/objecttypes/image/photo': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0025', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/image'}, u'internal_id': u'image-photo', u'title': {u'en': u'Photo'}, u'datacite': {u'type': u'Photo', u'general': u'Image'}, u'csl': u'graphic', u'title_plural': {u'en': u'Photos'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/Photograph', u'id': u'https://zenodo.org/objecttypes/image/photo#'}, u'https://zenodo.org/objecttypes/image/plot': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0025', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/image'}, u'internal_id': u'image-plot', u'title': {u'en': u'Plot'}, u'datacite': {u'type': u'Plot', u'general': u'Image'}, u'csl': u'figure', u'title_plural': {u'en': u'Plots'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ImageObject', u'id': u'https://zenodo.org/objecttypes/image/plot#'}, u'https://zenodo.org/objecttypes/publication/section': {u'eurepo': u'info:eu-repo/semantics/bookPart', u'openaire': {u'resourceType': u'0013', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-section', u'title': {u'en': u'Book section'}, u'datacite': {u'type': u'Book section', u'general': u'Text'}, u'csl': u'chapter', u'title_plural': {u'en': u'Book sections'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication/section#'}, u'https://zenodo.org/objecttypes/image/figure': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0025', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/image#'}, u'internal_id': u'image-figure', u'title': {u'en': u'Figure'}, u'datacite': {u'type': u'Figure', u'general': u'Image'}, u'csl': u'figure', u'title_plural': {u'en': u'Figures'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ImageObject', u'id': u'https://zenodo.org/objecttypes/image/figure#'}, u'https://zenodo.org/objecttypes/publication/preprint': {u'eurepo': u'info:eu-repo/semantics/preprint', u'openaire': {u'resourceType': u'0016', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-preprint', u'title': {u'en': u'Preprint'}, u'datacite': {u'type': u'Preprint', u'general': u'Text'}, u'csl': u'article', u'title_plural': {u'en': u'Preprints'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication/preprint#'}, u'https://zenodo.org/objecttypes/publication/proposal': {u'eurepo': u'info:eu-repo/semantics/researchProposal', u'openaire': {u'resourceType': u'0036', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-proposal', u'title': {u'en': u'Proposal'}, u'datacite': {u'type': u'Proposal', u'general': u'Text'}, u'csl': u'article', u'title_plural': {u'en': u'Proposals'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/publication/proposal#'}, u'https://zenodo.org/objecttypes/vide': {u'eurepo': u'info:eu-repo/semantics/other', u'csl': u'motion_picture', u'internal_id': u'video', u'title': {u'en': u'Video/Audio'}, u'datacite': {u'general': u'Audiovisual'}, u'title_plural': {u'en': u'Videos/Audio'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/MediaObject', u'id': u'https://zenodo.org/objecttypes/video'}, u'https://zenodo.org/objecttypes/poster': {u'eurepo': u'info:eu-repo/semantics/conferencePoster', u'openaire': {u'resourceType': u'0004', u'type': u'publication'}, u'internal_id': u'poster', u'title': {u'en': u'Poster'}, u'datacite': {u'type': u'Poster', u'general': u'Text'}, u'csl': u'graphic', u'title_plural': {u'en': u'Posters'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/poster#'}, u'https://zenodo.org/objecttypes/other': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0020', u'type': u'publication'}, u'internal_id': u'other', u'title': {u'en': u'Other'}, u'datacite': {u'general': u'Other'}, u'csl': u'article', u'title_plural': {u'en': u'Other'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/other#'}, u'https://zenodo.org/objecttypes/image/drawing': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0025', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/image'}, u'internal_id': u'image-drawing', u'title': {u'en': u'Drawing'}, u'datacite': {u'type': u'Drawing', u'general': u'Image'}, u'csl': u'graphic', u'title_plural': {u'en': u'Drawings'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ImageObject', u'id': u'https://zenodo.org/objecttypes/image/drawing#'}, u'https://zenodo.org/objecttypes/lesson': {u'eurepo': u'info:eu-repo/semantics/lecture', u'openaire': {u'resourceType': u'0010', u'type': u'publication'}, u'internal_id': u'lesson', u'title': {u'en': u'Lesson'}, u'datacite': {u'general': u'InteractiveResource'}, u'csl': u'speech', u'title_plural': {u'en': u'Lessons'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/lesson#'}, u'https://zenodo.org/objecttypes/publication/technicalnote': {u'eurepo': u'info:eu-repo/semantics/technicalDocumentation', u'openaire': {u'resourceType': u'0009', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-technicalnote', u'title': {u'en': u'Technical note'}, u'datacite': {u'type': u'Technical note', u'general': u'Text'}, u'csl': u'article', u'title_plural': {u'en': u'Technical notes'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication/technicalnote#'}, u'https://zenodo.org/objecttypes/publication/book': {u'eurepo': u'info:eu-repo/semantics/book', u'openaire': {u'resourceType': u'0002', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-book', u'title': {u'en': u'Book'}, u'datacite': {u'type': u'Book', u'general': u'Text'}, u'csl': u'book', u'title_plural': {u'en': u'Books'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/Book', u'id': u'https://zenodo.org/objecttypes/publication/book#'}, u'https://zenodo.org/objecttypes/publication': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0001', u'type': u'publication'}, u'internal_id': u'publication', u'title': {u'en': u'Publication'}, u'datacite': {u'general': u'Text'}, u'children': [{u'$ref': u'https://zenodo.org/objecttypes/publication/book'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/section'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/conferencepaper'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/article'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/patent'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/preprint'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/report'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/softwaredocumentation'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/thesis'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/technicalnote'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/workingpaper'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/other'}], u'csl': u'article', u'title_plural': {u'en': u'Publications'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication#'}, u'https://zenodo.org/objecttypes/image/other': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0025', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/image'}, u'internal_id': u'image-other', u'title': {u'en': u'Other'}, u'datacite': {u'type': u'Other', u'general': u'Image'}, u'csl': u'graphic', u'title_plural': {u'en': u'Other'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ImageObject', u'id': u'https://zenodo.org/objecttypes/image/other#'}, u'https://zenodo.org/objecttypes/publication/other': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0020', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-other', u'title': {u'en': u'Other'}, u'datacite': {u'type': u'Other', u'general': u'Text'}, u'csl': u'article', u'title_plural': {u'en': u'Other'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/publication/other#'}, u'https://zenodo.org/objecttypes/publication/report': {u'eurepo': u'info:eu-repo/semantics/report', u'openaire': {u'resourceType': u'0017', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-report', u'title': {u'en': u'Report'}, u'datacite': {u'type': u'Report', u'general': u'Text'}, u'csl': u'article', u'title_plural': {u'en': u'Reports'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication/report#'}, u'https://zenodo.org/objecttypes/software': {u'eurepo': u'info:eu-repo/semantics/other', u'csl': u'article', u'internal_id': u'software', u'title': {u'en': u'Software'}, u'datacite': {u'general': u'Software'}, u'title_plural': {u'en': u'Software'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/SoftwareSourceCode', u'id': u'https://zenodo.org/objecttypes/software#'}, u'https://zenodo.org/objecttypes/publication/softwaredocumentation': {u'eurepo': u'info:eu-repo/semantics/technicalDocumentation', u'openaire': {u'resourceType': u'0009', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-softwaredocumentation', u'title': {u'en': u'Software documentation'}, u'datacite': {u'type': u'Software documentation', u'general': u'Text'}, u'csl': u'article', u'title_plural': {u'en': u'Software documentation'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/publication/softwaredocumentation#'}, u'https://zenodo.org/objecttypes/publication/patent': {u'eurepo': u'info:eu-repo/semantics/patent', u'openaire': {u'resourceType': u'0019', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-patent', u'title': {u'en': u'Patent'}, u'datacite': {u'type': u'Patent', u'general': u'Text'}, u'csl': u'patent', u'title_plural': {u'en': u'Patents'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/publication/patent#'}, u'https://zenodo.org/objecttypes/publication/article': {u'eurepo': u'info:eu-repo/semantics/article', u'openaire': {u'resourceType': u'0001', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-article', u'title': {u'en': u'Journal article'}, u'datacite': {u'type': u'Journal article', u'general': u'Text'}, u'csl': u'article-journal', u'title_plural': {u'en': u'Journal articles'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication/article#'}, u'https://zenodo.org/objecttypes/publication/thesis': {u'eurepo': u'info:eu-repo/semantics/doctoralThesis', u'openaire': {u'resourceType': u'0006', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-thesis', u'title': {u'en': u'Thesis'}, u'datacite': {u'type': u'Thesis', u'general': u'Text'}, u'csl': u'thesis', u'title_plural': {u'en': u'Theses'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication/thesis#'}, u'https://zenodo.org/objecttypes/publication/deliverable': {u'eurepo': u'info:eu-repo/semantics/report', u'openaire': {u'resourceType': u'0034', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-deliverable', u'title': {u'en': u'Project deliverable'}, u'datacite': {u'type': u'Project deliverable', u'general': u'Text'}, u'csl': u'report', u'title_plural': {u'en': u'Project deliverable'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/publication/deliverable#'}, u'https://zenodo.org/objecttypes/dataset': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0021', u'type': u'dataset'}, u'internal_id': u'dataset', u'title': {u'en': u'Dataset'}, u'datacite': {u'general': u'Dataset'}, u'csl': u'dataset', u'title_plural': {u'en': u'Datasets'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/Dataset', u'id': u'https://zenodo.org/objecttypes/dataset#'}, u'https://zenodo.org/objecttypes/publication/workingpaper': {u'eurepo': u'info:eu-repo/semantics/workingPaper', u'openaire': {u'resourceType': u'0014', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-workingpaper', u'title': {u'en': u'Working paper'}, u'datacite': {u'type': u'Working paper', u'general': u'Text'}, u'csl': u'article', u'title_plural': {u'en': u'Working papers'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication/workingpaper#'}}
index_internal_id = {u'publication-proposal': {u'eurepo': u'info:eu-repo/semantics/researchProposal', u'openaire': {u'resourceType': u'0036', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-proposal', u'title': {u'en': u'Proposal'}, u'datacite': {u'type': u'Proposal', u'general': u'Text'}, u'csl': u'article', u'title_plural': {u'en': u'Proposals'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/publication/proposal#'}, u'publication-book': {u'eurepo': u'info:eu-repo/semantics/book', u'openaire': {u'resourceType': u'0002', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-book', u'title': {u'en': u'Book'}, u'datacite': {u'type': u'Book', u'general': u'Text'}, u'csl': u'book', u'title_plural': {u'en': u'Books'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/Book', u'id': u'https://zenodo.org/objecttypes/publication/book#'}, u'image': {u'eurepo': u'info:eu-repo/semantics/other', u'csl': u'graphic', u'internal_id': u'image', u'title': {u'en': u'Image'}, u'datacite': {u'general': u'Image'}, u'children': [{u'$ref': u'https://zenodo.org/objecttypes/image/figure'}, {u'$ref': u'https://zenodo.org/objecttypes/image/plot'}, {u'$ref': u'https://zenodo.org/objecttypes/image/drawing'}, {u'$ref': u'https://zenodo.org/objecttypes/image/diagram'}, {u'$ref': u'https://zenodo.org/objecttypes/image/photo'}, {u'$ref': u'https://zenodo.org/objecttypes/image/other'}], u'title_plural': {u'en': u'Images'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ImageObject', u'id': u'https://zenodo.org/objecttypes/image#'}, u'dataset': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0021', u'type': u'dataset'}, u'internal_id': u'dataset', u'title': {u'en': u'Dataset'}, u'datacite': {u'general': u'Dataset'}, u'csl': u'dataset', u'title_plural': {u'en': u'Datasets'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/Dataset', u'id': u'https://zenodo.org/objecttypes/dataset#'}, u'publication-deliverable': {u'eurepo': u'info:eu-repo/semantics/report', u'openaire': {u'resourceType': u'0034', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-deliverable', u'title': {u'en': u'Project deliverable'}, u'datacite': {u'type': u'Project deliverable', u'general': u'Text'}, u'csl': u'report', u'title_plural': {u'en': u'Project deliverable'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/publication/deliverable#'}, u'video': {u'eurepo': u'info:eu-repo/semantics/other', u'csl': u'motion_picture', u'internal_id': u'video', u'title': {u'en': u'Video/Audio'}, u'datacite': {u'general': u'Audiovisual'}, u'title_plural': {u'en': u'Videos/Audio'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/MediaObject', u'id': u'https://zenodo.org/objecttypes/video'}, u'lesson': {u'eurepo': u'info:eu-repo/semantics/lecture', u'openaire': {u'resourceType': u'0010', u'type': u'publication'}, u'internal_id': u'lesson', u'title': {u'en': u'Lesson'}, u'datacite': {u'general': u'InteractiveResource'}, u'csl': u'speech', u'title_plural': {u'en': u'Lessons'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/lesson#'}, u'image-diagram': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0025', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/image'}, u'internal_id': u'image-diagram', u'title': {u'en': u'Diagram'}, u'datacite': {u'type': u'Diagram', u'general': u'Image'}, u'csl': u'figure', u'title_plural': {u'en': u'Diagrams'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ImageObject', u'id': u'https://zenodo.org/objecttypes/image/diagram#'}, u'publication-conferencepaper': {u'eurepo': u'info:eu-repo/semantics/conferencePaper', u'openaire': {u'resourceType': u'0004', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-conferencepaper', u'title': {u'en': u'Conference paper'}, u'datacite': {u'type': u'Conference paper', u'general': u'Text'}, u'csl': u'paper-conference', u'title_plural': {u'en': u'Conference papers'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication/conferencepaper#'}, u'publication': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0001', u'type': u'publication'}, u'internal_id': u'publication', u'title': {u'en': u'Publication'}, u'datacite': {u'general': u'Text'}, u'children': [{u'$ref': u'https://zenodo.org/objecttypes/publication/book'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/section'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/conferencepaper'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/article'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/patent'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/preprint'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/report'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/softwaredocumentation'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/thesis'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/technicalnote'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/workingpaper'}, {u'$ref': u'https://zenodo.org/objecttypes/publication/other'}], u'csl': u'article', u'title_plural': {u'en': u'Publications'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication#'}, u'image-photo': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0025', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/image'}, u'internal_id': u'image-photo', u'title': {u'en': u'Photo'}, u'datacite': {u'type': u'Photo', u'general': u'Image'}, u'csl': u'graphic', u'title_plural': {u'en': u'Photos'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/Photograph', u'id': u'https://zenodo.org/objecttypes/image/photo#'}, u'other': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0020', u'type': u'publication'}, u'internal_id': u'other', u'title': {u'en': u'Other'}, u'datacite': {u'general': u'Other'}, u'csl': u'article', u'title_plural': {u'en': u'Other'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/other#'}, u'image-drawing': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0025', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/image'}, u'internal_id': u'image-drawing', u'title': {u'en': u'Drawing'}, u'datacite': {u'type': u'Drawing', u'general': u'Image'}, u'csl': u'graphic', u'title_plural': {u'en': u'Drawings'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ImageObject', u'id': u'https://zenodo.org/objecttypes/image/drawing#'}, u'presentation': {u'eurepo': u'info:eu-repo/semantics/lecture', u'openaire': {u'resourceType': u'0004', u'type': u'publication'}, u'internal_id': u'presentation', u'title': {u'en': u'Presentation'}, u'datacite': {u'type': u'Presentation', u'general': u'Text'}, u'csl': u'speech', u'title_plural': {u'en': u'Presentations'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/PresentationDigitalDocument', u'id': u'https://zenodo.org/objecttypes/presentation#'}, u'publication-patent': {u'eurepo': u'info:eu-repo/semantics/patent', u'openaire': {u'resourceType': u'0019', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-patent', u'title': {u'en': u'Patent'}, u'datacite': {u'type': u'Patent', u'general': u'Text'}, u'csl': u'patent', u'title_plural': {u'en': u'Patents'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/publication/patent#'}, u'publication-other': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0020', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-other', u'title': {u'en': u'Other'}, u'datacite': {u'type': u'Other', u'general': u'Text'}, u'csl': u'article', u'title_plural': {u'en': u'Other'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/publication/other#'}, u'publication-section': {u'eurepo': u'info:eu-repo/semantics/bookPart', u'openaire': {u'resourceType': u'0013', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-section', u'title': {u'en': u'Book section'}, u'datacite': {u'type': u'Book section', u'general': u'Text'}, u'csl': u'chapter', u'title_plural': {u'en': u'Book sections'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication/section#'}, u'poster': {u'eurepo': u'info:eu-repo/semantics/conferencePoster', u'openaire': {u'resourceType': u'0004', u'type': u'publication'}, u'internal_id': u'poster', u'title': {u'en': u'Poster'}, u'datacite': {u'type': u'Poster', u'general': u'Text'}, u'csl': u'graphic', u'title_plural': {u'en': u'Posters'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/poster#'}, u'publication-milestone': {u'eurepo': u'info:eu-repo/semantics/report', u'openaire': {u'resourceType': u'0035', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-milestone', u'title': {u'en': u'Project milestone'}, u'datacite': {u'type': u'Project milestone', u'general': u'Text'}, u'csl': u'report', u'title_plural': {u'en': u'Project milestone'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/publication/milestone#'}, u'image-figure': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0025', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/image#'}, u'internal_id': u'image-figure', u'title': {u'en': u'Figure'}, u'datacite': {u'type': u'Figure', u'general': u'Image'}, u'csl': u'figure', u'title_plural': {u'en': u'Figures'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ImageObject', u'id': u'https://zenodo.org/objecttypes/image/figure#'}, u'publication-technicalnote': {u'eurepo': u'info:eu-repo/semantics/technicalDocumentation', u'openaire': {u'resourceType': u'0009', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-technicalnote', u'title': {u'en': u'Technical note'}, u'datacite': {u'type': u'Technical note', u'general': u'Text'}, u'csl': u'article', u'title_plural': {u'en': u'Technical notes'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication/technicalnote#'}, u'publication-softwaredocumentation': {u'eurepo': u'info:eu-repo/semantics/technicalDocumentation', u'openaire': {u'resourceType': u'0009', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-softwaredocumentation', u'title': {u'en': u'Software documentation'}, u'datacite': {u'type': u'Software documentation', u'general': u'Text'}, u'csl': u'article', u'title_plural': {u'en': u'Software documentation'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/CreativeWork', u'id': u'https://zenodo.org/objecttypes/publication/softwaredocumentation#'}, u'image-other': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0025', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/image'}, u'internal_id': u'image-other', u'title': {u'en': u'Other'}, u'datacite': {u'type': u'Other', u'general': u'Image'}, u'csl': u'graphic', u'title_plural': {u'en': u'Other'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ImageObject', u'id': u'https://zenodo.org/objecttypes/image/other#'}, u'software': {u'eurepo': u'info:eu-repo/semantics/other', u'csl': u'article', u'internal_id': u'software', u'title': {u'en': u'Software'}, u'datacite': {u'general': u'Software'}, u'title_plural': {u'en': u'Software'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/SoftwareSourceCode', u'id': u'https://zenodo.org/objecttypes/software#'}, u'image-plot': {u'eurepo': u'info:eu-repo/semantics/other', u'openaire': {u'resourceType': u'0025', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/image'}, u'internal_id': u'image-plot', u'title': {u'en': u'Plot'}, u'datacite': {u'type': u'Plot', u'general': u'Image'}, u'csl': u'figure', u'title_plural': {u'en': u'Plots'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ImageObject', u'id': u'https://zenodo.org/objecttypes/image/plot#'}, u'publication-article': {u'eurepo': u'info:eu-repo/semantics/article', u'openaire': {u'resourceType': u'0001', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-article', u'title': {u'en': u'Journal article'}, u'datacite': {u'type': u'Journal article', u'general': u'Text'}, u'csl': u'article-journal', u'title_plural': {u'en': u'Journal articles'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication/article#'}, u'publication-workingpaper': {u'eurepo': u'info:eu-repo/semantics/workingPaper', u'openaire': {u'resourceType': u'0014', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-workingpaper', u'title': {u'en': u'Working paper'}, u'datacite': {u'type': u'Working paper', u'general': u'Text'}, u'csl': u'article', u'title_plural': {u'en': u'Working papers'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication/workingpaper#'}, u'publication-report': {u'eurepo': u'info:eu-repo/semantics/report', u'openaire': {u'resourceType': u'0017', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-report', u'title': {u'en': u'Report'}, u'datacite': {u'type': u'Report', u'general': u'Text'}, u'csl': u'article', u'title_plural': {u'en': u'Reports'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication/report#'}, u'publication-thesis': {u'eurepo': u'info:eu-repo/semantics/doctoralThesis', u'openaire': {u'resourceType': u'0006', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-thesis', u'title': {u'en': u'Thesis'}, u'datacite': {u'type': u'Thesis', u'general': u'Text'}, u'csl': u'thesis', u'title_plural': {u'en': u'Theses'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication/thesis#'}, u'publication-preprint': {u'eurepo': u'info:eu-repo/semantics/preprint', u'openaire': {u'resourceType': u'0016', u'type': u'publication'}, u'parent': {u'$ref': u'https://zenodo.org/objecttypes/publication'}, u'internal_id': u'publication-preprint', u'title': {u'en': u'Preprint'}, u'datacite': {u'type': u'Preprint', u'general': u'Text'}, u'csl': u'article', u'title_plural': {u'en': u'Preprints'}, u'$schema': u'https://zenodo.org/schemas/records/objecttype-v1.0.0.json', u'schema.org': u'https://schema.org/ScholarlyArticle', u'id': u'https://zenodo.org/objecttypes/publication/preprint#'}}
subtypes = {u'image': set([u'plot', u'figure', u'photo', u'diagram', u'other', u'drawing']), u'publication': set([u'preprint', u'patent', u'section', u'milestone', u'technicalnote', u'softwaredocumentation', u'deliverable', u'book', u'thesis', u'workingpaper', u'report', u'article', u'proposal', u'other', u'conferencepaper'])}
types = set([u'publication', u'poster', u'image', u'dataset', u'other', u'video', u'lesson', u'presentation', u'software'])

Serializers

Record serialization.

zenodo.modules.records.serializers.bibtex_v1 = <zenodo.modules.records.serializers.bibtex.BibTeXSerializer object>

BibTeX serializer version 1.0.0

zenodo.modules.records.serializers.bibtex_v1_response(pid, record, code=200, headers=None, links_factory=None)

BibTeX record serializer for individual records.

BibTeX serializer for search records.

zenodo.modules.records.serializers.citeproc_v1 = <invenio_records_rest.serializers.citeproc.CiteprocSerializer object>

CSL Citation Formatter serializer

zenodo.modules.records.serializers.citeproc_v1_response(pid, record, code=200, headers=None, links_factory=None)

CSL Citation Formatter serializer for individual records.

zenodo.modules.records.serializers.csl_v1 = <zenodo.modules.records.serializers.json.ZenodoJSONSerializer object>

CSL-JSON serializer

zenodo.modules.records.serializers.csl_v1_response(pid, record, code=200, headers=None, links_factory=None)

CSL-JSON record serializer for individual records.

zenodo.modules.records.serializers.datacite_v31 = <zenodo.modules.records.serializers.datacite.ZenodoDataCite31Serializer object>

DataCite serializer

zenodo.modules.records.serializers.datacite_v31_response(pid, record, code=200, headers=None, links_factory=None)

DataCite v3.1 record serializer for individual records.

DataCite v3.1 record serializer for search records.

zenodo.modules.records.serializers.datacite_v41_response(pid, record, code=200, headers=None, links_factory=None)

DataCite v4.1 record serializer for individual records.

zenodo.modules.records.serializers.dc_v1 = <zenodo.modules.records.serializers.dc.ZenodoDublinCoreSerializer object>

Dublin Core serializer

zenodo.modules.records.serializers.dc_v1_response(pid, record, code=200, headers=None, links_factory=None)

DublinCore record serializer for individual records.

DublinCore record serializer for search records.

zenodo.modules.records.serializers.deposit_formjson_v1 = <zenodo.modules.records.serializers.legacyjson.LegacyJSONSerializer object>

Deposit form JSON serialzier version 1.0.0

zenodo.modules.records.serializers.deposit_json_v1 = <zenodo.modules.records.serializers.json.ZenodoJSONSerializer object>

Zenodo Deposit JSON serializer version 1.0.0

zenodo.modules.records.serializers.deposit_json_v1_response(pid, record, code=200, headers=None, links_factory=None)

JSON record serializer for individual records.

JSON record serializer for search results.

zenodo.modules.records.serializers.deposit_legacyjson_v1 = <zenodo.modules.records.serializers.legacyjson.DepositLegacyJSONSerializer object>

Zenodo legacy deposit JSON serialzier version 1.0.0

zenodo.modules.records.serializers.deposit_legacyjson_v1_files_response(obj=None, pid=None, record=None, status=None)

JSON files legacy serializer for deposit files.

zenodo.modules.records.serializers.deposit_legacyjson_v1_response(pid, record, code=200, headers=None, links_factory=None)

JSON record legacy serializer for individual deposits.

JSON record legacy serializer for deposit search results.

zenodo.modules.records.serializers.githubjson_v1 = <zenodo.modules.records.serializers.legacyjson.LegacyJSONSerializer object>

Zenodo legacy deposit JSON serialzier version 1.0.0

zenodo.modules.records.serializers.json_v1 = <zenodo.modules.records.serializers.json.ZenodoJSONSerializer object>

Zenodo JSON serializer version 1.0.0

zenodo.modules.records.serializers.json_v1_response(pid, record, code=200, headers=None, links_factory=None)

JSON record serializer for individual records.

JSON record serializer for search results.

zenodo.modules.records.serializers.legacyjson_v1 = <zenodo.modules.records.serializers.legacyjson.LegacyJSONSerializer object>

Zenodo legacy deposit JSON serialzier version 1.0.0

zenodo.modules.records.serializers.legacyjson_v1_response(pid, record, code=200, headers=None, links_factory=None)

JSON record legacy serializer for individual records.

JSON record legacy serializer for search results.

zenodo.modules.records.serializers.marcxml_v1 = <zenodo.modules.records.serializers.marc21.ZenodoMARCXMLSerializer object>

MARCXML serializer version 1.0.0

zenodo.modules.records.serializers.marcxml_v1_response(pid, record, code=200, headers=None, links_factory=None)

MARCXML record serializer for individual records.

MARCXML record serializer for search records.

zenodo.modules.records.serializers.oai_datacite = <invenio_records_rest.serializers.datacite.OAIDataCiteSerializer object>

OAI DataCite serializer

zenodo.modules.records.serializers.oaipmh_datacite_v31 = <bound method ZenodoDataCite31Serializer.serialize_oaipmh of <zenodo.modules.records.serializers.datacite.ZenodoDataCite31Serializer object>>

OAI-PMH DataCite record serializer.

zenodo.modules.records.serializers.oaipmh_datacite_v41 = <bound method ZenodoDataCite41Serializer.serialize_oaipmh of <zenodo.modules.records.serializers.datacite.ZenodoDataCite41Serializer object>>

OAI-PMH DataCite record serializer.

zenodo.modules.records.serializers.oaipmh_marc21_v1 = <bound method ZenodoMARCXMLSerializer.serialize_oaipmh of <zenodo.modules.records.serializers.marc21.ZenodoMARCXMLSerializer object>>

OAI-PMH MARC21 record serializer.

zenodo.modules.records.serializers.oaipmh_oai_datacite = <bound method OAIDataCiteSerializer.serialize_oaipmh of <invenio_records_rest.serializers.datacite.OAIDataCiteSerializer object>>

OAI-PMH OAI DataCite record serializer.

zenodo.modules.records.serializers.oaipmh_oai_dc = <bound method ZenodoDublinCoreSerializer.serialize_oaipmh of <zenodo.modules.records.serializers.dc.ZenodoDublinCoreSerializer object>>

OAI-PMH OAI Dublin Core record serializer.

zenodo.modules.records.serializers.openaire_json_v1 = <zenodo.modules.records.serializers.json.ZenodoJSONSerializer object>

OpenAIRE JSON serializer

zenodo.modules.records.serializers.openaire_json_v1_response(pid, record, code=200, headers=None, links_factory=None)

OpenAIRE JSON serializer for individual records.

zenodo.modules.records.serializers.schemaorg_jsonld_v1 = <zenodo.modules.records.serializers.schemaorg.ZenodoSchemaOrgSerializer object>

JSON-LD serializer

Fetchers and minters

Persistent identifier minters.

zenodo.modules.records.minters.doi_generator(recid, prefix=None)[source]

Generate a DOI.

zenodo.modules.records.minters.is_local_doi(doi)[source]

Check if DOI is a locally managed DOI.

zenodo.modules.records.minters.zenodo_concept_doi_minter(record_uuid, data)[source]

Mint Concept DOI.

Note

Only Zenodo DOIs are allowed to have a Concept DOI and in general have versioning applied.

zenodo.modules.records.minters.zenodo_doi_minter(record_uuid, data)[source]

Mint DOI.

zenodo.modules.records.minters.zenodo_doi_updater(record_uuid, data)[source]

Update the DOI (only external DOIs).

zenodo.modules.records.minters.zenodo_record_minter(record_uuid, data)[source]

Zenodo record minter.

Mint, or register if previously minted, the Concept RECID and RECID. Mint the Concept DOI and DOI.

PID Fetchers.

zenodo.modules.records.fetchers.zenodo_doi_fetcher(dummy_record_uuid, data)[source]

Fetch a record’s DOI.

zenodo.modules.records.fetchers.zenodo_record_fetcher(dummy_record_uuid, data)[source]

Fetch a record’s identifiers.

Indexing

Record modification prior to indexing.

zenodo.modules.records.indexer.indexer_receiver(sender, json=None, record=None, index=None, **dummy_kwargs)[source]

Connect to before_record_index signal to transform record for ES.

Permissions

Access controls for files on Zenodo.

class zenodo.modules.records.permissions.DepositFilesPermission(record, func)[source]

Permission for files in deposit records (read and update access).

Read and update access given to owners and administrators.

can()[source]

Determine access.

classmethod create(record, action)[source]

Record and instance.

update_actions = ['bucket-read', 'bucket-read-versions', 'bucket-update', 'bucket-listmultiparts', 'object-read', 'object-read-version', 'object-delete', 'object-delete-version', 'multipart-read', 'multipart-delete']
class zenodo.modules.records.permissions.DepositPermission(record, func, user)[source]

Deposit permission.

  • Read action given to record owners.
  • Delete action given to record owners (still subject to being unpublished)
classmethod create(record, action, user=None)[source]

Create a deposit permission.

class zenodo.modules.records.permissions.PublicBucketPermission(action)[source]

Permission for files in public buckets.

Everyone are allowed to read. Admin can do everything.

can()[source]

Check permission.

class zenodo.modules.records.permissions.RecordFilesPermission(record, func)[source]

Permission for files in published records (read only access).

Read access (list and download) granted to:

  1. Everyone if record is open access.
  2. Owners, token bearers and administrators if embargoed, restricted or closed access

Read version access granted to:

  1. Administrators only.
admin_actions = ['bucket-read', 'bucket-read-versions', 'object-read', 'object-read-version']
classmethod create(record, action)[source]

Create a record files permission.

read_actions = ['bucket-read', 'object-read']
class zenodo.modules.records.permissions.RecordPermission(record, func, user)[source]

Record permission.

  • Create action given to any authenticated user.
  • Read access given to everyone.
  • Update access given to record owners.
  • Delete access given to admins only.
can()[source]

Determine access.

classmethod create(record, action, user=None)[source]

Create a record permission.

create_actions = ['create']
delete_actions = ['delete']
newversion_actions = ['newversion', 'registerconceptdoi']
protected_actions = ['newversion', 'registerconceptdoi']
read_actions = ['read']
read_files_actions = ['read-files']
update_actions = ['update']
zenodo.modules.records.permissions.allow(user, record)[source]

Allow access.

zenodo.modules.records.permissions.deny(user, record)[source]

Deny access.

zenodo.modules.records.permissions.deposit_delete_permission_factory(record=None)[source]

Record permission factory.

zenodo.modules.records.permissions.deposit_read_permission_factory(record=None)[source]

Record permission factory.

zenodo.modules.records.permissions.deposit_update_permission_factory(record=None)[source]

Deposit update permission factory.

Since Deposit API “actions” (eg. publish, discard, etc) are considered part of the “update” action, request context (if present) has to be used in order to figure out if this is an actual “update” or API action.

zenodo.modules.records.permissions.files_permission_factory(obj, action=None)[source]

Permission for files are always based on the type of bucket.

  1. Community bucket: Read access for everyone
  2. Record bucket: Read access only with open and restricted access.
  3. Deposit bucket: Read/update with restricted access.
  4. Any other bucket is restricted to admins only.
zenodo.modules.records.permissions.get_public_bucket_uuids()[source]

Return a list of UUIDs (strings) with publicly accessible buckets.

zenodo.modules.records.permissions.has_admin_permission(user, record)[source]

Check if user has admin access to record.

zenodo.modules.records.permissions.has_newversion_permission(user, record)[source]

Check if the user has permission to create a newversion for a record.

zenodo.modules.records.permissions.has_read_files_permission(user, record)[source]

Check if user has read access to the record.

zenodo.modules.records.permissions.has_update_permission(user, record)[source]

Check if user has update access to the record.

zenodo.modules.records.permissions.record_create_permission_factory(record=None)[source]

Create permission factory.

zenodo.modules.records.permissions.record_delete_permission_factory(record=None)[source]

Delete permission factory.

zenodo.modules.records.permissions.record_permission_factory(record=None, action=None)[source]

Record permission factory.

zenodo.modules.records.permissions.record_read_files_permission_factory(record=None)[source]

Read permission factory.

zenodo.modules.records.permissions.record_read_permission_factory(record=None)[source]

Read permission factory.

zenodo.modules.records.permissions.record_update_permission_factory(record=None)[source]

Update permission factory.

Tasks

Celery background tasks.

Views

Blueprint for Zenodo-Records.

zenodo.modules.records.views.accessright_category(value, embargo_date=None, **kwargs)[source]

Get category for access right.

zenodo.modules.records.views.accessright_description(value, embargo_date=None)[source]

Get a description for access right.

zenodo.modules.records.views.accessright_get(value, embargo_date=None)[source]

Get access right.

Better than comparing record.access_right directly as access_right may have not yet been updated after the embargo_date has passed.

zenodo.modules.records.views.accessright_icon(value, embargo_date=None)[source]

Get icon for access right.

zenodo.modules.records.views.accessright_title(value, embargo_date=None)[source]

Get category for access right.

zenodo.modules.records.views.citation(record, pid, style=None, ln=None)[source]

Render citation for record according to style and language.

zenodo.modules.records.views.community_curation(record, user)[source]

Generate a list of pending and accepted communities with permissions.

Return a 4-tuple of lists (in order):
  • ‘pending’ communities, which can be curated by given user
  • ‘accepted’ communities, which can be curated by given user
  • All ‘pending’ communities
  • All ‘accepted’ communities
zenodo.modules.records.views.contributortype_title(value)[source]

Get object type.

zenodo.modules.records.views.doi_locally_managed(pid)[source]

Determine if DOI is managed locally.

zenodo.modules.records.views.has_record_perm(user, record, action)[source]

Check if user has a given record permission.

zenodo.modules.records.views.is_embargoed(embargo_date, accessright=None)[source]

Test if date is still embargoed (according to UTC date.

zenodo.modules.records.views.is_valid_accessright(value)[source]

Test if access right is valid.

zenodo.modules.records.views.local_doi(value)[source]

Test if a DOI is a local DOI.

zenodo.modules.records.views.make_query(values)[source]

Get category for access right.

zenodo.modules.records.views.meeting_title(m)[source]

Get meeting title.

zenodo.modules.records.views.objecttype(value)[source]

Get object type.

zenodo.modules.records.views.pid_from_value(pid_value, pid_type=u'recid')[source]

Determine if DOI is managed locally.

zenodo.modules.records.views.pid_url(identifier, scheme=None, url_scheme=u'https')[source]

Convert persistent identifier into a link.

zenodo.modules.records.views.pidstatus_title(pid)[source]

Get access right.

Better than comparing record.access_right directly as access_right may have not yet been updated after the embargo_date has passed.

zenodo.modules.records.views.record_communities()[source]

Context processor for community curation for given record.

zenodo.modules.records.views.record_from_pid(recid)[source]

Get record from PID.

zenodo.modules.records.views.record_stats(record)[source]

Fetch record statistics from Elasticsearch.

zenodo.modules.records.views.records_ui_export(pid, record, template=None, **kwargs)[source]

Record serialization view.

Plug this method into your RECORDS_UI_ENDPOINTS configuration:

RECORDS_UI_ENDPOINTS = dict(
    recid=dict(
        # ...
        route='/records/<pid_value/files/<filename>',
        view_imp='zenodo.modules.records.views.records_ui_export',
    )
)
zenodo.modules.records.views.relation_title(relation)[source]

Map relation type to title.

zenodo.modules.records.views.select_preview_file(files)[source]

Get list of files and select one for preview.

zenodo.modules.records.views.stats_num_format(num)[source]

Format a statistics value.

Get logos for branded communities.

Get logos for related links.

Marshmallow schemas

Record serialization.

class zenodo.modules.records.serializers.schemas.datacite.AlternateIdentifierSchema(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Alternate identifiers schema.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.datacite.ContributorSchema(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Contributor schema.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.datacite.ContributorSchemav4(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Contributor schema.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.datacite.CreatorSchema(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Creator schema.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.datacite.CreatorSchemav4(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Creator schema.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.datacite.DataCiteSchema(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Base class for schemas.

cleanup(data)[source]

Clean the data.

get_dates(obj)[source]

Get dates.

get_descriptions(obj)[source]

Get descriptions.

get_identifier(obj)[source]

Get record main identifier.

get_language(obj)[source]

Export language to the Alpha-2 code (if available).

Related identifiers.

get_rights(obj)[source]

Get rights.

get_subjects(obj)[source]

Get subjects.

get_type(obj)[source]

Resource type.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.datacite.DataCiteSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for records v1 in JSON.

get_contributors(obj)[source]

Get contributors.

Related identifiers.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.datacite.DataCiteSchemaV4(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for records v4 in JSON.

get_contributors(obj)[source]

Get contributors.

get_fundingreferences(obj)[source]

Get funding references.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.datacite.DateSchema(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Date schema.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.datacite.PersonSchema(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Creator/contributor common schema.

get_nameidentifier(obj)[source]

Get name identifier.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.datacite.PersonSchemav4(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Creator/contributor common schema for v4.

get_familyname(obj)[source]

Get family name.

get_givennames(obj)[source]

Get given name.

get_nameidentifiers(obj)[source]

Get name identifier.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.datacite.RelatedIdentifierSchema(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Alternate identifiers schema.

get_type(obj)[source]

Get type.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.datacite.TitleSchema(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Title schema.

opts = <marshmallow.schema.SchemaOpts object>

Record serialization.

class zenodo.modules.records.serializers.schemas.dc.DublinCoreV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for records v1 in JSON.

get_contributors(obj)[source]

Get contributors.

get_creators(obj)[source]

Get creators.

get_dates(obj)[source]

Get dates.

get_descriptions(obj)[source]

Get descriptions.

get_identifiers(obj)[source]

Get identifiers.

get_publishers(obj)[source]

Get publishers.

get_relations(obj)[source]

Get creators.

get_rights(obj)[source]

Get rights.

get_sources(obj)[source]

Get sources.

get_subjects(obj)[source]

Get subjects.

get_types(obj)[source]

Get types.

opts = <marshmallow.schema.SchemaOpts object>

Zenodo JSON schema.

class zenodo.modules.records.serializers.schemas.json.ActionSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for a actions.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.json.CommunitiesSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for communities.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.json.DepositSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Deposit schema.

Same as the Record schema except for some few extra additions.

files = None
opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.json.FilesSchema(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Files metadata schema.

Get links.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.json.FunderSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for a funder.

get_funder_url(obj)[source]

Get grant url.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.json.GrantSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for a grant.

get_grant_url(obj)[source]

Get grant url.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.json.ImprintSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for imprint.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.json.JournalSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for a journal.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.json.LicenseSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for license.

Allows us to later introduce more properties for an owner.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.json.MeetingSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for a meeting.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.json.MetadataSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for a record.

dump_access_right_category(obj)[source]

Get access right category.

dump_relations(obj)[source]

Dump the relations to a dictionary.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.json.OwnerSchema(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for owners.

Allows us to later introduce more properties for an owner.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.json.PartOfSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for imprint.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.json.RecordSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for records v1 in JSON.

dump_stats(obj)[source]

Dump the stats to a dictionary.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.json.ResourceTypeSchema(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Resource type schema.

dump_openaire_type(obj)[source]

Get OpenAIRE subtype.

get_title(obj)[source]

Get title.

opts = <marshmallow.schema.SchemaOpts object>
validate_data(data)[source]

Validate resource type.

class zenodo.modules.records.serializers.schemas.json.StrictKeysSchema(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Ensure only valid keys exists.

check_unknown_fields(data, original_data)[source]

Check for unknown keys.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.json.ThesisSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for thesis.

opts = <marshmallow.schema.SchemaOpts object>

Zenodo legacy JSON schema.

class zenodo.modules.records.serializers.schemas.legacyjson.DepositFormSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for deposit form JSON.

opts = <marshmallow.schema.SchemaOpts object>
remove_envelope(data)[source]

Remove envelope.

class zenodo.modules.records.serializers.schemas.legacyjson.FileSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for files depositions.

dump_checksum(obj)[source]

Dump checksum.

Dump links.

opts = <marshmallow.schema.SchemaOpts object>
class zenodo.modules.records.serializers.schemas.legacyjson.GitHubRecordSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

JSON which can be added to the .zenodo.json file in a repository.

opts = <marshmallow.schema.SchemaOpts object>
remove_envelope(data)[source]

Remove envelope.

class zenodo.modules.records.serializers.schemas.legacyjson.LegacyMetadataSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Legacy JSON metadata.

dump_communities(obj)[source]

Dump communities type.

dump_grants(obj)[source]

Get grants.

dump_image_type(obj)[source]

Get publication type.

dump_license(obj)[source]

Dump license.

dump_openaire_type(obj)[source]

Get OpenAIRE type.

dump_prereservedoi(obj)[source]

Dump pre-reserved DOI.

dump_publication_type(obj)[source]

Get publication type.

load_communities(data)[source]

Load communities type.

load_grants(data)[source]

Load grants.

load_license(data)[source]

Load license.

load_prereservedoi(obj)[source]

Load pre-reserved DOI.

The value is not important as we do not store it. Since the deposit and record id are now the same

merge_keys(data)[source]

Merge dot keys.

opts = <marshmallow.schema.SchemaOpts object>

Split related/alternate identifiers.

This ensures that we can just use the base schemas definitions of related/alternate identifies.

preload_license(data)[source]

Default license.

Split related/alternate identifiers.

This ensures that we can just use the base schemas definitions of related/alternate identifies for loading.

preload_resource_type(data)[source]

Prepare data for easier deserialization.

validate_communities(values)[source]

Validate communities.

validate_data(obj)[source]

Validate resource type.

class zenodo.modules.records.serializers.schemas.legacyjson.LegacyRecordSchemaV1(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Legacy JSON schema (used by deposit).

dump_owners(obj)[source]

Get owners.

dump_state(o)[source]

Get state of deposit.

opts = <marshmallow.schema.SchemaOpts object>

MARCXML translation index.

class zenodo.modules.records.serializers.schemas.marc21.RecordSchemaMARC21(extra=None, only=(), exclude=(), prefix=u'', strict=None, many=False, context=None, load_only=(), dump_only=(), partial=False)[source]

Schema for records in MARC.

get_added_entry_meeting_name(o)[source]

Get added_entry_meeting_name.

get_added_entry_personal_name(o)[source]

Get added_entry_personal_name.

get_files(o)[source]

Get the files provided the record is open access.

get_host_item_entry(o)[source]

Get host items.

get_leader(o)[source]

Return the leader information.

get_main_entry_personal_name(o)[source]

Get main_entry_personal_name.

get_other_standard_identifier(o)[source]

Get other standard identifiers.

get_publication_distribution_imprint(o)[source]

Get publication date and imprint.

get_subject_added_entry_topical_term(o)[source]

Get licenses and subjects.

opts = <marshmallow.schema.SchemaOpts object>
remove_empty_fields(data, many)[source]

Dump + Remove empty fields.

Marshmallow fields

Date string field.

class zenodo.modules.records.serializers.fields.datetime.DateString(default=<marshmallow.missing>, attribute=None, load_from=None, dump_to=None, error=None, validate=None, required=False, allow_none=None, load_only=False, dump_only=False, missing=<marshmallow.missing>, error_messages=None, **metadata)[source]

ISO8601-formatted date string.

DOI field.

class zenodo.modules.records.serializers.fields.doi.DOI(required_doi=None, allowed_dois=None, managed_prefixes=None, banned_prefixes=None, *args, **kwargs)[source]

Special DOI field.

default_error_messages = {'test_prefix': lu'The prefix 10.5072 is invalid. The prefix is only used for testing purposes, and no DOIs with this prefix are attached to any meaningful content.', 'banned_prefix': 'The prefix {prefix} is invalid.', 'managed_prefix': 'The prefix {prefix} is administrated locally.', 'required_doi': lu'The DOI cannot be changed.', 'invalid_doi': lu"The provided DOI is invalid - it should look similar to '10.1234/foo.bar'."}

DOI link field.

Persistent identifier field.

class zenodo.modules.records.serializers.fields.persistentid.PersistentId(scheme=None, normalize=True, *args, **kwargs)[source]

Special DOI field.

default_error_messages = {'invalid_pid': lu'Not a valid persistent identifier.', 'invalid_scheme': 'Not a valid {scheme} identifier.'}

Trimmed string field.

class zenodo.modules.records.serializers.fields.trimmedstring.TrimmedString(default=<marshmallow.missing>, attribute=None, load_from=None, dump_to=None, error=None, validate=None, required=False, allow_none=None, load_only=False, dump_only=False, missing=<marshmallow.missing>, error_messages=None, **metadata)[source]

String field which strips whitespace the ends of the string.