In [4]:
from Bio import Medline
import re
import glob
colon = re.compile(r"(.*:.*)")
pmids = {}
with open("assets/mybib.nbib") as handle:
records = Medline.parse(handle)
for record in records:
#if (pmids.has_key(record['PMID'])): //has_key removed in python3
if not 'PMID' in record:
print(record["TI"])
continue
if record['PMID'] in pmids:
continue
pmids[record['PMID']] = 1
f = open("_pubs/" + record['PMID'] + ".md", 'w')
f.write("---\n")
f.write("pmid: " + record['PMID'] + "\n")
f.write("layout: default\n")
match = colon.match(record['TI'])
if match:
record['TI'] = match.group(1).replace(":", ":")
f.write("title: " + record['TI'] + "\n")
f.write("authors: ")
authors = record['AU']
#if (record.has_key('CN')): //has_key removed in python3
if 'CN' in record:
authors = authors + record['CN']
f.write(', '.join(authors) + "\n")
f.write("pubdate: " + record['DP'] + "\n")
f.write("volume: " + record['VI'] + "\n")
#if (record.has_key('IP')): //has_key removed in python3
if 'IP' in record:
f.write("issue: " + record['IP'] + "\n")
else:
f.write("issue: " + "\n")
if 'PG' not in record:
record['PG'] = "N/A"
f.write("pages: " + record['PG'] + "\n")
f.write("journal: " + record['TA'] + "\n")
f.write("---\n")
f.close()
In [ ]:
In [ ]: