(paper: Dict[str, Any], metadata: Optional[Dict[str, Any]] = None)
| 261 | return _doi_url(_paper_doi(paper, metadata)) |
| 262 | |
| 263 | |
| 264 | def _paper_pdf_url(paper: Dict[str, Any], metadata: Optional[Dict[str, Any]] = None) -> str: |
| 265 | metadata = metadata if metadata is not None else _paper_metadata(paper) |
| 266 | value = _first_text(paper, metadata, "pdf_url") |
| 267 | if value: |
| 268 | return value |
| 269 | arxiv_id = _paper_arxiv_id(paper, metadata) |
| 270 | return f"https://arxiv.org/pdf/{arxiv_id}" if arxiv_id else "" |
| 271 | |
| 272 |
no test coverage detected