当前位置: 首页>>代码示例>>Python>>正文


Python dc_v1.transform_record函数代码示例

本文整理汇总了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',
    ]
开发者ID:zenodo,项目名称:zenodo,代码行数:30,代码来源:test_schemas_dc.py

示例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']
开发者ID:zenodo,项目名称:zenodo,代码行数:10,代码来源:test_schemas_dc.py

示例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']
开发者ID:SamiHiltunen,项目名称:zenodo,代码行数:10,代码来源:test_schemas_dc.py

示例4: test_description

def test_description(app, db, minimal_record_model, recid_pid):
    """Test description."""
    minimal_record_model['description'] = \
        "<p><b>Foo&nbsp;Bar</b></p><em><p>&nbsp;Foo&amp;Bar</p></em> &apos;" \
        "This&apos;&nbsp;is&nbsp;<i>&lt;it&gt;<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'] == []
开发者ID:zenodo,项目名称:zenodo,代码行数:11,代码来源:test_schemas_dc.py

示例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']
开发者ID:zenodo,项目名称:zenodo,代码行数:13,代码来源:test_schemas_dc.py

示例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']
开发者ID:zenodo,项目名称:zenodo,代码行数:7,代码来源:test_schemas_dc.py

示例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']
开发者ID:zenodo,项目名称:zenodo,代码行数:7,代码来源:test_schemas_dc.py

示例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']
开发者ID:lnielsen,项目名称:zenodo,代码行数:7,代码来源:test_schemas_dc.py

示例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']
开发者ID:SamiHiltunen,项目名称:zenodo,代码行数:7,代码来源:test_schemas_dc.py

示例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'])
开发者ID:zenodo,项目名称:zenodo,代码行数:8,代码来源:test_schemas_dc.py

示例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']
开发者ID:zenodo,项目名称:zenodo,代码行数:10,代码来源:test_schemas_dc.py

示例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']
开发者ID:zenodo,项目名称:zenodo,代码行数:20,代码来源:test_schemas_dc.py

示例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',
    ]
开发者ID:zenodo,项目名称:zenodo,代码行数:11,代码来源:test_schemas_dc.py

示例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']
开发者ID:zenodo,项目名称:zenodo,代码行数:12,代码来源:test_schemas_dc.py

示例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': []
    }
开发者ID:lnielsen,项目名称:zenodo,代码行数:18,代码来源:test_schemas_dc.py


注:本文中的zenodo.modules.records.serializers.dc_v1.transform_record函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。