def test_select_by_multiple_attributes(self): """Also select by author name""" selector_strings = {'author': 'flxbe', 'tag': 'tag2'} expected_results = self.select_results(['file1']) selected_results = select_results(self.results, selector_strings) self.assertEqual(len(selected_results), 1) self.assertEqual(selected_results, expected_results)
def test_exclude_invalid_results(self): """Only one result is valid.""" selector_strings = {'tag': 'tag1,tag2'} expected_results = self.select_results(['file1']) selected_results = select_results(self.results, selector_strings) self.assertEqual(len(selected_results), 1) self.assertEqual(selected_results, expected_results)
def main(): """main """ options = docopt(__doc__) if options['--version']: print(__version__) return if options['<dir>'] is not None: srcdir = options['<dir>'] else: srcdir = '.' selectors = {'tag': options['--tag'], 'author': options['--author']} results = pt.read_directory(srcdir) results = selector.select_results(results, selectors) filenames = [os.path.basename(f) for f, _ in results] filenames.sort() for filename in filenames: print(filename)
def test_all_results_valid(self): """All results are valid.""" selector_strings = {'tag': 'tag1'} selected_results = select_results(self.results, selector_strings) self.assertEqual(selected_results, self.results)
def test_unknown_selectors_without_value(self): """An unknown selector without any value is used.""" selector_strings = {'unknwon': None} selected_results = select_results(self.results, selector_strings) self.assertEqual(selected_results, self.results)
def test_unknown_selectors(self): """An unknown selector is used.""" selector_strings = {'unknwon': 'value'} selected_results = select_results(self.results, selector_strings) self.assertEqual(selected_results, [])
def test_no_selectors(self): """This should return everything.""" selected_results = select_results(self.results, {}) self.assertEqual(selected_results, self.results)