def test_serialize_search(): """Test JSON serialize.""" def fetcher(obj_uuid, data): assert obj_uuid in ['a', 'b'] return PersistentIdentifier(pid_type='doi', pid_value='a') data = DublinCoreSerializer(SimpleSchema).serialize_search( fetcher, dict( hits=dict( hits=[ {'_source': {'titles': ['A']}, '_id': 'a', '_version': 1}, {'_source': {'titles': ['B']}, '_id': 'b', '_version': 1}, ], total=2, ), aggregations={}, ) ) assert """<dc:title>A</dc:title>""" in data assert """<dc:title>B</dc:title>""" in data s = DublinCoreSerializer(SimpleSchema) tree = s.serialize_oaipmh( PersistentIdentifier(pid_type='doi', pid_value='10.1234/b'), {'_source': {'titles': ['B']}, '_id': 'b', '_version': 1}) assert len(tree) == 1
def test_serialize(app): """Test JSON serialize.""" pid = PersistentIdentifier(pid_type='recid', pid_value='2') record = Record({'titles': ['DC test']}) data = DublinCoreSerializer(SimpleSchema).serialize(pid, record) assert """<dc:title>DC test</dc:title>""" in data s = DublinCoreSerializer(SimpleSchema) tree = s.serialize_oaipmh(pid, {'_source': record}) assert len(tree) == 1
def test_serialize(): """Test JSON serialize.""" pid = PersistentIdentifier(pid_type='recid', pid_value='2') record = Record({'titles': ['DC test']}) data = DublinCoreSerializer(SimpleSchema).serialize(pid, record) assert """<dc:title>DC test</dc:title>""" in data s = DublinCoreSerializer(SimpleSchema) tree = s.serialize_oaipmh( pid, {'_source': record}) assert len(tree) == 1
replace_refs=True) #: MARCXML serializer version 1.0.0 marcxml_v1 = MARCXMLSerializer(to_marc21, schema_class=RecordSchemaMARC21, replace_refs=True) #: BibTeX serializer version 1.0.0 bibtex_v1 = BibTeXSerializer() #: DataCite serializer datacite_v31 = DataCite31Serializer(DataCiteSchemaV1, replace_refs=True) #: OAI DataCite serializer oai_datacite = OAIDataCiteSerializer( v31=datacite_v31, datacentre='CERN.ZENODO', ) #: Dublin Core serializer dc_v1 = DublinCoreSerializer(DublinCoreV1, replace_refs=True) #: CSL-JSON serializer csl_v1 = JSONSerializer(RecordSchemaCSLJSON, replace_refs=True) #: CSL Citation Formatter serializer citeproc_v1 = CiteprocSerializer(csl_v1) # Records-REST serializers # ======================== #: JSON record serializer for individual records. json_v1_response = record_responsify(json_v1, 'application/json') #: JSON record legacy serializer for individual records. legacyjson_v1_response = record_responsify(legacyjson_v1, 'application/json') #: MARCXML record serializer for individual records. marcxml_v1_response = record_responsify(marcxml_v1, 'application/marcxml+xml') #: BibTeX record serializer for individual records. bibtex_v1_response = record_responsify(bibtex_v1, 'application/x-bibtex')
from b2share.modules.records.serializers.schemas.eudatextended import EudatExtendedSchema from .xmlserializer import XMLSerializer from b2share.modules.records.serializers.schemas.datacite import DataCiteSchemaV1, DataCiteSchemaV2 from b2share.modules.records.serializers.schemas.eudatcore import EudatCoreSchema from .xmlserializer import XMLSerializer from .schemas import schema44 from b2share.modules.records.serializers.response import record_responsify, \ JSONSerializer json_v1 = JSONSerializer(RecordSchemaJSONV1) json_v1_response = record_responsify(json_v1, 'application/json') json_v1_search = search_responsify(json_v1, 'application/json') # OAI-PMH record serializers. dc_v1 = DublinCoreSerializer(RecordSchemaDublinCoreV1, replace_refs=True) marcxml_v1 = MARCXMLSerializer(to_marc21, schema_class=RecordSchemaMarcXMLV1, replace_refs=True) oaipmh_oai_dc = dc_v1.serialize_oaipmh oaipmh_marc21_v1 = marcxml_v1.serialize_oaipmh eudatcore_v1 = XMLSerializer(EudatCoreSchema, replace_refs=True).serialize_oaipmh eudatextended_v1 = XMLSerializer(EudatExtendedSchema, replace_refs=True).serialize_oaipmh # DOI record serializers. datacite_v31 = DataCite31Serializer(DataCiteSchemaV1, replace_refs=True) class Datacite44Serializer(BaseDataCiteSerializer):