def test_adding_a_tag_to_file_without_extension(self): filename = "file without extension" self.create_tmp_file(filename) filetags.handle_file(os.path.join(self.tempdir, filename), ['foo'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(self.file_exists(filename + ' -- foo'), True)
def test_adding_a_tag_to_file_without_extension(self): filename = "file without extension" self.create_tmp_file(filename) filetags.handle_file(os.path.join(self.tempdir, filename), ['foo'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(self.file_exists(filename + ' -- foo'), True)
def NOtest_list_tags_by_alphabet(self): ## starting with no file with tags: self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=True), {}) ## adding a file tag: filetags.handle_file(os.path.join(self.tempdir, self.testfilename), [u'similar1'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=True), {}) self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=False), {u'similar1': 1}) ## adding a file tag: filetags.handle_file(os.path.join(self.tempdir, u'a test file . for you -- similar1.txt'), [u'foo'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=True), {}) self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=False), {u'foo': 1, u'similar1': 1}) ## adding a another file: self.create_tmp_file(u'a second file') filetags.handle_file(os.path.join(self.tempdir, u'a second file'), [u'foo'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=True), {}) self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=False), {u'foo': 2, u'similar1': 1}) ## adding similar tag: filetags.handle_file(os.path.join(self.tempdir, u'a second file -- foo'), [u'similar2'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=True), {u'similar1': 1, u'similar2': 1}) self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=False), {u'foo': 2, u'similar1': 1, u'similar2': 1})
def NOtest_list_tags_by_number(self): # starting with no file with tags: self.assertEqual(filetags.list_tags_by_number(max_tag_count=1), {}) # adding a file tag: filetags.handle_file(os.path.join(self.tempdir, self.testfilename), ['bar'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(filetags.list_tags_by_number(max_tag_count=1), {'bar': 1}) self.assertEqual(filetags.list_tags_by_number(max_tag_count=0), {'bar': 1}) # adding a another file tag: filetags.handle_file(os.path.join(self.tempdir, 'a test file . for you -- bar.txt'), ['foo'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(filetags.list_tags_by_number(max_tag_count=1), {'bar': 1, 'foo': 1}) self.assertEqual(filetags.list_tags_by_number(max_tag_count=0), {'bar': 1, 'foo': 1}) # adding a another file: self.create_tmp_file('a second file') filetags.handle_file(os.path.join(self.tempdir, 'a second file'), ['foo'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(filetags.list_tags_by_number(max_tag_count=1), {'bar': 1}) self.assertEqual(filetags.list_tags_by_number(max_tag_count=1), {'bar': 1}) self.assertEqual(filetags.list_tags_by_number(max_tag_count=0), {'bar': 1, 'foo': 2})
def NOtest_list_tags_by_number(self): # starting with no file with tags: self.assertEqual(filetags.list_tags_by_number(max_tag_count=1), {}) # adding a file tag: filetags.handle_file(os.path.join(self.tempdir, self.testfilename), ['bar'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(filetags.list_tags_by_number(max_tag_count=1), {'bar': 1}) self.assertEqual(filetags.list_tags_by_number(max_tag_count=0), {'bar': 1}) # adding a another file tag: filetags.handle_file(os.path.join(self.tempdir, 'a test file . for you -- bar.txt'), ['foo'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(filetags.list_tags_by_number(max_tag_count=1), {'bar': 1, 'foo': 1}) self.assertEqual(filetags.list_tags_by_number(max_tag_count=0), {'bar': 1, 'foo': 1}) # adding a another file: self.create_tmp_file('a second file') filetags.handle_file(os.path.join(self.tempdir, 'a second file'), ['foo'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(filetags.list_tags_by_number(max_tag_count=1), {'bar': 1}) self.assertEqual(filetags.list_tags_by_number(max_tag_count=1), {'bar': 1}) self.assertEqual(filetags.list_tags_by_number(max_tag_count=0), {'bar': 1, 'foo': 2})
def test_unique_tags(self): # Note: default unique_tags is a hard-coded list of u'teststring1' and u'teststring2' # adding a unique tag to a file without any tags: dummy_filename = filetags.handle_file(os.path.join( self.tempdir, self.testfilename), ['teststring1'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual( self.file_exists('a test file . for you -- teststring1.txt'), True) # adding a second unique tag - first one should be gone: filetags.handle_file(os.path.join( self.tempdir, 'a test file . for you -- teststring1.txt'), ['teststring2'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual( self.file_exists('a test file . for you -- teststring2.txt'), True) # adding non-unique tags: filetags.handle_file(os.path.join( self.tempdir, 'a test file . for you -- teststring2.txt'), ['one', 'two'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual( self.file_exists( 'a test file . for you -- teststring2 one two.txt'), True) # removing unique tag: filetags.handle_file(os.path.join( self.tempdir, 'a test file . for you -- teststring2 one two.txt'), ['teststring2', 'one'], do_remove=True, do_filter=False, dryrun=False) self.assertEqual(self.file_exists('a test file . for you -- two.txt'), True)
def NOtest_list_tags_by_alphabet(self): # starting with no file with tags: self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=True), {}) # adding a file tag: filetags.handle_file(os.path.join(self.tempdir, self.testfilename), ['similar1'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=True), {}) self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=False), {'similar1': 1}) # adding a file tag: filetags.handle_file(os.path.join(self.tempdir, 'a test file . for you -- similar1.txt'), ['foo'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=True), {}) self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=False), {'foo': 1, 'similar1': 1}) # adding a another file: self.create_tmp_file('a second file') filetags.handle_file(os.path.join(self.tempdir, 'a second file'), ['foo'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=True), {}) self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=False), {'foo': 2, 'similar1': 1}) # adding similar tag: filetags.handle_file(os.path.join(self.tempdir, 'a second file -- foo'), ['similar2'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=True), {'similar1': 1, 'similar2': 1}) self.assertEqual(filetags.list_tags_by_alphabet(only_with_similar_tags=False), {'foo': 2, 'similar1': 1, 'similar2': 1})
def test_unique_labels(self): ## adding a unique label to a file without any tags: new_filename = filetags.handle_file(os.path.join(self.tempdir, self.testfilename), [u'labelgreen'], False, False) self.assertEqual(self.file_exists(u'a test file . for you -- labelgreen.txt'), True) ## adding a second unique label - first one should be gone: filetags.handle_file(os.path.join(self.tempdir, u'a test file . for you -- labelgreen.txt'), [u'labelyellow'], do_remove=False, dryrun=False) self.assertEqual(self.file_exists(u'a test file . for you -- labelyellow.txt'), True) ## adding non-unique tags: filetags.handle_file(os.path.join(self.tempdir, u'a test file . for you -- labelyellow.txt'), [u'one', u'two'], do_remove=False, dryrun=False) self.assertEqual(self.file_exists(u'a test file . for you -- labelyellow one two.txt'), True) ## removing unique label: filetags.handle_file(os.path.join(self.tempdir, u'a test file . for you -- labelyellow one two.txt'), [u'labelyellow', u'one'], do_remove=True, dryrun=False) self.assertEqual(self.file_exists(u'a test file . for you -- two.txt'), True)
def test_unique_tags(self): ## Note: default unique_tags is a hard-coded list of u'teststring1' and u'teststring2' ## adding a unique tag to a file without any tags: new_filename = filetags.handle_file(os.path.join(self.tempdir, self.testfilename), [u'teststring1'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(self.file_exists(u'a test file . for you -- teststring1.txt'), True) ## adding a second unique tag - first one should be gone: filetags.handle_file(os.path.join(self.tempdir, u'a test file . for you -- teststring1.txt'), [u'teststring2'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(self.file_exists(u'a test file . for you -- teststring2.txt'), True) ## adding non-unique tags: filetags.handle_file(os.path.join(self.tempdir, u'a test file . for you -- teststring2.txt'), [u'one', u'two'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(self.file_exists(u'a test file . for you -- teststring2 one two.txt'), True) ## removing unique tag: filetags.handle_file(os.path.join(self.tempdir, u'a test file . for you -- teststring2 one two.txt'), [u'teststring2', u'one'], do_remove=True, do_filter=False, dryrun=False) self.assertEqual(self.file_exists(u'a test file . for you -- two.txt'), True)
def test_list_tags_by_number(self): ## starting with no file with tags: self.assertEqual(filetags.list_tags_by_number(max_tag_count=1), {}) ## adding a file tag: filetags.handle_file(os.path.join(self.tempdir, self.testfilename), [u'bar'], False, False) self.assertEqual(filetags.list_tags_by_number(max_tag_count=1), {u'bar': 1}) self.assertEqual(filetags.list_tags_by_number(max_tag_count=0), {u'bar': 1}) ## adding a another file tag: filetags.handle_file(os.path.join(self.tempdir, u'a test file . for you -- bar.txt'), [u'foo'], False, False) self.assertEqual(filetags.list_tags_by_number(max_tag_count=1), {u'bar': 1, u'foo': 1}) self.assertEqual(filetags.list_tags_by_number(max_tag_count=0), {u'bar': 1, u'foo': 1}) ## adding a another file: self.create_tmp_file(u'a second file') filetags.handle_file(os.path.join(self.tempdir, u'a second file'), [u'foo'], False, False) self.assertEqual(filetags.list_tags_by_number(max_tag_count=1), {u'bar': 1}) self.assertEqual(filetags.list_tags_by_number(max_tag_count=1), {u'bar': 1}) self.assertEqual(filetags.list_tags_by_number(max_tag_count=0), {u'bar': 1, u'foo': 2})
def test_add_and_remove_tags(self): # adding a tag to a file without any tags: filetags.handle_file(os.path.join(self.tempdir, self.testfilename), ['bar'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(self.file_exists('a test file . for you -- bar.txt'), True) # adding a second tag: filetags.handle_file(os.path.join(self.tempdir, 'a test file . for you -- bar.txt'), ['foo'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(self.file_exists('a test file . for you -- bar foo.txt'), True) # adding two tags: filetags.handle_file(os.path.join(self.tempdir, 'a test file . for you -- bar foo.txt'), ['one', 'two'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(self.file_exists('a test file . for you -- bar foo one two.txt'), True) # simulating another tag: filetags.handle_file(os.path.join(self.tempdir, 'a test file . for you -- bar foo one two.txt'), ['one', 'two'], do_remove=False, do_filter=False, dryrun=True) self.assertEqual(self.file_exists('a test file . for you -- bar foo one two.txt'), True) # removing three tag: filetags.handle_file(os.path.join(self.tempdir, 'a test file . for you -- bar foo one two.txt'), ['bar', 'one', 'foo'], do_remove=True, do_filter=False, dryrun=False) self.assertEqual(self.file_exists('a test file . for you -- two.txt'), True) # removing last tag: filetags.handle_file(os.path.join(self.tempdir, 'a test file . for you -- two.txt'), ['two'], do_remove=True, do_filter=False, dryrun=False) self.assertEqual(self.file_exists('a test file . for you.txt'), True)
def test_handle_file_with_nonexistent_filename(self): with self.assertRaises(FileNotFoundError): filetags.handle_file(os.path.join(self.tempdir, 'this filename does not exist - ' + self.testfilename), ['bar'], do_remove=False, do_filter=False, dryrun=False)
def test_add_and_remove_tags(self): ## adding a tag to a file without any tags: filetags.handle_file(os.path.join(self.tempdir, self.testfilename), [u'bar'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(self.file_exists(u'a test file . for you -- bar.txt'), True) ## adding a second tag: filetags.handle_file(os.path.join(self.tempdir, u'a test file . for you -- bar.txt'), [u'foo'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(self.file_exists(u'a test file . for you -- bar foo.txt'), True) ## adding two tags: filetags.handle_file(os.path.join(self.tempdir, u'a test file . for you -- bar foo.txt'), [u'one', u'two'], do_remove=False, do_filter=False, dryrun=False) self.assertEqual(self.file_exists(u'a test file . for you -- bar foo one two.txt'), True) ## simulating another tag: filetags.handle_file(os.path.join(self.tempdir, u'a test file . for you -- bar foo one two.txt'), [u'one', u'two'], do_remove=False, do_filter=False, dryrun=True) self.assertEqual(self.file_exists(u'a test file . for you -- bar foo one two.txt'), True) ## removing three tag: filetags.handle_file(os.path.join(self.tempdir, u'a test file . for you -- bar foo one two.txt'), [u'bar', u'one', u'foo'], do_remove=True, do_filter=False, dryrun=False) self.assertEqual(self.file_exists(u'a test file . for you -- two.txt'), True) ## removing last tag: filetags.handle_file(os.path.join(self.tempdir, u'a test file . for you -- two.txt'), [u'two'], do_remove=True, do_filter=False, dryrun=False) self.assertEqual(self.file_exists(u'a test file . for you.txt'), True)
def test_adding_a_tag_to_file_without_extension(self): filename = u"file without extension" self.create_tmp_file(filename) filetags.handle_file(os.path.join(self.tempdir, filename), [u'foo'], False, False) self.assertEqual(self.file_exists(filename + u' -- foo'), True)