Example #1
0
 def apply(self):
     for paragraph in utils.get_by_type(self._data, "files"):
         if paragraph is None:
             break
         for patterns in paragraph["Files"]:
             paragraph.patterns = []
             for pattern in patterns.split():
                 paragraph.patterns.append(pattern)
     return True
Example #2
0
 def _get_matches(self):
     paragraphs = []
     for paragraph in utils.get_by_type(self._paragraphs, "files"):
         paragraphs.append((paragraph, paragraph.patterns))
     for root, dirs, files in os.walk(self._directory, topdown=True):
         root = relpath(root, self._directory)
         paths = [join(root, filename) for filename in files]
         self._unmatch |= set(paths)
         for paragraph, patterns in paragraphs:
             for pattern in patterns:
                 goodfiles = []
                 if pattern.find(os.path.sep) == -1:
                     pattern_norm = os.path.join(os.path.curdir, pattern)
                     goodfiles.extend(fnmatch.filter(paths, pattern_norm))
                 goodfiles.extend(fnmatch.filter(paths, pattern))
                 self._unmatch -= set(goodfiles)
                 self._match.update({f: paragraph for f in goodfiles})