diff --git a/normalisename.py b/normalisename.py index d6075a1..a53d681 100755 --- a/normalisename.py +++ b/normalisename.py @@ -46,13 +46,21 @@ class Normalisename: return [self.normalise(path) for path in paths] def normalise(self, path): + path = self.strip_trailing_slash(path) directory = dirname(path) filename = basename(path) normalpath = joinpath(directory, self.normalname(filename)) + if path != normalpath: self.operation(path, normalpath) # pylint: disable=not-callable return normalpath + @staticmethod + def strip_trailing_slash(path): + if path[-1] == '/': + path = path[:-1] + return path + def normalname(self, filename): return unidecode( ''.join( diff --git a/test.py b/test.py index 73dde3a..a82ae4f 100644 --- a/test.py +++ b/test.py @@ -50,4 +50,5 @@ def test_dirname_is_not_changed(normalise, path): def test_name_with_trailing_slash_is_normalised(normalise): - assert False + path = '/home/user/Desktop/cat directory/' + assert normalise(path) == f'/home/user/Desktop/cat{SEP}directory'