(canonical_name: str, payload: Any)
| 394 | |
| 395 | |
| 396 | def _normalize_entry(canonical_name: str, payload: Any) -> Dict[str, Any]: |
| 397 | data = copy.deepcopy(payload) if isinstance(payload, dict) else {} |
| 398 | canonical_name = normalize_direction_key(data.get("canonical_name") or canonical_name) |
| 399 | legacy_keywords = data.get("keywords") if isinstance(data.get("keywords"), list) else [] |
| 400 | aliases = data.get("aliases") if isinstance(data.get("aliases"), list) else [] |
| 401 | paper_terms = data.get("paper_terms") if isinstance(data.get("paper_terms"), list) else [] |
| 402 | |
| 403 | if legacy_keywords and not aliases: |
| 404 | aliases = list(legacy_keywords) |
| 405 | if legacy_keywords and not paper_terms: |
| 406 | paper_terms = list(legacy_keywords) |
| 407 | |
| 408 | normalized = _default_entry( |
| 409 | canonical_name, |
| 410 | name=str(data.get("name") or canonical_name.replace("-", " ").title()), |
| 411 | name_cn=str(data.get("name_cn") or data.get("name") or canonical_name.replace("-", " ").title()), |
| 412 | aliases=aliases, |
| 413 | paper_terms=paper_terms, |
| 414 | ) |
| 415 | |
| 416 | if data.get("source_text"): |
| 417 | normalized["source_text"] = str(data["source_text"]) |
| 418 | |
| 419 | return normalized |
| 420 | |
| 421 | |
| 422 | def load_lexicon() -> Dict[str, Dict[str, Any]]: |
no test coverage detected