class ListAssociatedFiles(unittest.TestCase): def __init__(self, test_case): super(ListAssociatedFiles, self).__init__(test_case) self.test_tree = os.path.join(u'Show Name', u'associated_files', u'random', u'recursive', u'subdir') file_names = [ u'Show Name [SickRage].avi', u'Show Name [SickRage].srt', u'Show Name [SickRage].nfo', u'Show Name [SickRage].en.srt', u'Non-Associated Show [SickRage].srt', u'Non-Associated Show [SickRage].en.srt', u'Show [SickRage] Non-Associated.en.srt', u'Show [SickRage] Non-Associated.srt', ] self.file_list = [os.path.join(u'Show Name', f) for f in file_names] + [os.path.join(self.test_tree, f) for f in file_names] self.post_processor = PostProcessor(u'Show Name') self.maxDiff = None def setUp(self): make_dirs(self.test_tree) for test_file in self.file_list: open(test_file, 'a').close() def tearDown(self): shutil.rmtree(u'Show Name') def test_subfolders(self): associated_files = self.post_processor.list_associated_files(self.file_list[0], subfolders=True) associated_files = sorted(file_name.lstrip('./') for file_name in associated_files) out_list = sorted(file_name for file_name in self.file_list[1:] if 'Non-Associated' not in file_name) self.assertEqual(out_list, associated_files) def test_no_subfolders(self): associated_files = self.post_processor.list_associated_files(self.file_list[0], subfolders=False) associated_files = sorted(file_name.lstrip('./') for file_name in associated_files) out_list = sorted(file_name for file_name in self.file_list[1:] if 'associated_files' not in file_name and 'Non-Associated' not in file_name) self.assertEqual(out_list, associated_files) def test_subtitles_only(self): associated_files = self.post_processor.list_associated_files(self.file_list[0], subtitles_only=True, subfolders=True) associated_files = sorted(file_name.lstrip('./') for file_name in associated_files) out_list = sorted(file_name for file_name in self.file_list if file_name.endswith('.srt') and 'Non-Associated' not in file_name) self.assertEqual(out_list, associated_files) def test_subtitles_only_no_subfolders(self): associated_files = self.post_processor.list_associated_files(self.file_list[0], subtitles_only=True, subfolders=False) associated_files = sorted(file_name.lstrip('./') for file_name in associated_files) out_list = sorted(file_name for file_name in self.file_list if file_name.endswith('.srt') and 'associated_files' not in file_name and 'Non-Associated' not in file_name) self.assertEqual(out_list, associated_files)
class ListAssociatedFiles(unittest.TestCase): def __init__(self, test_case): super(ListAssociatedFiles, self).__init__(test_case) self.test_tree = os.path.join('Show Name', 'associated_files', 'random', 'recursive', 'subdir') file_names = [ 'Show Name [SickChill].avi', 'Show Name [SickChill].srt', 'Show Name [SickChill].nfo', 'Show Name [SickChill].en.srt', 'Non-Associated Show [SickChill].srt', 'Non-Associated Show [SickChill].en.srt', 'Show [SickChill] Non-Associated.en.srt', 'Show [SickChill] Non-Associated.srt', ] self.file_list = [os.path.join('Show Name', f) for f in file_names] + [os.path.join(self.test_tree, f) for f in file_names] self.post_processor = PostProcessor('Show Name') self.maxDiff = None sickbeard.MOVE_ASSOCIATED_FILES = True sickbeard.ALLOWED_EXTENSIONS = '' def setUp(self): make_dirs(self.test_tree) for test_file in self.file_list: open(test_file, 'a').close() def tearDown(self): shutil.rmtree('Show Name') def test_subfolders(self): # Test edge cases first: self.assertEqual([], # empty file_path self.post_processor.list_associated_files('', subfolders=True)) self.assertEqual([], # no file name self.post_processor.list_associated_files('\\Show Name\\.nomedia', subfolders=True)) associated_files = self.post_processor.list_associated_files(self.file_list[0], subfolders=True) associated_files = sorted(file_name.lstrip('./') for file_name in associated_files) out_list = sorted(file_name for file_name in self.file_list[1:] if 'Non-Associated' not in file_name) self.assertEqual(out_list, associated_files) # Test no associated files: associated_files = self.post_processor.list_associated_files('Fools Quest.avi', subfolders=True) def test_no_subfolders(self): associated_files = self.post_processor.list_associated_files(self.file_list[0], subfolders=False) associated_files = sorted(file_name.lstrip('./') for file_name in associated_files) out_list = sorted(file_name for file_name in self.file_list[1:] if 'associated_files' not in file_name and 'Non-Associated' not in file_name) self.assertEqual(out_list, associated_files) def test_subtitles_only(self): associated_files = self.post_processor.list_associated_files(self.file_list[0], subtitles_only=True, subfolders=True) associated_files = sorted(file_name.lstrip('./') for file_name in associated_files) out_list = sorted(file_name for file_name in self.file_list if file_name.endswith('.srt') and 'Non-Associated' not in file_name) self.assertEqual(out_list, associated_files) def test_subtitles_only_no_subfolders(self): associated_files = self.post_processor.list_associated_files(self.file_list[0], subtitles_only=True, subfolders=False) associated_files = sorted(file_name.lstrip('./') for file_name in associated_files) out_list = sorted(file_name for file_name in self.file_list if file_name.endswith('.srt') and 'associated_files' not in file_name and 'Non-Associated' not in file_name) self.assertEqual(out_list, associated_files)
class ListAssociatedFiles(unittest.TestCase): def __init__(self, test_case): super(ListAssociatedFiles, self).__init__(test_case) self.test_tree = os.path.join('Show Name', 'associated_files', 'random', 'recursive', 'subdir') file_names = [ 'Show Name [SickRage].avi', 'Show Name [SickRage].srt', 'Show Name [SickRage].nfo', 'Show Name [SickRage].en.srt', 'Non-Associated Show [SickRage].srt', 'Non-Associated Show [SickRage].en.srt', 'Show [SickRage] Non-Associated.en.srt', 'Show [SickRage] Non-Associated.srt', ] self.file_list = [os.path.join('Show Name', f) for f in file_names] + [os.path.join(self.test_tree, f) for f in file_names] self.post_processor = PostProcessor('Show Name') self.maxDiff = None sickbeard.MOVE_ASSOCIATED_FILES = True sickbeard.ALLOWED_EXTENSIONS = u'' def setUp(self): make_dirs(self.test_tree) for test_file in self.file_list: open(test_file, 'a').close() def tearDown(self): shutil.rmtree('Show Name') def test_subfolders(self): # Test edge cases first: self.assertEqual([], # empty file_path self.post_processor.list_associated_files('', subfolders=True)) self.assertEqual([], # no file name self.post_processor.list_associated_files('\\Show Name\\.nomedia', subfolders=True)) associated_files = self.post_processor.list_associated_files(self.file_list[0], subfolders=True) associated_files = sorted(file_name.lstrip('./') for file_name in associated_files) out_list = sorted(file_name for file_name in self.file_list[1:] if 'Non-Associated' not in file_name) self.assertEqual(out_list, associated_files) # Test no associated files: associated_files = self.post_processor.list_associated_files('Fools Quest.avi', subfolders=True) def test_no_subfolders(self): associated_files = self.post_processor.list_associated_files(self.file_list[0], subfolders=False) associated_files = sorted(file_name.lstrip('./') for file_name in associated_files) out_list = sorted(file_name for file_name in self.file_list[1:] if 'associated_files' not in file_name and 'Non-Associated' not in file_name) self.assertEqual(out_list, associated_files) def test_subtitles_only(self): associated_files = self.post_processor.list_associated_files(self.file_list[0], subtitles_only=True, subfolders=True) associated_files = sorted(file_name.lstrip('./') for file_name in associated_files) out_list = sorted(file_name for file_name in self.file_list if file_name.endswith('.srt') and 'Non-Associated' not in file_name) self.assertEqual(out_list, associated_files) def test_subtitles_only_no_subfolders(self): associated_files = self.post_processor.list_associated_files(self.file_list[0], subtitles_only=True, subfolders=False) associated_files = sorted(file_name.lstrip('./') for file_name in associated_files) out_list = sorted(file_name for file_name in self.file_list if file_name.endswith('.srt') and 'associated_files' not in file_name and 'Non-Associated' not in file_name) self.assertEqual(out_list, associated_files)
class ListAssociatedFiles(unittest.TestCase): def __init__(self, test_case): super(ListAssociatedFiles, self).__init__(test_case) self.test_tree = os.path.join(u'Show Name', u'associated_files', u'random', u'recursive', u'subdir') file_names = [ u'Show Name [SickRage].avi', u'Show Name [SickRage].srt', u'Show Name [SickRage].nfo', u'Show Name [SickRage].en.srt', u'Non-Associated Show [SickRage].srt', u'Non-Associated Show [SickRage].en.srt', u'Show [SickRage] Non-Associated.en.srt', u'Show [SickRage] Non-Associated.srt', ] self.file_list = [ os.path.join(u'Show Name', f) for f in file_names ] + [os.path.join(self.test_tree, f) for f in file_names] self.post_processor = PostProcessor(u'Show Name') self.maxDiff = None def setUp(self): make_dirs(self.test_tree) for test_file in self.file_list: open(test_file, 'a').close() def tearDown(self): shutil.rmtree(u'Show Name') def test_subfolders(self): associated_files = self.post_processor.list_associated_files( self.file_list[0], subfolders=True) associated_files = sorted( file_name.lstrip('./') for file_name in associated_files) out_list = sorted(file_name for file_name in self.file_list[1:] if 'Non-Associated' not in file_name) self.assertEqual(out_list, associated_files) def test_no_subfolders(self): associated_files = self.post_processor.list_associated_files( self.file_list[0], subfolders=False) associated_files = sorted( file_name.lstrip('./') for file_name in associated_files) out_list = sorted(file_name for file_name in self.file_list[1:] if 'associated_files' not in file_name and 'Non-Associated' not in file_name) self.assertEqual(out_list, associated_files) def test_subtitles_only(self): associated_files = self.post_processor.list_associated_files( self.file_list[0], subtitles_only=True, subfolders=True) associated_files = sorted( file_name.lstrip('./') for file_name in associated_files) out_list = sorted(file_name for file_name in self.file_list if file_name.endswith('.srt') and 'Non-Associated' not in file_name) self.assertEqual(out_list, associated_files) def test_subtitles_only_no_subfolders(self): associated_files = self.post_processor.list_associated_files( self.file_list[0], subtitles_only=True, subfolders=False) associated_files = sorted( file_name.lstrip('./') for file_name in associated_files) out_list = sorted( file_name for file_name in self.file_list if file_name.endswith('.srt') and 'associated_files' not in file_name and 'Non-Associated' not in file_name) self.assertEqual(out_list, associated_files)