Enhance arXiv integration: Add BibTeX generation, ID versioning, and withdrawn paper handling. Update search script to display version information alongside arXiv IDs.
This commit is contained in:
parent
ae8d25faca
commit
445d2646a9
2 changed files with 48 additions and 2 deletions
|
|
@ -61,15 +61,17 @@ def search(query=None, author=None, category=None, ids=None, max_results=5, sort
|
|||
for i, entry in enumerate(entries):
|
||||
title = entry.find('a:title', NS).text.strip().replace('\n', ' ')
|
||||
raw_id = entry.find('a:id', NS).text.strip()
|
||||
arxiv_id = raw_id.split('/abs/')[-1].split('v')[0] if '/abs/' in raw_id else raw_id
|
||||
full_id = raw_id.split('/abs/')[-1] if '/abs/' in raw_id else raw_id
|
||||
arxiv_id = full_id.split('v')[0] # base ID for links
|
||||
published = entry.find('a:published', NS).text[:10]
|
||||
updated = entry.find('a:updated', NS).text[:10]
|
||||
authors = ', '.join(a.find('a:name', NS).text for a in entry.findall('a:author', NS))
|
||||
summary = entry.find('a:summary', NS).text.strip().replace('\n', ' ')
|
||||
cats = ', '.join(c.get('term') for c in entry.findall('a:category', NS))
|
||||
|
||||
version = full_id[len(arxiv_id):] if full_id != arxiv_id else ""
|
||||
print(f"{i+1}. {title}")
|
||||
print(f" ID: {arxiv_id} | Published: {published} | Updated: {updated}")
|
||||
print(f" ID: {arxiv_id}{version} | Published: {published} | Updated: {updated}")
|
||||
print(f" Authors: {authors}")
|
||||
print(f" Categories: {cats}")
|
||||
print(f" Abstract: {summary[:300]}{'...' if len(summary) > 300 else ''}")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue