def read(self): fields = DocumentFields() with open(self.path.path) as bibtex_file: bibtex_str = bibtex_file.read() bib_database = bibtexparser.loads(bibtex_str) for entry in bib_database.entries: for field, value in entry.items(): if (field == "ENTRYTYPE"): docType = strToDocType(value) fields.setDocType(docType) elif (field != "ID"): fields.setField(field, value) return fields
def test_strToDocType(self): self.assertEqual(strToDocType("article"), DocumentFields.DOC_ARTICLE) self.assertEqual(strToDocType("Article"), DocumentFields.DOC_ARTICLE) self.assertEqual(strToDocType("book"), DocumentFields.DOC_BOOK) self.assertEqual(strToDocType("Book"), DocumentFields.DOC_BOOK) self.assertEqual(strToDocType("booklet"), DocumentFields.DOC_BOOKLET) self.assertEqual(strToDocType("Booklet"), DocumentFields.DOC_BOOKLET) self.assertEqual(strToDocType("conference"), DocumentFields.DOC_CONFERENCE) self.assertEqual(strToDocType("Conference"), DocumentFields.DOC_CONFERENCE) self.assertEqual(strToDocType("inbook"), DocumentFields.DOC_INBOOK) self.assertEqual(strToDocType("InBook"), DocumentFields.DOC_INBOOK) self.assertEqual(strToDocType("incollection"), DocumentFields.DOC_INCOLLECTION) self.assertEqual(strToDocType("InCollection"), DocumentFields.DOC_INCOLLECTION) self.assertEqual(strToDocType("inproceedings"), DocumentFields.DOC_INPROCEEDINGS) self.assertEqual(strToDocType("InProceedings"), DocumentFields.DOC_INPROCEEDINGS) self.assertEqual(strToDocType("manual"), DocumentFields.DOC_MANUAL) self.assertEqual(strToDocType("Manual"), DocumentFields.DOC_MANUAL) self.assertEqual(strToDocType("masterthesis"), DocumentFields.DOC_MASTERTHESIS) self.assertEqual(strToDocType("MasterThesis"), DocumentFields.DOC_MASTERTHESIS) self.assertEqual(strToDocType("misc"), DocumentFields.DOC_MISC) self.assertEqual(strToDocType("Misc"), DocumentFields.DOC_MISC) self.assertEqual(strToDocType("phdthesis"), DocumentFields.DOC_PHDTHESIS) self.assertEqual(strToDocType("PhdThesis"), DocumentFields.DOC_PHDTHESIS) self.assertEqual(strToDocType("proceedings"), DocumentFields.DOC_PROCEEDINGS) self.assertEqual(strToDocType("Proceedings"), DocumentFields.DOC_PROCEEDINGS) self.assertEqual(strToDocType("techreport"), DocumentFields.DOC_TECHREPORT) self.assertEqual(strToDocType("TechReport"), DocumentFields.DOC_TECHREPORT) self.assertEqual(strToDocType("unpublished"), DocumentFields.DOC_UNPUBLISHED) self.assertEqual(strToDocType("Unpublished"), DocumentFields.DOC_UNPUBLISHED) self.assertEqual(strToDocType("other"), DocumentFields.DOC_UNKNOWN) self.assertEqual(strToDocType("éèà"), DocumentFields.DOC_UNKNOWN)