Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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})
Exemplo n.º 4
0
    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})
Exemplo n.º 5
0
    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})
Exemplo n.º 6
0
    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)
Exemplo n.º 7
0
    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})
Exemplo n.º 8
0
    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)
Exemplo n.º 9
0
    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)
Exemplo n.º 10
0
    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})
Exemplo n.º 11
0
    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)
Exemplo n.º 12
0
    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)
Exemplo n.º 13
0
    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)
Exemplo n.º 14
0
    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)