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 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 search(self, patterns): matcher = MultiMatcher(patterns, match_if_no_patterns=True) for kw in self._keywords: if matcher.match(kw.name): yield kw
def search(self, patterns): matcher = MultiMatcher(patterns, match_if_no_patterns=True) for kw in self._keywords: if matcher.match(kw.name): yield kw