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

Function _build_resource_items

agents/reading-agent/main.py:984–1022  ·  view source on GitHub ↗
(paper: Dict[str, Any], response_language: str = "zh")

Source from the content-addressed store, hash-verified

982
983def _build_resource_items(paper: Dict[str, Any], response_language: str = "zh") -> List[Tuple[str, str]]:
984 language = _normalize_response_language(response_language)
985 missing = "No public link found yet" if language == "en" else "暂未发现公开链接"
986 labels = {
987 "code": "Code" if language == "en" else "代码",
988 "data": "Data" if language == "en" else "数据",
989 "project": "Project page" if language == "en" else "项目主页",
990 "pdf": "Paper PDF" if language == "en" else "原文 PDF",
991 }
992 code_url = _get_first_url(paper, "code_url", "github_url", "repo_url", "repository_url")
993 dataset_url = _get_first_url(paper, "dataset_url", "data_url")
994 project_url = _get_first_url(
995 paper,
996 "project_url",
997 "paper_url",
998 "openreview_url",
999 "cvf_url",
1000 "ecva_url",
1001 "dblp_url",
1002 "doi_url",
1003 "url",
1004 )
1005 pdf_url = _get_direct_pdf_url(paper)
1006
1007 items: List[Tuple[str, str]] = []
1008 items.append((labels["code"], _format_plain_url(code_url) if code_url else missing))
1009 items.append((labels["data"], _format_plain_url(dataset_url) if dataset_url else missing))
1010 items.append((labels["project"], _format_plain_url(project_url) if project_url else missing))
1011 items.append((labels["pdf"], _format_plain_url(pdf_url) if pdf_url else missing))
1012
1013 arxiv_id = _clean_text(paper.get("arxiv_id"))
1014 if arxiv_id:
1015 items.append(("arXiv", _format_plain_url(f"https://arxiv.org/abs/{arxiv_id}")))
1016
1017 doi = _clean_text(paper.get("doi"))
1018 if doi:
1019 items.append(("DOI", _format_plain_url(f"https://doi.org/{doi}")))
1020
1021 return items
1022
1023
1024def _format_subjects(paper: Dict[str, Any]) -> str:
1025 for key in ("subjects", "categories", "category", "primary_category", "tags", "topics"):

Callers

nothing calls this directly

Calls 6

_get_first_urlFunction · 0.85
_get_direct_pdf_urlFunction · 0.85
_format_plain_urlFunction · 0.85
getMethod · 0.80
_clean_textFunction · 0.70

Tested by

no test coverage detected