class TestISBN2Bibtex(unittest.TestCase): def setUp(self): self.endecoder = EnDecoder() def test_unicode(self): bib = isbn2bibtex('9782081336742') self.assertIsInstance(bib, ustr) self.assertIn('Poincaré, Henri', bib) def test_parses_to_bibtex(self): bib = isbn2bibtex('9782081336742') b = self.endecoder.decode_bibdata(bib) self.assertEqual(len(b), 1) entry = b[list(b)[0]] self.assertEqual(entry['author'][0], 'Poincaré, Henri') self.assertEqual(entry['title'], 'La science et l\'hypothèse') def test_parse_fails_on_incorrect_ISBN(self): bib = doi2bibtex('9' * 13) with self.assertRaises(EnDecoder.BibDecodingError): self.endecoder.decode_bibdata(bib)
class TestDOI2Bibtex(unittest.TestCase): def setUp(self): self.endecoder = EnDecoder() def test_unicode(self): bib = doi2bibtex('10.1007/BF01700692') self.assertIsInstance(bib, ustr) self.assertIn('Kurt Gödel', bib) def test_parses_to_bibtex(self): bib = doi2bibtex('10.1007/BF01700692') b = self.endecoder.decode_bibdata(bib) self.assertEqual(len(b), 1) entry = b[list(b)[0]] self.assertEqual(entry['author'][0], 'Gödel, Kurt') self.assertEqual( entry['title'], 'Über formal unentscheidbare Sätze der Principia ' 'Mathematica und verwandter Systeme I') def test_parse_fails_on_incorrect_DOI(self): bib = doi2bibtex('999999') with self.assertRaises(EnDecoder.BibDecodingError): self.endecoder.decode_bibdata(bib)
def _export_bib(self, repo, citekey): """Export citation in bib format. Parameters ---------- repo : TODO citekey : TODO Returns ------- TODO """ paper = repo.pull_paper(citekey) bib = dict() bib[citekey] = paper.bibdata exporter = EnDecoder() bibdata_raw = exporter.encode_bibdata(bib, ignore_fields=["file"]) cmd = ["wl-copy", f"{bibdata_raw}"] subprocess.Popen(cmd)
def setUp(self): self.endecoder = EnDecoder()
def test_latex_converted(self): bib = EnDecoder().decode_bibdata(str_fixtures.bibtex_with_latex) p = Paper.from_bibentry(bib) ubib = p.get_unicode_bibdata() self.assertEqual(ubib['author'][0], u"Kjær, Kurt H") self.assertEqual(ubib['author'][3], u"Bjørk, Anders A")