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
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
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')] )