def show(self, *names): if MultiMatcher(names, match_if_no_patterns=True).match('intro'): self._show_intro(self._libdoc) if self._libdoc.inits: self._show_inits(self._libdoc) for kw in self._keywords.search(names): self._show_keyword(kw)
class FlattenByNameMatcher(object): def __init__(self, flatten): if not is_list_like(flatten): flatten = [flatten] names = [n[5:] for n in flatten if n[:5].lower() == 'name:'] self._matcher = MultiMatcher(names) def match(self, kwname, libname=None): name = '%s.%s' % (libname, kwname) if libname else kwname return self._matcher.match(name) def __nonzero__(self): return bool(self._matcher)
class _NamePatterns(object): def __init__(self, patterns=None): self._matcher = MultiMatcher(patterns, ignore='_') def match(self, name, longname=None): return self._match(name) or longname and self._match_longname(longname) def _match(self, name): return self._matcher.match(name) def _match_longname(self, name): raise NotImplementedError def __nonzero__(self): return bool(self._matcher) def __iter__(self): return iter(self._matcher)
class _NamePatterns(object): def __init__(self, patterns=None): self._matcher = MultiMatcher(patterns, ignore=["_"]) def match(self, name, longname=None): return self._match(name) or longname and self._match_longname(longname) def _match(self, name): return self._matcher.match(name) def _match_longname(self, name): raise NotImplementedError def __nonzero__(self): return bool(self._matcher) def __iter__(self): return iter(self._matcher)
def __init__(self, patterns=None): self._matcher = MultiMatcher(patterns, ignore='_')
def __init__(self, flatten): if not is_list_like(flatten): flatten = [flatten] names = [n[5:] for n in flatten if n[:5].lower() == 'name:'] self._matcher = MultiMatcher(names)
def search(self, patterns): matcher = MultiMatcher(patterns, match_if_no_patterns=True) for kw in self._keywords: if matcher.match(kw.name): yield kw