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

Function add_new_direction

config/direction_lexicon.py:686–711  ·  view source on GitHub ↗
(
    direction_key: str,
    name: str,
    name_cn: str,
    keywords: Optional[List[str]] = None,
    *,
    aliases: Optional[List[str]] = None,
    paper_terms: Optional[List[str]] = None,
    source_text: str = "",
)

Source from the content-addressed store, hash-verified

684
685
686def add_new_direction(
687 direction_key: str,
688 name: str,
689 name_cn: str,
690 keywords: Optional[List[str]] = None,
691 *,
692 aliases: Optional[List[str]] = None,
693 paper_terms: Optional[List[str]] = None,
694 source_text: str = "",
695) -> bool:
696 canonical_name = normalize_direction_key(direction_key)
697 if not canonical_name:
698 return False
699
700 lexicon = load_lexicon()
701 entry = _default_entry(
702 canonical_name,
703 name=name or canonical_name.replace("-", " ").title(),
704 name_cn=name_cn or name or canonical_name.replace("-", " ").title(),
705 aliases=_dedupe_strings([*(aliases or []), *(keywords or []), source_text]),
706 paper_terms=_dedupe_strings([*(paper_terms or []), *(keywords or []), source_text]),
707 )
708 if source_text:
709 entry["source_text"] = source_text
710 lexicon[canonical_name] = entry
711 return save_lexicon(lexicon)
712
713
714def _load_pending_store() -> Dict[str, Dict[str, Any]]:

Callers 2

_learn_new_directionFunction · 0.90

Calls 5

normalize_direction_keyFunction · 0.85
load_lexiconFunction · 0.85
_default_entryFunction · 0.85
_dedupe_stringsFunction · 0.85
save_lexiconFunction · 0.85

Tested by

no test coverage detected