Source code for bibtex_gen.mendeley

from mendeley2.models.catalog import CatalogBibDocument
from pyexlatex.models.references.bibtex.base import BibTexEntryBase
import pyexlatex as pl


[docs]def bib_tex_from_mendeley_doc(mendeley_doc: CatalogBibDocument, item_accessor: str) -> BibTexEntryBase: if mendeley_doc.type != 'journal': raise NotImplementedError('cannot handle reference types other than journal yet') ref = pl.BibTexArticle( item_accessor, authors_str_from_mendeley_doc(mendeley_doc), mendeley_doc.title, mendeley_doc.source, mendeley_doc.year, volume=mendeley_doc.volume, number=mendeley_doc.issue, pages=mendeley_doc.pages, month=mendeley_doc.month ) return ref
[docs]def authors_str_from_mendeley_doc(mendeley_doc: CatalogBibDocument) -> str: author_names = [f'{author.first_name} {author.last_name}' for author in mendeley_doc.authors] return ' and '.join(author_names)