Exemple #1
0
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)
Exemple #2
0
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)
Exemple #3
0
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)
Exemple #4
0
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
Exemple #6
0
 def search(self, patterns):
     matcher = MultiMatcher(patterns, match_if_no_patterns=True)
     for kw in self._keywords:
         if matcher.match(kw.name):
             yield kw