(paper: Dict[str, Any], metadata: Dict[str, Any], *keys: str)
| 189 | |
| 190 | |
| 191 | def _first_text(paper: Dict[str, Any], metadata: Dict[str, Any], *keys: str) -> str: |
| 192 | for key in keys: |
| 193 | value = str(paper.get(key) or metadata.get(key) or "").strip() |
| 194 | if value: |
| 195 | return value |
| 196 | return "" |
| 197 | |
| 198 | |
| 199 | def _doi_value(value: Any) -> str: |
no test coverage detected