Package Pyblio :: Package Adapters :: Module PubMed2BibTeX
[hide private]
[frames] | no frames]

Source Code for Module Pyblio.Adapters.PubMed2BibTeX

 1  from Pyblio.Adapter import OneToOneAdapter 
 2  from Pyblio import Store, Attribute, Registry 
 3   
4 -class PubMed2BibTeX(OneToOneAdapter):
5
6 - def __init__(self, base):
7 OneToOneAdapter.__init__(self, base) 8 9 self.schema = Registry.getSchema('org.pybliographer/bibtex/0.1') 10 return
11
12 - def source2target(self, medline):
13 bibtex = Store.Record() 14 15 bibtex.add('doctype', 16 self.schema.txo['doctype'].byname('article'), 17 Attribute.Txo) 18 19 bibtex['id'] = medline['pmid'] 20 21 for k in ('title', 'author', 'abstract', 'journal'): 22 if k in medline: 23 bibtex[k] = medline[k] 24 25 year = medline.get('journal.year') 26 if year: 27 bibtex.add('date', Attribute.Date(year=int(year[0]))) 28 29 bibtex.add('volume', medline.get('journal.volume', [None])[0]) 30 bibtex.add('number', medline.get('journal.issue', [None])[0]) 31 bibtex.add('pages', medline.get('journal.pages', [None])[0]) 32 33 return bibtex
34