def rewrite_path_filter(self): if self._rewrite_path_filter is not None: return self._rewrite_path_filter ff = FileFilter(self._config.source_path) selectors = self._data.get('files', []) + self._data.get('rewrite_path', []) for selector in selectors: if list(selector.keys()) == ['include']: ff.include(selector['include']) elif list(selector.keys()) == ['exclude']: ff.exclude(selector['exclude']) else: raise ConfigurationError('file selector must be include xor exclude') self._rewrite_path_filter = ff return self._rewrite_path_filter
def test_file_filter(self): ff = FileFilter(self.DATA) ff.include('**') ff.exclude('**/*ignore') ff.include('**/*want') self.assertEqual(ff.sorted(), [ os.path.join(self.DATA, 'a'), os.path.join(self.DATA, 'a/a_want'), os.path.join(self.DATA, 'a/b'), os.path.join(self.DATA, 'a/b/b_want'), os.path.join(self.DATA, 'a/link'), os.path.join(self.DATA, 'root_ignore'), os.path.join(self.DATA, 'root_want') ])
def test_file_filter(self): ff = FileFilter(self.DATA) ff.include('**') ff.exclude('**/*ignore') ff.include('**/*want') self.assertEqual( ff.sorted(), [ os.path.join(self.DATA, 'a'), os.path.join(self.DATA, 'a/a_want'), os.path.join(self.DATA, 'a/b'), os.path.join(self.DATA, 'a/b/b_want'), os.path.join(self.DATA, 'a/link'), os.path.join(self.DATA, 'root_ignore'), os.path.join(self.DATA, 'root_want')] )
def files(self): if self._files is not None: return self._files ff = FileFilter(self._config.source_path) selectors = self._data.get('files', []) for selector in selectors: if list(selector.keys()) == ['include']: ff.include(selector['include']) elif list(selector.keys()) == ['exclude']: ff.exclude(selector['exclude']) else: raise ConfigurationError( 'file selector must be include xor exclude') self._files = ff.sorted() return self._files