59xpath_author_name = XPath(
".//atom:author/atom:name", namespaces=arxiv_namespaces)
78def response(resp:
"SXNG_Response") -> EngineResults:
82 dom = etree.fromstring(resp.content)
83 for entry
in eval_xpath_list(dom, xpath_entry):
85 title: str = eval_xpath_getindex(entry, xpath_title, 0).text
87 url: str = eval_xpath_getindex(entry, xpath_id, 0).text
88 abstract: str = eval_xpath_getindex(entry, xpath_summary, 0).text
90 authors: list[str] = [author.text
for author
in eval_xpath_list(entry, xpath_author_name)]
93 doi_element = eval_xpath_getindex(entry, xpath_doi, 0, default=
None)
94 doi: str =
"" if doi_element
is None else doi_element.text
97 pdf_element = eval_xpath_getindex(entry, xpath_pdf, 0, default=
None)
98 pdf_url: str =
"" if pdf_element
is None else pdf_element.attrib.get(
"href")
101 journal_element = eval_xpath_getindex(entry, xpath_journal, 0, default=
None)
102 journal: str =
"" if journal_element
is None else journal_element.text
105 tag_elements = eval_xpath(entry, xpath_category)
106 tags: list[str] = [str(tag)
for tag
in tag_elements]
109 comments_elements = eval_xpath_getindex(entry, xpath_comment, 0, default=
None)
110 comments: str =
"" if comments_elements
is None else comments_elements.text
112 publishedDate = datetime.strptime(eval_xpath_getindex(entry, xpath_published, 0).text,
"%Y-%m-%dT%H:%M:%SZ")
118 publishedDate=publishedDate,