Skip to content

Commit d1cde22

Browse files
authored
Preventing Greek name from crashing DocDetails creation (#1048)
1 parent 5675e97 commit d1cde22

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/paperqa/types.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import tiktoken
2121
from aviary.core import Message
2222
from lmi import Embeddable, LLMResult
23-
from pybtex.database import BibliographyData, Entry, Person
23+
from pybtex.database import BibliographyData, Entry, InvalidNameString, Person
2424
from pybtex.database.input.bibtex import Parser
2525
from pybtex.scanner import PybtexSyntaxError
2626
from pydantic import (
@@ -859,8 +859,12 @@ def populate_bibtex_key_citation(cls, data: dict[str, Any]) -> dict[str, Any]:
859859
existing_entry = next(
860860
iter(Parser().parse_string(data["bibtex"]).entries.values())
861861
)
862-
except PybtexSyntaxError:
863-
logger.warning(f"Failed to parse bibtex for {data['bibtex']}.")
862+
except (PybtexSyntaxError, InvalidNameString):
863+
# InvalidNameString: names like "Kyriacos, Κυριάκος, Athanasiou, Αθανασίου"
864+
logger.warning(
865+
f"Failed to parse bibtex for DOI {data.get('doi')},"
866+
f" title {data.get('title')}, and bibtex {data['bibtex']}."
867+
)
864868
existing_entry = None
865869

866870
entry_data = {

0 commit comments

Comments
 (0)