def test_parse_all_signatures(self) -> None: assert_equal(parse_all_signatures(['random text', '.. function:: fn(arg', '.. function:: fn()', ' .. method:: fn2(arg)']), ([('fn', '()'), ('fn2', '(arg)')], []))
def test_parse_all_signatures(self) -> None: assert_equal(parse_all_signatures(['random text', '.. function:: fn(arg', '.. function:: fn()', ' .. method:: fn2(arg)']), ([('fn', '()'), ('fn2', '(arg)')], []))
def collect_docs_signatures(doc_dir: str) -> Tuple[Dict[str, str], Dict[str, str]]: """Gather all function and class signatures in the docs. Return a tuple (function signatures, class signatures). Currently only used for C modules. """ all_sigs = [] # type: List[Sig] all_class_sigs = [] # type: List[Sig] for path in glob.glob('%s/*.rst' % doc_dir): with open(path) as f: loc_sigs, loc_class_sigs = parse_all_signatures(f.readlines()) all_sigs += loc_sigs all_class_sigs += loc_class_sigs sigs = dict(find_unique_signatures(all_sigs)) class_sigs = dict(find_unique_signatures(all_class_sigs)) return sigs, class_sigs