def test_journal_extract(self): r = extract_journal_reference( "Science Vol. 338 no. 6108 (2012) pp. 773-775") self.assertEqual(r['year'], u'2012') self.assertEqual(r['volume'], u'338') self.assertEqual(r['page'], u'773-775') self.assertEqual(r['title'], u'Science')
if not recid or recid == -1: # Try again with p_r_s arxiv_id = get_minimal_arxiv_id(record) if arxiv_id: results = perform_request_search(p="reportnumber:%s" % (arxiv_id, ), of='id') if len(results) > 0: # FIXME: Ambiguous results may happen. Now just taking first result.. recid = results[0] # 773 RefExtract PubNote extraction for field in record_get_field_instances(record, '773'): for value in field_get_subfield_values(field, 'x'): extract = extract_journal_reference(value) if extract: subfields = [('x', value)] if extract.get('volume', False): subfields.append(('v', str(extract['volume']))) if extract.get('title', False): subfields.append(('p', str(extract['title']))) if extract.get('year', False): subfields.append(('y', str(extract['year']))) if extract.get('page', False): subfields.append(('c', str(extract['page']))) new_field = create_field(subfields, global_position=field[4]) record_replace_field(record, '773', new_field, field[4]) break
else: recid = retrieve_rec_id(record, "") if not recid or recid == -1: # Try again with p_r_s arxiv_id = get_minimal_arxiv_id(record) if arxiv_id: results = perform_request_search(p="reportnumber:%s" % (arxiv_id,), of='id') if len(results) > 0: # FIXME: Ambiguous results may happen. Now just taking first result.. recid = results[0] # 773 RefExtract PubNote extraction for field in record_get_field_instances(record, '773'): for value in field_get_subfield_values(field, 'x'): extract = extract_journal_reference(value) if extract: subfields = [('x', value)] if extract.get('volume', False): subfields.append(('v', str(extract['volume']))) if extract.get('title', False): subfields.append(('p', str(extract['title']))) if extract.get('year', False): subfields.append(('y', str(extract['year']))) if extract.get('page', False): subfields.append(('c', str(extract['page']))) new_field = create_field(subfields, global_position=field[4]) record_replace_field(record, '773', new_field, field[4]) break # 710 Remove collaboration from a 710__g
def test_journal_extract(self): r = extract_journal_reference("Science Vol. 338 no. 6108 (2012) pp. 773-775") self.assertEqual(r['year'], u'2012') self.assertEqual(r['volume'], u'338') self.assertEqual(r['page'], u'773-775') self.assertEqual(r['title'], u'Science')