docs: def match_local(self, prefix, includes, excludes):
          """
          Filters os.walk() with include and exclude patterns.
          See: http://stackoverflow.com/a/5141829/93559
          """
          includes_pattern = r"|".join([fnmatch.translate(x) for x in includes])
          excludes_pattern = r"|".join([fnmatch.translate(x) for x in excludes]) or r"$."
          matches = []
          for root, dirs, files in os.walk(prefix, topdown=True):
              # exclude dirs
              dirs[:] = [os.path.join(root, d) for d in dirs]
              dirs[:] = [d for d in dirs if not re.match(excludes_pattern,
                                                         d.split(root)[1])]
              # exclude/include files
              files = [os.path.join(root, f) for f in files]
              files = [os.path.join(root, f) for f in files
                       if not re.match(excludes_pattern, f)]
              files = [os.path.join(root, f) for f in files
                       if re.match(includes_pattern, f.split(prefix)[1])]
              for fname in files:
                  matches.append(fname)
          return matches