def run_bibtex(style, database, citations=None): if citations is None: citations = database.entries.keys() tmpdir = mkdtemp(prefix='pybtex_test_') try: write_bib(path.join(tmpdir, 'test.bib'), database) write_aux(path.join(tmpdir, 'test.aux'), citations) write_bst(path.join(tmpdir, 'test.bst'), style) bibtex = Popen(('bibtex', 'test'), cwd=tmpdir, stdout=PIPE, stderr=PIPE) stdout, stderr = bibtex.communicate() if bibtex.returncode: report_error(PybtexError(stdout)) with open(path.join(tmpdir, 'test.bbl')) as bbl_file: result = bbl_file.read() return result finally: pass rmtree(tmpdir)
def run_bibtex(style, database, citations=None): if citations is None: citations = database.entries.keys() tmpdir = mkdtemp(prefix='pybtex_test_') try: write_bib(path.join(tmpdir, 'test.bib'), database) write_aux(path.join(tmpdir, 'test.aux'), citations) write_bst(path.join(tmpdir, 'test.bst'), style) bibtex = Popen(('bibtex', 'test'), cwd=tmpdir, stdout=PIPE, stderr=PIPE) stdout, stderr = bibtex.communicate() if bibtex.returncode: raise ValueError(stdout) with open(path.join(tmpdir, 'test.bbl')) as bbl_file: result = bbl_file.read() return result finally: pass rmtree(tmpdir)