def compile_all(self): src_files = set() for root, dirs, files in self.src_path.walk(): filter_ = re.compile(self.src_filter) if self.src_filter else None for f in files: path = Path(root, f) if not path.extension() in self.src_extensions: continue if not filter_ or filter_.search(str(path)): src_files.add(path) if src_files: self.compile_(src_files)