本文整理汇总了Python中zenodo.modules.records.serializers.dc_v1.transform_record函数的典型用法代码示例。如果您正苦于以下问题:Python transform_record函数的具体用法?Python transform_record怎么用?Python transform_record使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了transform_record函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_types
def test_types(app, db, minimal_record_model, recid_pid):
""""Test contributors."""
minimal_record_model.update({
'resource_type': {'type': 'publication', 'subtype': 'conferencepaper'}
})
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert obj['types'] == [
'info:eu-repo/semantics/conferencePaper',
'publication-conferencepaper'
]
# If the record is not in 'c1', OpenAIRE subtype should not be serialized
minimal_record_model.update({
'resource_type': {'type': 'software',
'openaire_subtype': 'foo:t1'}
})
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert obj['types'] == [
'info:eu-repo/semantics/other',
'software'
]
# Add 'c1' to communities. 'foo:t1' should be serialized as a type
minimal_record_model.update({'communities': ['c1']})
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert obj['types'] == [
'info:eu-repo/semantics/other',
'software',
'openaire:foo:t1',
]
示例2: test_identifiers
def test_identifiers(app, db, minimal_record_model, recid_pid):
""""Test identifiers."""
minimal_record_model['doi'] = '10.1234/foo'
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert obj['identifiers'] == \
['https://zenodo.org/record/123', '10.1234/foo']
minimal_record_model['_oai'] = {'id': 'oai:zenodo.org:123'}
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert 'oai:zenodo.org:123' in obj['identifiers']
示例3: test_identifiers
def test_identifiers(minimal_record, recid_pid):
""""Test identifiers."""
minimal_record['doi'] = '10.1234/foo'
obj = dc_v1.transform_record(recid_pid, Record(minimal_record))
assert obj['identifiers'] == \
['10.1234/foo', 'https://zenodo.org/record/123']
minimal_record['_oai'] = {'id': 'oai:zenodo.org:123'}
obj = dc_v1.transform_record(recid_pid, Record(minimal_record))
assert 'oai:zenodo.org:123' in obj['identifiers']
示例4: test_description
def test_description(app, db, minimal_record_model, recid_pid):
"""Test description."""
minimal_record_model['description'] = \
"<p><b>Foo Bar</b></p><em><p> Foo&Bar</p></em> '" \
"This' is <i><it><i>"
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert obj['descriptions'] == ["Foo Bar Foo&Bar 'This' is <it>"]
minimal_record_model['description'] = ''
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert obj['descriptions'] == []
示例5: test_publishers
def test_publishers(app, db, minimal_record_model, recid_pid):
"""Test publishers."""
minimal_record_model.update({
'part_of': {'publisher': 'Zenodo'},
})
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert obj['publishers'] == ['Zenodo']
minimal_record_model.update({
'imprint': {'publisher': 'Invenio'},
'part_of': {'publisher': 'Zenodo'},
})
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert obj['publishers'] == ['Invenio']
示例6: test_contributors
def test_contributors(app, db, minimal_record_model, recid_pid):
""""Test contributors."""
minimal_record_model.update({
'contributors': [{'name': 'Smith, John'}]
})
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert obj['contributors'] == ['Smith, John']
示例7: test_rights
def test_rights(app, db, minimal_record_model, recid_pid):
"""Test rights."""
minimal_record_model.update({
'license': {'url': 'http://creativecommons.org/licenses/by/4.0/'}
})
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert 'http://creativecommons.org/licenses/by/4.0/' in obj['rights']
示例8: test_types
def test_types(app, db, minimal_record_model, recid_pid):
""""Test contributors."""
minimal_record_model.update({
'resource_type': {'type': 'publication', 'subtype': 'conferencepaper'}
})
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert obj['types'] == ['info:eu-repo/semantics/conferencePaper']
示例9: test_contributors
def test_contributors(minimal_record, recid_pid):
""""Test contributors."""
minimal_record.update({
'contributors': [{'name': 'Smith, John'}]
})
obj = dc_v1.transform_record(recid_pid, Record(minimal_record))
assert obj['contributors'] == ['Smith, John']
示例10: test_community_relations
def test_community_relations(db, minimal_record_model, recid_pid):
"""Test communities."""
for communities in (['zenodo'], ['c1', 'c2', 'c3']):
minimal_record_model['communities'] = communities
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
for comm in communities:
assert ('url:http://localhost/communities/{}'.format(comm)
in obj['relations'])
示例11: test_embargo_date
def test_embargo_date(app, db, minimal_record_model, recid_pid):
""""Test embargo date."""
dt = (datetime.utcnow().date() + timedelta(days=1)).isoformat()
minimal_record_model.update({
'embargo_date': dt,
'access_right': 'embargoed',
})
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert obj['rights'] == ['info:eu-repo/semantics/embargoedAccess']
assert 'info:eu-repo/date/embargoEnd/{0}'.format(dt) in obj['dates']
示例12: test_sources
def test_sources(app, db, minimal_record_model, recid_pid):
"""Test contributors."""
minimal_record_model.update({
'journal': {
'title': 'CAP',
'volume': '22',
'issue': '1',
'pages': '1-2',
'year': '2002'
}})
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert obj['sources'] == ['CAP 22(1) 1-2 (2002)']
minimal_record_model.update({
'journal': {
'title': 'CAP',
'issue': '1',
}})
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert obj['sources'] == ['CAP 1']
示例13: test_dates
def test_dates(app, db, full_record, minimal_record_model, recid_pid):
"""Test dates."""
minimal_record_model['dates'] = full_record['dates']
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert obj['dates'] == [
datetime.utcnow().date().isoformat(),
'2019-01-01/',
'/2019-01-01',
'2019-01-01',
'2019-01-01/2019-02-01',
]
示例14: test_sources_meetings
def test_sources_meetings(app, db, minimal_record_model, recid_pid):
""""Test contributors."""
minimal_record_model['meetings'] = {
'acronym': 'CAP',
'title': 'Communicating',
'place': 'Cape Town',
'dates': 'March, 2010',
'session': 'I',
'session_part': '1',
}
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert obj['sources'] == ['CAP, Communicating, Cape Town, March, 2010']
示例15: test_minimal
def test_minimal(app, db, minimal_record_model, recid_pid):
"""Test identifiers."""
obj = dc_v1.transform_record(recid_pid, minimal_record_model)
assert obj == {
'sources': [],
'contributors': [],
'identifiers': ['', 'https://zenodo.org/record/123'],
'subjects': [],
'languages': [''],
'dates': [datetime.utcnow().date().isoformat()],
'titles': ['Test'],
'creators': ['Test'],
'rights': ['info:eu-repo/semantics/openAccess'],
'publishers': [],
'descriptions': ['My description'],
'types': ['info:eu-repo/semantics/other'],
'relations': []
}