Ignore case when comparing file extensions

This commit is contained in:
2013-09-09 17:16:24 +10:00
parent 5f788998a3
commit 4e0060a3ce
2 changed files with 16 additions and 2 deletions

View File

@@ -125,7 +125,7 @@ class FileManager:
for rootdir, dirnames, filenames in os.walk(outputdir): for rootdir, dirnames, filenames in os.walk(outputdir):
for fle in filenames: for fle in filenames:
filename = os.path.join(rootdir, fle) filename = os.path.join(rootdir, fle)
if os.path.splitext(fle)[1] in [".avi", ".mpg", ".mpeg", if os.path.splitext(fle)[1].lower() in [".avi", ".mpg", ".mpeg",
"mp4", ".mkv"]: "mp4", ".mkv"]:
if self.checkduplicates(filename): if self.checkduplicates(filename):
duplicates.append(filename) duplicates.append(filename)
@@ -147,7 +147,7 @@ class FileManager:
for _, _, filenames in os.walk(dirname): for _, _, filenames in os.walk(dirname):
for show in filenames: for show in filenames:
extension = os.path.splitext(show)[1] extension = os.path.splitext(show)[1]
if (extension in [".avi", ".mpg", ".mpeg", "mp4", ".mkv"] and if (extension.lower() in [".avi", ".mpg", ".mpeg", "mp4", ".mkv"] and
show[:6] == fileseasonepisode show[:6] == fileseasonepisode
and fileextension != extension): and fileextension != extension):
return True return True

View File

@@ -70,6 +70,17 @@ class libfilemanagertest(unittest.TestCase):
self.assertTrue(result) self.assertTrue(result)
minimock.restore() minimock.restore()
def test_checkduplicatethomas(self):
settings = Mock('libsettings.Settings')
filemanager = FileManager(settings)
os.walk = thomaswalk
result = filemanager.checkduplicates("/path/to/S12E05 - Henry Gets It Wrong - SD TV.mkv")
self.assertTrue(result)
minimock.restore()
def test_checkduplicatenomatch(self): def test_checkduplicatenomatch(self):
settings = Mock('libsettings.Settings') settings = Mock('libsettings.Settings')
filemanager = FileManager(settings) filemanager = FileManager(settings)
@@ -97,6 +108,9 @@ class libfilemanagertest(unittest.TestCase):
def dummywalk(arg): def dummywalk(arg):
return [("/path/to/", [], ["S03E14 - Test - SD TV.avi"])] return [("/path/to/", [], ["S03E14 - Test - SD TV.avi"])]
def thomaswalk(arg):
return [(("/path/to/", [], ["S12E05 - Henry Gets It Wrong - Unknown.AVI"]))]
if __name__ == '__main__': if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(libfilemanagertest) suite = unittest.TestLoader().loadTestsFromTestCase(libfilemanagertest)
unittest.TextTestRunner(verbosity=2).run(suite) unittest.TextTestRunner(verbosity=2).run(suite)