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
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 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