def testCreateRegexpPatternLstFromWildchardExprLst(self): if os.name == 'posix': configFilePathName = '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/transfiles.ini' else: configFilePathName = 'D:\\Development\\Python\\trans_file_cloud\\test\\transfiles.ini' cm = ConfigManager(configFilePathName) fl = FileLister(cm) wildchardLst = [ '*Solemne*.mp3', 'test*.py', '/excldir/subdir/*.py', 'd:\\excldir\\subdir\\*.py', '/excldir/subdir/*.*', 'd:\\excldir\\subdir\\*.*' ] expectedPatternLst = [ re.compile('.*Solemne.*\.mp3\Z'), re.compile('test.*\.py\Z'), re.compile('/excldir/subdir/.*\.py\Z'), re.compile('d:\\\\excldir\\\\subdir\\\\.*\.py\Z'), re.compile('/excldir/subdir/.*\..*\Z'), re.compile('d:\\\\excldir\\\\subdir\\\\.*\..*\Z') ] self.assertEqual( expectedPatternLst, fl.createRegexpPatternLstFromWildchardExprLst(wildchardLst))
def testGetModifiedAndNotExcludedFileLst(self): if os.name == 'posix': configFilePathName = '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/transfiles.ini' projectDir = '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/testproject_3/projectdir' else: configFilePathName = 'D:\\Development\\Python\\trans_file_cloud\\test\\transfiles.ini' projectDir = 'D:\\Development\\Python\\trans_file_cloud\\test\\testproject_3\\projectdir' cm = ConfigManager(configFilePathName) fl = FileLister(cm) expectedAllFileNameLst = [ 'constants_2.py', 'filelister_2.py', 'filemover_2.py', 'README_2.md', 'testfilelister_2.py', 'testfilemover_2.py' ] if os.name == 'posix': expectedAllFilePathNameLst = [ '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/testproject_3/projectdir/constants_2.py', '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/testproject_3/projectdir/filelister_2.py', '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/testproject_3/projectdir/filemover_2.py', '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/testproject_3/projectdir/README_2.md', '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/testproject_3/projectdir/test/testfilelister_2.py', '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/testproject_3/projectdir/test/testfilemover_2.py' ] else: expectedAllFilePathNameLst = [ 'D:\\Development\\Python\\trans_file_cloud\\test\\testproject_3\\projectdir\\constants_2.py', 'D:\\Development\\Python\\trans_file_cloud\\test\\testproject_3\\projectdir\\filelister_2.py', 'D:\\Development\\Python\\trans_file_cloud\\test\\testproject_3\\projectdir\\filemover_2.py', 'D:\\Development\\Python\\trans_file_cloud\\test\\testproject_3\\projectdir\\README_2.md', 'D:\\Development\\Python\\trans_file_cloud\\test\\testproject_3\\projectdir\\test\\testfilelister_2.py', 'D:\\Development\\Python\\trans_file_cloud\\test\\testproject_3\\projectdir\\test\\testfilemover_2.py' ] excludedDirLst = [] excludedFileTypeWildchardLst = ['*.ini', '*.tmp', '*.jpg', '*.docx'] excludedFileTypePatternLst = fl.createRegexpPatternLstFromWildchardExprLst( excludedFileTypeWildchardLst) lastSyncTime = datetime.datetime.strptime( '15/06/2020 08:45:23', DATE_TIME_FORMAT_CONFIG_FILE) actualAllFileNameLst, actualAllFilePathNameLst = fl.getModifiedAndNotExcludedFileLst( projectDir, lastSyncTime, excludedDirLst, excludedFileTypePatternLst) self.assertEqual(sorted(expectedAllFileNameLst), sorted(actualAllFileNameLst)) self.assertEqual(sorted(expectedAllFilePathNameLst), sorted(actualAllFilePathNameLst))
def testExcludeFile(self): if os.name == 'posix': configFilePathName = '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/transfiles.ini' else: configFilePathName = 'D:\\Development\\Python\\trans_file_cloud\\test\\transfiles.ini' cm = ConfigManager(configFilePathName) fl = FileLister(cm) excludedFileSpecLst = [ '*.ini', '*.temp', 'help*.*', 'modified*', '*.pyc' ] excludedPatternLst = fl.createRegexpPatternLstFromWildchardExprLst( excludedFileSpecLst) self.assertTrue(fl.excludeFile('transfiles.ini', excludedPatternLst)) self.assertFalse(fl.excludeFile('transfiles.py', excludedPatternLst)) self.assertTrue(fl.excludeFile('transfiles.temp', excludedPatternLst)) self.assertFalse(fl.excludeFile('transfiles.tmp', excludedPatternLst)) self.assertTrue(fl.excludeFile('helpMe.txt', excludedPatternLst)) self.assertTrue(fl.excludeFile('modified_no_type', excludedPatternLst)) self.assertTrue(fl.excludeFile('transfiles.pyc', excludedPatternLst))