Example #1
0
    def get_value(value):
        # Retrieve fields as described here:
        # https://twiki.cern.ch/twiki/bin/view/Inspire/DevelopmentRecordMarkup.
        rb = ReferenceBuilder()
        mapping = [
            ('o', rb.set_number),
            ('m', rb.add_misc),
            ('x', partial(rb.add_raw_reference, source='dojson')),
            ('1', rb.set_texkey),
            ('u', rb.add_url),
            ('r', rb.add_report_number),
            ('s', rb.set_pubnote),
            ('p', rb.set_publisher),
            ('y', rb.set_year),
            ('i', rb.add_uid),
            ('b', rb.add_uid),
            ('a', rb.add_uid),
            ('c', rb.add_collaboration),
            ('q', rb.add_title),
            ('t', rb.add_title),
            ('h', rb.add_refextract_authors_str),
            ('e', partial(rb.add_author, role='ed.'))
        ]

        for field, method in mapping:
            for element in force_force_list(value.get(field)):
                if element:
                    method(element)

        if '0' in value:
            recid = get_int_value(value, '0')
            rb.set_record(get_record_ref(recid, 'literature'))

        return rb.obj
Example #2
0
def test_curation():
    rb = ReferenceBuilder()
    rb.set_record({'$ref': 'http://example.com'})

    assert rb.obj == {'record': {'$ref': 'http://example.com'},
                      'curated_relation': False}

    rb.curate()
    assert rb.obj == {'record': {'$ref': 'http://example.com'},
                      'curated_relation': True}
Example #3
0
def test_curation():
    rb = ReferenceBuilder()
    rb.set_record({'$ref': 'http://example.com'})

    assert rb.obj == {
        'record': {
            '$ref': 'http://example.com'
        },
        'curated_relation': False
    }

    rb.curate()
    assert rb.obj == {
        'record': {
            '$ref': 'http://example.com'
        },
        'curated_relation': True
    }
    def get_value(value):
        # Retrieve fields as described here:
        # https://twiki.cern.ch/twiki/bin/view/Inspire/DevelopmentRecordMarkup.
        rb = ReferenceBuilder()
        mapping = [('o', rb.set_number), ('m', rb.add_misc),
                   ('x', partial(rb.add_raw_reference, source='dojson')),
                   ('1', rb.set_texkey), ('u', rb.add_url),
                   ('r', rb.add_report_number), ('s', rb.set_pubnote),
                   ('p', rb.set_publisher), ('y', rb.set_year),
                   ('i', rb.add_uid), ('b', rb.add_uid), ('a', rb.add_uid),
                   ('c', rb.add_collaboration), ('q', rb.add_title),
                   ('t', rb.add_title), ('h', rb.add_refextract_authors_str),
                   ('e', partial(rb.add_author, role='ed.'))]

        for field, method in mapping:
            for element in force_force_list(value.get(field)):
                if element:
                    method(element)

        if '0' in value:
            recid = get_int_value(value, '0')
            rb.set_record(get_record_ref(recid, 'literature'))

        return rb.obj