(canonical_name: str, alias: str)
| 665 | |
| 666 | |
| 667 | def add_direction_alias(canonical_name: str, alias: str) -> bool: |
| 668 | alias_text = str(alias or "").strip() |
| 669 | if not alias_text: |
| 670 | return False |
| 671 | |
| 672 | normalized_canonical = normalize_direction_key(canonical_name) |
| 673 | lexicon = load_lexicon() |
| 674 | entry = lexicon.get(normalized_canonical) |
| 675 | if entry is None: |
| 676 | return False |
| 677 | |
| 678 | aliases = _dedupe_strings([*(entry.get("aliases", []) or []), alias_text]) |
| 679 | paper_terms = entry.get("paper_terms", []) or [] |
| 680 | entry["aliases"] = aliases |
| 681 | entry["keywords"] = _dedupe_strings(paper_terms) |
| 682 | lexicon[normalized_canonical] = entry |
| 683 | return save_lexicon(lexicon) |
| 684 | |
| 685 | |
| 686 | def add_new_direction( |
no test coverage detected