adsfolio.pdf.upgrade
arXiv-to-published PDF upgrade workflow.
- class adsfolio.pdf.upgrade.PdfUpgrader(client, logger=None)[source]
Bases:
objectUpgrade manager for arXiv PDFs tracked in sidecar.
- Parameters:
client (ADSClient)
logger (logging.Logger | None)
- batch_upgrade(sidecar, apply=False, overwrite_arxiv_with_official=False, arxiv_backup_if_overwritten=None, skip_annotation_port=False, force=False, delay_seconds=0.0)[source]
Run upgrade checks for all arXiv entries in sidecar.
- Parameters:
sidecar (adsfolio.pdf.sidecar.Sidecar)
apply (bool)
overwrite_arxiv_with_official (bool)
arxiv_backup_if_overwritten (pathlib.Path | None)
skip_annotation_port (bool)
force (bool)
delay_seconds (float)
- Return type:
- upgrade_pdf(sidecar, original_filename, apply=False, overwrite_arxiv_with_official=False, arxiv_backup_if_overwritten=None, skip_annotation_port=False, force=False, published_match=<object object>)[source]
Upgrade one arXiv sidecar record if published PDF exists.
- Parameters:
sidecar (adsfolio.pdf.sidecar.Sidecar)
original_filename (str)
apply (bool)
overwrite_arxiv_with_official (bool)
arxiv_backup_if_overwritten (pathlib.Path | None)
skip_annotation_port (bool)
force (bool)
published_match (adsfolio.pdf.upgrade_utils.PublishedMatch | None | object)
- Return type:
- class adsfolio.pdf.upgrade.PublishedMatch(bibcode, document)
Bases:
objectPublished bibcode resolution result.
- class adsfolio.pdf.upgrade.UpgradeResult(original_filename, current_filename, old_bibcode, new_bibcode, status, message, downloaded_path=None, backup_path=None, annotations_ported=0, annotations_failed=0, unported_annotations_file=None)
Bases:
objectResult for one sidecar-entry upgrade attempt.
- Parameters:
- adsfolio.pdf.upgrade.batch_upgrade(client, sidecar, apply=False, overwrite_arxiv_with_official=False, arxiv_backup_if_overwritten=None, skip_annotation_port=False, force=False, delay_seconds=0.0)[source]
Convenience wrapper for batch upgrade operations.
- Parameters:
client (ADSClient)
sidecar (adsfolio.pdf.sidecar.Sidecar)
apply (bool)
overwrite_arxiv_with_official (bool)
arxiv_backup_if_overwritten (pathlib.Path | None)
skip_annotation_port (bool)
force (bool)
delay_seconds (float)
- Return type:
- adsfolio.pdf.upgrade.check_published_version(client, bibcode)
Check whether arXiv bibcode has a published counterpart in ADS.
Returns published bibcode + doc if found, else None.
- Parameters:
- Return type:
PublishedMatch | None
- adsfolio.pdf.upgrade.check_published_versions(client, bibcodes)
Check published counterparts for many arXiv bibcodes with batched queries.
Returns a mapping
arxiv_bibcode -> PublishedMatch | None.- Parameters:
- Return type:
dict[str, PublishedMatch | None]
- adsfolio.pdf.upgrade.detect_arxiv_entries(sidecar)
Return sidecar keys that are identified as arXiv entries.
- adsfolio.pdf.upgrade.is_arxiv_bibcode(bibcode)
Return True if bibcode appears to be arXiv-derived.
- adsfolio.pdf.upgrade.is_arxiv_doi(doi)
Return True if DOI is arXiv DOI namespace.