MCPcopy Create free account
hub / github.com/OpenRaiser/PaperFlow / _extract_source_links

Function _extract_source_links

agents/reading-agent/main.py:1900–1933  ·  view source on GitHub ↗
(paper: Dict[str, Any])

Source from the content-addressed store, hash-verified

1898
1899def _extract_source_links(paper: Dict[str, Any]) -> List[Tuple[str, str]]:
1900 links: List[Tuple[str, str]] = []
1901
1902 arxiv_id = _clean_text(paper.get("arxiv_id"))
1903 if arxiv_id:
1904 links.append(("arXiv", f"https://arxiv.org/abs/{arxiv_id}"))
1905
1906 pdf_url = _extract_pdf_url(paper)
1907 if pdf_url:
1908 links.append(("PDF", pdf_url))
1909
1910 doi = _clean_text(paper.get("doi"))
1911 if doi:
1912 links.append(("DOI", f"https://doi.org/{doi}"))
1913
1914 paper_url = _clean_text(
1915 paper.get("paper_url")
1916 or paper.get("openreview_url")
1917 or paper.get("cvf_url")
1918 or paper.get("ecva_url")
1919 or paper.get("dblp_url")
1920 or paper.get("url")
1921 or (paper.get("metadata") or {}).get("paper_url")
1922 or (paper.get("metadata") or {}).get("openreview_url")
1923 or (paper.get("metadata") or {}).get("cvf_url")
1924 or (paper.get("metadata") or {}).get("ecva_url")
1925 or (paper.get("metadata") or {}).get("dblp_url")
1926 or (paper.get("metadata") or {}).get("url")
1927 or (paper.get("metadata") or {}).get("link")
1928 )
1929 if paper_url and all(paper_url != url for _, url in links):
1930 links.append(("原始链接", paper_url))
1931
1932 return links
1933
1934
1935def _download_pdf(pdf_url: str, title: str, referer: Optional[str] = None) -> str:
1936 response = _http_get(

Callers

nothing calls this directly

Calls 3

_extract_pdf_urlFunction · 0.85
getMethod · 0.80
_clean_textFunction · 0.70

Tested by

no test coverage detected